event validation improved

This commit is contained in:
2021-01-01 16:05:19 +00:00
parent b9e0ca958e
commit 4626b52880

View File

@@ -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")