From: yomguy Date: Fri, 27 Apr 2012 23:25:02 +0000 (+0200) Subject: add context exports, fix various User queries X-Git-Tag: 0.4~14 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=9eb9886709ba5c9e3c10aebef5268268a27bd7fa;p=teleforma.git add context exports, fix various User queries --- diff --git a/teleforma/templates/telemeta/users.html b/teleforma/templates/telemeta/users.html index f07710a8..fc0e9f6e 100644 --- a/teleforma/templates/telemeta/users.html +++ b/teleforma/templates/telemeta/users.html @@ -63,7 +63,7 @@ {% if user.is_staff %}
-XLS Export +XLS Export
{% endif %} diff --git a/teleforma/urls.py b/teleforma/urls.py index 0b9c9b18..9b2c3f14 100644 --- a/teleforma/urls.py +++ b/teleforma/urls.py @@ -61,12 +61,18 @@ urlpatterns = patterns('', # Users url(r'^users/$', UsersView.as_view(), name="teleforma-users"), + url(r'^users/(?P.*)/login/$', UserLoginView.as_view(), name="teleforma-user-login"), + url(r'^users/all/export/$', user_export.all, name="teleforma-users-xls-export"), + url(r'^users/by_training/(\w+)/$', UsersTrainingView.as_view(), name="teleforma-training-users"), + url(r'^users/by_training/(?P.*)/export/$', user_export.by_training, name="teleforma-training-users-export"), + url(r'^users/by_iej/(\w+)/$', UsersIejView.as_view(), name="teleforma-iej-users"), + url(r'^users/by_iej/(?P.*)/export/$', user_export.by_iej, name="teleforma-iej-users-export"), + url(r'^users/by_course/(\w+)/$', UsersCourseView.as_view(), name="teleforma-course-users"), - url(r'^users/all/export/$', user_export.all, name="teleforma-users-xls-export"), - url(r'^users/by_training/(?P.*)/export/$', user_export.by_training, name="teleforma-training-users-export"), - url(r'^users/(?P.*)/login/$', UserLoginView.as_view(), name="teleforma-user-login"), + url(r'^users/by_course/(?P.*)/export/$', user_export.by_course, name="teleforma-course-users-export"), + # CSS+Images (FIXME: for developement only) url(r'^teleforma/css/(?P.*)$', 'django.views.static.serve', diff --git a/teleforma/views.py b/teleforma/views.py index f1e156ad..dc2ff914 100755 --- a/teleforma/views.py +++ b/teleforma/views.py @@ -329,6 +329,7 @@ class UsersXLSExport(object): @method_decorator(permission_required('is_superuser')) def export(self, request): + self.users = self.users.order_by('last_name') self.book = Workbook() self.sheet = self.book.add_sheet('Etudiants') row = self.sheet.row(0) @@ -362,6 +363,18 @@ class UsersXLSExport(object): @method_decorator(permission_required('is_superuser')) def by_training(self, request, id): - trainings = Training.objects.filter(id=id) - self.users = User.objects.all().select_related(depth=2).filter(student__training__in=trainings) + training = Training.objects.filter(id=id) + self.users = User.objects.filter(student__training__in=training) + return self.export(request) + + @method_decorator(permission_required('is_superuser')) + def by_iej(self, request, id): + iej = IEJ.objects.filter(id=id) + self.users = User.objects.filter(student__iej__in=iej) + return self.export(request) + + @method_decorator(permission_required('is_superuser')) + def by_course(self, request, id): + course = Course.objects.filter(id=id) + self.users = User.objects.filter(student__training__courses__in=course) return self.export(request)