Project for the UPV to develop an app like BlaBlaCar but only for UPV people.
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'develop'

+24 -11
+8
upvcarshare/journeys/forms.py
··· 220 220 raise forms.ValidationError(_("No puedes crear viajes que llegues antes de salir")) 221 221 return arrival 222 222 223 + def clean_free_places(self): 224 + free_places = self.cleaned_data["free_places"] 225 + transport = self.cleaned_data["transport"] 226 + if transport is not None and free_places > transport.default_places: 227 + raise forms.ValidationError(_("No puedes ofertar más plazas que las que tienes en el transporte")) 228 + return free_places 229 + 230 + 223 231 def save(self, commit=True, **kwargs): 224 232 """When save a journey form, you have to provide an user.""" 225 233 user = self.user
+1 -1
upvcarshare/journeys/models.py
··· 136 136 arrival = models.DateTimeField(verbose_name=_("fecha y hora de llegada estimada*"), null=True, blank=True) 137 137 time_window = models.PositiveIntegerField( 138 138 verbose_name=_("ventana de tiempo"), 139 - help_text=_("Se buscaran por los viajes que salgan hasta con estos minutos de antelación"), 139 + help_text=_("Se buscarán por los viajes que salgan hasta con estos minutos de antelación"), 140 140 default=DEFAULT_TIME_WINDOW, 141 141 blank=True 142 142 )
+13 -8
upvcarshare/notifications/models.py
··· 8 8 from django.core.urlresolvers import reverse 9 9 from django.db import models 10 10 from django.templatetags.l10n import localize 11 + from django.utils import timezone 11 12 from django.utils.html import strip_tags 12 13 from django.utils.safestring import mark_safe 13 14 from django.utils.six import python_2_unicode_compatible 15 + from django.utils.timezone import pytz 14 16 from django.utils.translation import ugettext_lazy as _ 15 17 from django_extensions.db.models import TimeStampedModel 16 18 ··· 60 62 """Creates the text representation of the notification.""" 61 63 value = "" 62 64 try: 65 + time_zone = pytz.timezone("Europe/Madrid") 66 + target_date = timezone.localtime(self.target.departure, time_zone) 67 + target_date = localize(target_date) 63 68 if self.verb == JOIN: 64 69 # actor is a user and target is a journey 65 70 value = _("%(user)s se ha <strong>unido</strong> al viaje <strong>%(journey)s</strong> del %(date)s") % { 66 71 "user": six.text_type(self.actor), 67 72 "journey": six.text_type(self.target).lower(), 68 - "date": localize(self.target.departure), 73 + "date": target_date, 69 74 } 70 75 elif self.verb == LEAVE: 71 76 value = _("%(user)s ha <strong>abandonado</strong> el viaje <strong>%(journey)s</strong> del %(date)s") % { 72 77 "user": six.text_type(self.actor), 73 78 "journey": six.text_type(self.target).lower(), 74 - "date": localize(self.target.departure), 79 + "date": target_date, 75 80 } 76 81 elif self.verb == THROW_OUT: 77 - value = _("%(user)s te ha <strong>expulsado</strong> el viaje <strong>%(journey)s</strong> del %(date)s") % { 82 + value = _("%(user)s te ha <strong>expulsado</strong> del viaje <strong>%(journey)s</strong> del %(date)s") % { 78 83 "user": six.text_type(self.actor), 79 84 "journey": six.text_type(self.target).lower(), 80 - "date": localize(self.target.departure), 85 + "date": target_date, 81 86 } 82 87 elif self.verb == CONFIRM: 83 88 value = _("%(user)s te ha <strong>confirmado</strong> para el viaje <strong>%(journey)s</strong> del %(date)s") % { 84 89 "user": six.text_type(self.actor), 85 90 "journey": six.text_type(self.target).lower(), 86 - "date": localize(self.target.departure), 91 + "date": target_date, 87 92 } 88 93 elif self.verb == REJECT: 89 94 value = _("%(user)s te ha <strong>rechazado</strong> para el viaje <strong>%(journey)s</strong> del %(date)s") % { 90 95 "user": six.text_type(self.actor), 91 96 "journey": six.text_type(self.target).lower(), 92 - "date": localize(self.target.departure), 97 + "date": target_date, 93 98 } 94 99 elif self.verb == CANCEL: 95 100 value = _("El viaje <strong>%(journey)s</strong> del %(date)s ha sido <strong>cancelado</strong>") % { 96 101 "journey": six.text_type(self.actor).lower(), 97 - "date": localize(self.actor.departure), 102 + "date": target_date, 98 103 } 99 104 elif self.verb == MESSAGE: 100 105 value = _("%(user)s ha mandado un <strong>nuevo mensaje</strong> en <strong>%(journey)s</strong> del %(date)s") % { 101 106 "user": six.text_type(self.actor), 102 107 "journey": six.text_type(self.target).lower(), 103 - "date": localize(self.target.departure), 108 + "date": target_date, 104 109 } 105 110 except AttributeError: 106 111 pass
+1 -1
upvcarshare/templates/journeys/create.smart.html
··· 73 73 {% endif %} 74 74 {% endfor %} 75 75 <div class="form-group"> 76 - <div class="col-sm-offset-4 col-sm-8"> 76 + <div class="offset-sm-2 col-sm-8"> 77 77 <button type="submit" class="btn btn-success">{% trans "Guardar" %}</button> 78 78 <a href="{% url "journeys:list" %}" class="btn btn-danger">{% trans "Volver" %}</a> 79 79 </div>
+1 -1
upvcarshare/templates/journeys/recommended.html
··· 40 40 {% journey_item journey %} 41 41 {% empty %} 42 42 <h3 class="text-muted">{% trans "No hemos encontrado viajes recomendados" %}</h3> 43 - <p class="lead">{% trans "Puedes crear los viajes en los que necesitas transporte para que te mostremos aquí una lista de conducotres que pueden llevarte a tu destino." %}</p> 43 + <p class="lead">{% trans "Puedes crear los viajes en los que necesitas transporte para que te mostremos aquí una lista de conductores que pueden llevarte a tu destino." %}</p> 44 44 <a href="{% url "journeys:create" %}" class="btn btn-lg btn-primary">{% trans "Crear viaje" %}</a> 45 45 {% endfor %} 46 46 </div>