return HttpResponseRedirect(reverse('teleforma-login'))
-class CourseAccessMixin(View):
-
- 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)
- return context
-
-
-class CourseView(CourseAccessMixin, DetailView):
-
- model = Course
-
- def get_context_data(self, **kwargs):
- context = super(CourseView, self).get_context_data(**kwargs)
- course = self.get_object()
- courses = []
- for c in context['all_courses']:
- if c['course'] == course:
- courses = format_courses(courses, course=course, types=c['types'])
- context['courses'] = courses
- # context['notes'] = course.notes.all().filter(author=self.request.user)
- content_type = ContentType.objects.get(app_label="teleforma", model="course")
- context['room'] = get_room(name=course.title, content_type=content_type,
- id=course.id)
- context['doc_types'] = DocumentType.objects.all()
- return context
-
- @method_decorator(login_required)
- def dispatch(self, *args, **kwargs):
- return super(CourseView, self).dispatch(*args, **kwargs)
-
-
class PeriodAccessMixin(View):
period = None
return super(PeriodAccessMixin, self).render_to_response(context)
-class PeriodCourseView(PeriodAccessMixin, CourseView):
- pass
+class CourseAccessMixin(View):
+
+ 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)
+ return context
-class CoursesView(CourseAccessMixin, ListView):
+class CourseListView(PeriodAccessMixin, 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 = 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(CoursesView, self).get_context_data(**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
return context
@method_decorator(login_required)
def dispatch(self, *args, **kwargs):
- return super(CoursesView, self).dispatch(*args, **kwargs)
-
+ return super(CourseListView, self).dispatch(*args, **kwargs)
-class PeriodListView(PeriodAccessMixin, CoursesView):
- def get_queryset(self):
- self.period = None
- period = Period.objects.filter(id=int(self.kwargs['period_id']))
- if period:
- self.period = period[0]
+class CourseView(PeriodAccessMixin, CourseAccessMixin, DetailView):
- self.all_courses = get_courses(self.request.user, date_order=True, period=self.period)
- return self.all_courses[:5]
+ model = Course
def get_context_data(self, **kwargs):
- context = super(PeriodListView, self).get_context_data(**kwargs)
- context['period'] = self.period
- context['list_view'] = True
+ context = super(CourseView, self).get_context_data(**kwargs)
+ course = self.get_object()
+ courses = []
+ for c in context['all_courses']:
+ if c['course'] == course:
+ courses = format_courses(courses, course=course, types=c['types'])
+ context['courses'] = courses
+ # context['notes'] = course.notes.all().filter(author=self.request.user)
+ content_type = ContentType.objects.get(app_label="teleforma", model="course")
+ context['room'] = get_room(name=course.title, content_type=content_type,
+ id=course.id)
+ context['doc_types'] = DocumentType.objects.all()
return context
+ @method_decorator(login_required)
+ def dispatch(self, *args, **kwargs):
+ return super(CourseView, self).dispatch(*args, **kwargs)
+
class MediaView(PeriodAccessMixin, CourseAccessMixin, DetailView):