diff --git a/fet2020/posts/models.py b/fet2020/posts/models.py index b9e4945d..de55356e 100644 --- a/fet2020/posts/models.py +++ b/fet2020/posts/models.py @@ -252,6 +252,12 @@ class Post(models.Model): def url(self): return reverse("posts.show", kwargs={"id": self.slug}) + def clean(self): + if self.event_end and self.event_end < self.event_start: + raise ValidationError(_("Das Ende des Events liegt vor dem Beginn.")) + if self.event_start and self.post_type not in ['E','F']: + raise ValidationError("Für diesen Post Typ ist kein Event Start zulässig") + super().clean() def save(self, *args, **kwargs): # save the post with some defaults if not self.public_date: @@ -300,12 +306,14 @@ class Event(Post): verbose_name = "Event" verbose_name_plural = "Events" - + def __init__(self,*args,**kwargs): + super().__init__(*args,**kwargs) + self.post_type='E' def clean(self): if not self.event_start: raise ValidationError(_("Das Datum des Events fehlt.")) - if self.event_end and self.event_end < self.event_start: - raise ValidationError(_("Das Ende des Events liegt vor dem Beginn.")) + + super().clean() def save(self, *args, **kwargs): if not self.post_type: @@ -324,7 +332,9 @@ class FetMeeting(Event): verbose_name = "Fet Sitzung" verbose_name_plural = "Fet Sitzungen" - + def __init__(self,*args,**kwargs): + super().__init__(*args,**kwargs) + self.post_type='F' def __get_slug(self): slug = slugify(self.event_start.date()) + "-" + slugify("Fachschaftssitzung")