update meeting show at home (shows last and next one), update clean function of meeting

This commit is contained in:
2020-09-03 13:58:39 +00:00
parent 05aa3ddf5d
commit 992ddcced1
6 changed files with 54 additions and 26 deletions

View File

@@ -76,6 +76,24 @@ class FetMeetingManager(models.Manager):
def get_queryset(self):
return super().get_queryset().filter(Q(post_type='F'))
def _get_last_meeting(self):
date_today = timezone.now()
return self.get_queryset().filter(
Q(event_start__lt=date_today)
).order_by('-event_start').first()
def _get_next_meeting(self):
date_today = timezone.now()
return self.get_queryset().filter(
Q(event_start__gt=date_today)
).order_by('event_start').first()
def get_meetings(self):
meetings = []
meetings.append(self._get_next_meeting())
meetings.append(self._get_last_meeting())
return meetings
##########
# MODELS #
@@ -297,8 +315,9 @@ class FetMeeting(Event):
slug = slugify(self.event_start.date()) + "-" + slugify("Fachschaftssitzung")
if Post.objects.filter(slug=slug).count() != 0:
raise ValidationError(_('Es existiert bereits eine Sitzung mit demselben Datum.'))
if Post.objects.filter(slug=slug).exists():
if Post.objects.get(slug=slug).id != self.id:
raise ValidationError(_('Es existiert bereits eine Sitzung mit demselben Datum.'))
def save(self, *args, **kwargs):
self.title = "Fachschaftssitzung"