mirror of
https://github.com/nottinghamtec/PyRIGS.git
synced 2026-01-17 05:22:16 +00:00
Added start/end date validation for events
This commit is contained in:
@@ -10,6 +10,7 @@ import reversion
|
|||||||
import string
|
import string
|
||||||
import random
|
import random
|
||||||
from django.core.urlresolvers import reverse_lazy
|
from django.core.urlresolvers import reverse_lazy
|
||||||
|
from django.core.exceptions import ValidationError
|
||||||
|
|
||||||
from decimal import Decimal
|
from decimal import Decimal
|
||||||
|
|
||||||
@@ -348,6 +349,20 @@ class Event(models.Model, RevisionMixin):
|
|||||||
def __str__(self):
|
def __str__(self):
|
||||||
return str(self.pk) + ": " + self.name
|
return str(self.pk) + ": " + self.name
|
||||||
|
|
||||||
|
def clean(self):
|
||||||
|
if self.end_date and self.start_date > self.end_date:
|
||||||
|
raise ValidationError('Unless you\'ve invented time travel, the event can\'t finish before it has started.')
|
||||||
|
|
||||||
|
startEndSameDay = not self.end_date or self.end_date == self.start_date
|
||||||
|
hasStartAndEnd = self.has_start_time and self.has_end_time
|
||||||
|
if startEndSameDay and hasStartAndEnd and self.start_time > self.end_time:
|
||||||
|
raise ValidationError('Unless you\'ve invented time travel, the event can\'t finish before it has started.')
|
||||||
|
|
||||||
|
def save(self, *args, **kwargs):
|
||||||
|
"""Call :meth:`full_clean` before saving."""
|
||||||
|
self.full_clean()
|
||||||
|
super(Event, self).save(*args, **kwargs)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
permissions = (
|
permissions = (
|
||||||
('view_event', 'Can view Events'),
|
('view_event', 'Can view Events'),
|
||||||
|
|||||||
Reference in New Issue
Block a user