url(r'^messages/', include('postman.urls')),
# Users
- url(r'^user/all/$', UsersView.as_view(), name="teleforma-users"),
- url(r'^user/by_training/(\w+)/$', UsersTrainingView.as_view(), name="teleforma-training-users"),
- url(r'^user/all/export/$', user_export.all, name="teleforma-users-xls-export"),
- url(r'^user/by_training/(?P<id>.*)/export/$', user_export.by_training, name="teleforma-training-users-export"),
+ url(r'^users/$', UsersView.as_view(), name="teleforma-users"),
+ url(r'^users/by_training/(\w+)/$', UsersTrainingView.as_view(), name="teleforma-training-users"),
+ url(r'^users/all/export/$', user_export.all, name="teleforma-users-xls-export"),
+ url(r'^users/by_training/(?P<id>.*)/export/$', user_export.by_training, name="teleforma-training-users-export"),
# CSS+Images (FIXME: for developement only)
url(r'^teleforma/css/(?P<path>.*)$', 'django.views.static.serve',
from django.core.exceptions import ObjectDoesNotExist
from django.contrib.syndication.views import Feed
from django.core.paginator import Paginator
+from django.contrib.auth.decorators import login_required
from teleforma.models import *
from telemeta.views.base import *
context['notes'] = course.notes.all().filter(author=self.request.user)
return context
+ @method_decorator(login_required)
+ def dispatch(self, *args, **kwargs):
+ return super(CourseView, self).dispatch(*args, **kwargs)
+
+
class CoursesView(ListView):
model = Course
context['notes'] = Note.objects.filter(author=self.request.user)
return context
+ @method_decorator(login_required)
+ def dispatch(self, *args, **kwargs):
+ return super(CoursesView, self).dispatch(*args, **kwargs)
+
+
class MediaView(DetailView):
model = Media
context['room'] = media.course.chat_room
return context
+ @method_decorator(login_required)
+ def dispatch(self, *args, **kwargs):
+ return super(MediaView, self).dispatch(*args, **kwargs)
+
+
class UsersView(ListView):
model = User
context['all_users'] = User.objects.all()
return context
+ @method_decorator(login_required)
+ def dispatch(self, *args, **kwargs):
+ return super(UsersView, self).dispatch(*args, **kwargs)
+
+
class UsersTrainingView(UsersView):
def get_queryset(self):
self.trainings = Training.objects.filter(id=self.args[0])
return User.objects.filter(student__training__in=self.trainings)
+ @login_required
def get_context_data(self, **kwargs):
context = super(UsersTrainingView, self).get_context_data(**kwargs)
context['training'] = Training.objects.get(id=self.args[0])
context['all_users'] = User.objects.filter(student__training__in=self.trainings).all()
return context
+ @method_decorator(login_required)
+ def dispatch(self, *args, **kwargs):
+ return super(UsersTrainingView, self).dispatch(*args, **kwargs)
+
+
class UsersXLSExport(object):
first_row = 2