From 3201afe64fddfaaf8f2be64cd3624a35f075290d Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Wed, 21 Oct 2015 16:39:28 +0200 Subject: [PATCH] Added some validation to the Event model --- src/pretix/base/models/event.py | 8 ++++++++ src/pretix/base/models/items.py | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/pretix/base/models/event.py b/src/pretix/base/models/event.py index d95330b05e..aac6748620 100644 --- a/src/pretix/base/models/event.py +++ b/src/pretix/base/models/event.py @@ -2,6 +2,7 @@ import uuid from datetime import datetime from django.conf import settings +from django.core.exceptions import ValidationError from django.core.validators import RegexValidator from django.db import models from django.template.defaultfilters import date as _date @@ -101,6 +102,13 @@ class Event(Versionable): self.get_cache().clear() return obj + def clean(self): + if self.presale_start and self.presale_end and self.presale_start > self.presale_end: + raise ValidationError({'presale_end': _('The end of the presale period has to be later than it\'s start.')}) + if self.date_from and self.date_to and self.date_from > self.date_to: + raise ValidationError({'date_to': _('The end of the event has to be later than it\'s start.')}) + super().clean() + def get_plugins(self) -> "list[str]": """ Get the names of the plugins activated for this event as a list. diff --git a/src/pretix/base/models/items.py b/src/pretix/base/models/items.py index 1c73308940..0eeabbecd4 100644 --- a/src/pretix/base/models/items.py +++ b/src/pretix/base/models/items.py @@ -1,5 +1,5 @@ -from itertools import product import sys +from itertools import product from django.db import models from django.db.models import Q, Case, Count, Sum, When