fix fetmeeting event check and remove duplicated post at start page

This commit is contained in:
2020-09-05 16:31:10 +00:00
parent d4d23e7ca3
commit cbc21eafa5
3 changed files with 9 additions and 8 deletions

View File

@@ -14,22 +14,23 @@ def index(request):
t = set(t for t in get_tags(posts))
tmp = Post.articles.get_pinned_article()
if tmp:
# if a pinned post exists
featured_post = tmp[0]
else:
# set the pinned post
featured_post = Post.articles.get_pinned_article()
if not featured_post:
# if a pinned post does not exist, take the last published one.
if len(posts) >= 1:
featured_post = posts.popleft()
else:
featured_post = 0
else:
# remove the pinned post
posts.remove(featured_post)
context = {
'posts': posts,
'events': Event.all_events.get_five_events(),
'featured_post': featured_post,
'featured_meeting': deque(FetMeeting.objects.get_meetings()),
'featured_meeting': FetMeeting.objects.get_meetings(),
'tags_list': ", ".join(t)
}

View File

@@ -26,7 +26,7 @@ class ArticleManager(models.Manager):
return self.get_queryset().filter(is_hidden=False)
def get_pinned_article(self):
return self.get_visible_articles().filter(is_pinned=True)
return self.get_visible_articles().filter(is_pinned=True).first()
class NewsManager(models.Manager):

View File

@@ -240,7 +240,7 @@ class FetMeeting(Event):
def clean(self):
if self.event_start is None:
raise ValidationError(_('Das Datum des Events fehlt.'))
elif self.event_end < self.event_start:
elif (self.event_end) and (self.event_end < self.event_start):
raise ValidationError(_('Das Ende des Events liegt vor dem Beginn.'))
slug = slugify(self.event_start.date()) + "-" + slugify("Fachschaftssitzung")