cybernaut mail footer
[edumed.git] / catalogue / views.py
index 2f511ef..4f9d78c 100644 (file)
@@ -1,13 +1,35 @@
-import os.path
-from django.conf import settings
+# -*- coding: utf-8 -*-
 from django.views.generic import DetailView, ListView
-from .models import Section
 
-class SectionView(ListView):
-    model = Section
+from curriculum.models import Level
+from publishers.models import Publisher
+from .models import Lesson
+
+
+class LessonListView(ListView):
+    queryset = Level.objects.exclude(lesson=None)
+    template_name = "catalogue/lesson_list.html"
+
+    def get_context_data(self, **kwargs):
+        context = super(LessonListView, self).get_context_data(**kwargs)
+        context['appendix'] = Lesson.objects.filter(type='appendix')
+        return context
+
+
+class LessonView(DetailView):
+    model = Lesson
+
+    def get_template_names(self):
+        return [
+            'catalogue/lesson/%s/lesson_detail.html' % self.object.type,
+            'catalogue/lesson/lesson_detail.html',
+        ]
 
     def get_context_data(self, **kwargs):
-        context = super(SectionView, self).get_context_data(**kwargs)
-        context['package_url'] = os.path.join(settings.MEDIA_URL, settings.CATALOGUE_PACKAGE)
-        context['package_student_url'] = os.path.join(settings.MEDIA_URL, settings.CATALOGUE_PACKAGE_STUDENT)
+        context = super(LessonView, self).get_context_data(**kwargs)
+        try:
+            context['publisher'] = Publisher.objects.get(
+                name=context['object'].dc.get('publisher', '').strip())
+        except (Publisher.DoesNotExist, Publisher.MultipleObjectsReturned):
+            pass
         return context