summaryrefslogtreecommitdiff
path: root/chimere/forms.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@peacefrogs.net>2012-10-26 18:31:24 +0200
committerÉtienne Loks <etienne.loks@peacefrogs.net>2012-10-26 18:31:24 +0200
commiteaf09063bbaaacba9b0f503e4b02cab2d66dd644 (patch)
tree4fe3916f2c6c3beec019fef38b7a46523fe2a9b7 /chimere/forms.py
parenta5d90cfbcd74648750e695c68fac6e7c4e933f45 (diff)
downloadChimère-eaf09063bbaaacba9b0f503e4b02cab2d66dd644.tar.bz2
Chimère-eaf09063bbaaacba9b0f503e4b02cab2d66dd644.zip
Forms: fix date check on marker form
* End date can't be before start date (refs #384)
Diffstat (limited to 'chimere/forms.py')
-rw-r--r--chimere/forms.py12
1 files changed, 7 insertions, 5 deletions
diff --git a/chimere/forms.py b/chimere/forms.py
index bb31ffe..fea99b1 100644
--- a/chimere/forms.py
+++ b/chimere/forms.py
@@ -176,14 +176,16 @@ class MarkerAdminFormBase(forms.ModelForm):
Verify the mandatory properties (to be check manualy because it depends
on the checked categories)
'''
- if not settings.CHIMERE_DAYS_BEFORE_EVENT:
- return self.cleaned_data
- if self.cleaned_data['end_date'] and \
- not self.cleaned_data['start_date']:
+ start_date = self.cleaned_data.get('start_date')
+ end_date = self.cleaned_data.get('end_date')
+ if end_date and not 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']
-
+ if end_date and start_date and start_date > end_date:
+ msg = _(u"End date can't be before start date")
+ self._errors["end_date"] = self.error_class([msg])
+ raise forms.ValidationError(msg)
for pm in self.pms:
if not pm.mandatory or self.cleaned_data[pm.getNamedId()]:
continue