From d4bdd3db732cded62dfe3e229415c24071f63d86 Mon Sep 17 00:00:00 2001 From: Yoan Le Clanche Date: Mon, 29 Nov 2021 12:42:00 +0100 Subject: [PATCH] Fix https://trackers.pilotsystems.net/prebarreau/0301#i4 --- teleforma/views/core.py | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/teleforma/views/core.py b/teleforma/views/core.py index ec6982f8..6b3400e9 100644 --- a/teleforma/views/core.py +++ b/teleforma/views/core.py @@ -341,16 +341,24 @@ class CourseListView(CourseAccessMixin, ListView): courses = [course['course'] for course in context['all_courses']] # get last published media / document - last_published = sorted([ - Media.objects.filter(period=self.period, is_published=True, course__in=courses).order_by("-date_added")[0], - Document.objects.filter(periods=self.period, is_published=True, course__in=courses).order_by("-date_added")[0], - ], key=lambda k: k.date_added, reverse=True)[0] - - # get course with the latest published media / document - for course in context['all_courses']: - if course['course'].id == last_published.course.id: - break - context['courses'] = [course] + last_published = [] + last_media = Media.objects.filter(period=self.period, is_published=True, course__in=courses).order_by("-date_added").first() + if last_media: + last_published.append(last_media) + last_document = Document.objects.filter(periods=self.period, is_published=True, course__in=courses).order_by("-date_added").first() + if last_document: + last_published.append(last_document) + if last_published: + last_published = sorted(last_published, key=lambda k: k.date_added, reverse=True)[0] + # get course with the latest published media / document + for course in context['all_courses']: + if course['course'].id == last_published.course.id: + break + context['courses'] = [course] + else: + # get course with the latest "date" + context['courses'] = sorted( + context['all_courses'], key=lambda k: k['date'], reverse=True)[:1] user = self.request.user is_student = user.student.all().count() -- 2.39.5