diff options
| author | Étienne Loks <etienne.loks@peacefrogs.net> | 2010-11-19 00:52:08 +0100 |
|---|---|---|
| committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2010-11-19 00:52:08 +0100 |
| commit | 005b59d77fbb07900209afacc31c0f39f4f40d0d (patch) | |
| tree | d33afe28ff3792dd96c286816bb0df852c0a0302 | |
| parent | 0cea4a3c6b265b8d68aa5104583e80b76cc9d5ec (diff) | |
| download | Chimère-005b59d77fbb07900209afacc31c0f39f4f40d0d.tar.bz2 Chimère-005b59d77fbb07900209afacc31c0f39f4f40d0d.zip | |
Verify that a start date is provided when an end date is set (refs #270)
| -rw-r--r-- | chimere/main/forms.py | 13 | ||||
| -rw-r--r-- | chimere/settings.py.example | 3 |
2 files changed, 16 insertions, 0 deletions
diff --git a/chimere/main/forms.py b/chimere/main/forms.py index c3cd810..76a2a17 100644 --- a/chimere/main/forms.py +++ b/chimere/main/forms.py @@ -116,6 +116,19 @@ required=False)' % (property.order, property.id, property.name, self.fields['start_date'].widget = AdminDateWidget() self.fields['end_date'].widget = AdminDateWidget() + def clean(self): + ''' + Verify that a start date is provided when an end date is set + ''' + if not settings.DAYS_BEFORE_EVENT: + return self.cleaned_data + if self.cleaned_data['end_date'] and \ + not self.cleaned_data['start_date']: + msg = _(u"End date has been set with no start date") + self._errors["end_date"] = self.error_class([msg]) + del self.cleaned_data['end_date'] + return self.cleaned_data + def save(self, *args, **keys): """ Custom save method in order to manage associeted properties diff --git a/chimere/settings.py.example b/chimere/settings.py.example index ebb4fc5..d59d119 100644 --- a/chimere/settings.py.example +++ b/chimere/settings.py.example @@ -33,6 +33,9 @@ DISPLAY_AREAS = True CSS_AREAS = True # number of day before an event to display # if equal to 0: disable event management +# if you change this value from 0 to a value in a production environnement +# don't forget to run the upgrade.py script to create appropriate fields in +# the database DAYS_BEFORE_EVENT = 30 # default id category to check on the map |
