From 378ff4914a8e0837f52b4d400b4de3129dc82a99 Mon Sep 17 00:00:00 2001 From: Guillaume Pellerin Date: Fri, 12 Jul 2013 00:17:25 +0200 Subject: [PATCH] optimize views against courses --- teleforma/templates/teleforma/courses.html | 2 +- teleforma/views/core.py | 18 +++++++----------- 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/teleforma/templates/teleforma/courses.html b/teleforma/templates/teleforma/courses.html index 5929204d..2c15236d 100644 --- a/teleforma/templates/teleforma/courses.html +++ b/teleforma/templates/teleforma/courses.html @@ -68,7 +68,7 @@ $(document).ready(function(){
- {% for c in object_list %} + {% for c in courses %} {% with c.course as course %} {% for type in c.types %}
diff --git a/teleforma/views/core.py b/teleforma/views/core.py index 26bcfc88..044c0b65 100644 --- a/teleforma/views/core.py +++ b/teleforma/views/core.py @@ -200,30 +200,26 @@ class PeriodAccessMixin(View): return super(PeriodAccessMixin, self).render_to_response(context) -class CourseAccessMixin(View): +class CourseAccessMixin(PeriodAccessMixin): def get_context_data(self, **kwargs): context = super(CourseAccessMixin, self).get_context_data(**kwargs) - context['all_courses'] = get_courses(self.request.user, num_order=True) + context['all_courses'] = get_courses(self.request.user, num_order=True, period=self.period) return context -class CourseListView(PeriodAccessMixin, CourseAccessMixin, ListView): +class CourseListView(CourseAccessMixin, ListView): model = Course template_name='teleforma/courses.html' - def get_queryset(self): - # courses = sorted(self.all_courses, key=lambda k: k['date_order']) - courses = get_courses(self.request.user, date_order=True, period=self.period) - return courses[:5] - def get_context_data(self, **kwargs): context = super(CourseListView, self).get_context_data(**kwargs) context['notes'] = Note.objects.filter(author=self.request.user) context['room'] = get_room(name='site') context['doc_types'] = DocumentType.objects.all() context['list_view'] = True + context['courses'] = sorted(context['all_courses'], key=lambda k: k['date'], reverse=True)[:5] return context @method_decorator(login_required) @@ -231,7 +227,7 @@ class CourseListView(PeriodAccessMixin, CourseAccessMixin, ListView): return super(CourseListView, self).dispatch(*args, **kwargs) -class CourseView(PeriodAccessMixin, CourseAccessMixin, DetailView): +class CourseView(CourseAccessMixin, DetailView): model = Course @@ -255,7 +251,7 @@ class CourseView(PeriodAccessMixin, CourseAccessMixin, DetailView): return super(CourseView, self).dispatch(*args, **kwargs) -class MediaView(PeriodAccessMixin, CourseAccessMixin, DetailView): +class MediaView(CourseAccessMixin, DetailView): model = Media template_name='teleforma/course_media.html' @@ -370,7 +366,7 @@ class DocumentView(CourseAccessMixin, DetailView): return redirect('teleforma-document-detail', document.id) -class ConferenceView(PeriodAccessMixin, CourseAccessMixin, DetailView): +class ConferenceView(CourseAccessMixin, DetailView): model = Conference template_name='teleforma/course_conference.html' -- 2.39.5