From: Yoan Le Clanche Date: Mon, 22 Nov 2021 10:31:06 +0000 (+0100) Subject: On the homepage, now display last course of the current period instead of last course... X-Git-Tag: 2.5.0~8^2~1 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=03ed8c45f5cb61bd37e6f7098366007893721c24;p=teleforma.git On the homepage, now display last course of the current period instead of last course of all periods : https://trackers.pilotsystems.net/prebarreau/0301 --- diff --git a/teleforma/views/core.py b/teleforma/views/core.py index 518d9f3b..ec6982f8 100644 --- a/teleforma/views/core.py +++ b/teleforma/views/core.py @@ -337,8 +337,21 @@ class CourseListView(CourseAccessMixin, ListView): def get_context_data(self, **kwargs): context = super(CourseListView, self).get_context_data(**kwargs) context['list_view'] = True - context['courses'] = sorted( - context['all_courses'], key=lambda k: k['date'], reverse=True)[:1] + + 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] + user = self.request.user is_student = user.student.all().count() # appointments_open = False