diff options
Diffstat (limited to 'chimere/forms.py')
| -rw-r--r-- | chimere/forms.py | 18 | 
1 files changed, 17 insertions, 1 deletions
| diff --git a/chimere/forms.py b/chimere/forms.py index d877a22..f49a903 100644 --- a/chimere/forms.py +++ b/chimere/forms.py @@ -35,7 +35,7 @@ from chimere.models import Marker, Route, PropertyModel, Property, Area,\       News, Category, SubCategory, RouteFile, MultimediaFile, MultimediaType, \       PictureFile, Importer  from chimere.widgets import AreaField, PointField, TextareaWidget, \ -                            DatePickerWidget +                            DatePickerWidget, ButtonSelectWidget, NominatimWidget  from datetime import timedelta, datetime, tzinfo @@ -454,3 +454,19 @@ class AreaForm(AreaAdminForm):      class Meta:          model = Area +class RoutingForm(forms.Form): +    transport = forms.ChoiceField(label='', widget=ButtonSelectWidget, +                               choices=settings.CHIMERE_ROUTING_TRANSPORT, +                               initial=settings.CHIMERE_ROUTING_TRANSPORT[0][0]) +    start = forms.CharField(label=_(u"Start"), widget=NominatimWidget) +    end = forms.CharField(label=_(u"Finish"), widget=NominatimWidget) +    speed = forms.ChoiceField(label=_(u"Speed"), choices=[], required=False) + +    def __init__(self, *args, **kwargs): +        super(RoutingForm, self).__init__(*args, **kwargs) +        if not settings.CHIMERE_ROUTING_SPEEDS: +            self.fields.pop('speed') +        for transport in settings.CHIMERE_ROUTING_SPEEDS: +            for speed, lbl in settings.CHIMERE_ROUTING_SPEEDS[transport]: +                self.fields['speed'].widget.choices.append( +                                ("%s_%d" % (transport, speed), lbl)) | 
