event validation improved
This commit is contained in:
@@ -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")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user