]> git.parisson.com Git - teleforma.git/commitdiff
optimize views against courses
authorGuillaume Pellerin <yomguy@parisson.com>
Thu, 11 Jul 2013 22:17:25 +0000 (00:17 +0200)
committerGuillaume Pellerin <yomguy@parisson.com>
Thu, 11 Jul 2013 22:17:25 +0000 (00:17 +0200)
teleforma/templates/teleforma/courses.html
teleforma/views/core.py

index 5929204d5f77baee5325de20f66477e8fe81c4b7..2c15236d9e5d7de2e5617238ab3debabd624b2b1 100644 (file)
@@ -68,7 +68,7 @@ $(document).ready(function(){
 
 <div class="desk_center">
 
-    {% for c in object_list %}
+    {% for c in courses %}
      {% with c.course as course %}
       {% for type in c.types %}
       <div class="course">
index 26bcfc880daa471055545a43d096f4907bd17a81..044c0b6553ebdb7848c2f307b4d68494e84e7371 100644 (file)
@@ -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'