summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--chimere/main/forms.py13
-rw-r--r--chimere/settings.py.example3
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