event validation improved
This commit is contained in:
@@ -252,6 +252,12 @@ class Post(models.Model):
|
|||||||
def url(self):
|
def url(self):
|
||||||
return reverse("posts.show", kwargs={"id": self.slug})
|
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):
|
def save(self, *args, **kwargs):
|
||||||
# save the post with some defaults
|
# save the post with some defaults
|
||||||
if not self.public_date:
|
if not self.public_date:
|
||||||
@@ -300,12 +306,14 @@ class Event(Post):
|
|||||||
|
|
||||||
verbose_name = "Event"
|
verbose_name = "Event"
|
||||||
verbose_name_plural = "Events"
|
verbose_name_plural = "Events"
|
||||||
|
def __init__(self,*args,**kwargs):
|
||||||
|
super().__init__(*args,**kwargs)
|
||||||
|
self.post_type='E'
|
||||||
def clean(self):
|
def clean(self):
|
||||||
if not self.event_start:
|
if not self.event_start:
|
||||||
raise ValidationError(_("Das Datum des Events fehlt."))
|
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()
|
super().clean()
|
||||||
def save(self, *args, **kwargs):
|
def save(self, *args, **kwargs):
|
||||||
if not self.post_type:
|
if not self.post_type:
|
||||||
@@ -324,7 +332,9 @@ class FetMeeting(Event):
|
|||||||
|
|
||||||
verbose_name = "Fet Sitzung"
|
verbose_name = "Fet Sitzung"
|
||||||
verbose_name_plural = "Fet Sitzungen"
|
verbose_name_plural = "Fet Sitzungen"
|
||||||
|
def __init__(self,*args,**kwargs):
|
||||||
|
super().__init__(*args,**kwargs)
|
||||||
|
self.post_type='F'
|
||||||
def __get_slug(self):
|
def __get_slug(self):
|
||||||
slug = slugify(self.event_start.date()) + "-" + slugify("Fachschaftssitzung")
|
slug = slugify(self.event_start.date()) + "-" + slugify("Fachschaftssitzung")
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user