<h3><img src="{% url telemeta-images "module_playlist.png" %}" alt="playlists" style="vertical-align:middle" />{% trans "Trainings" %}</h3>
<div style="background: white;">
<ul>
-{% block courses %}
+{% block trainings %}
{% for training in trainings %}
<li><a href="{% url teleforma-training-users training.id %}">{{ training.code|lower|capfirst }}</a></li>
{% endfor %}
-{% endblock courses %}
+{% endblock trainings %}
</ul>
</div>
</div>
</div>
</div>
+<div class="module">
+<h3><img src="{% url telemeta-images "module_playlist.png" %}" alt="playlists" style="vertical-align:middle" />{% trans "Courses" %}</h3>
+<div style="background: white;">
+<ul>
+{% block courses %}
+{% for course in courses %}
+<li><a href="{% url teleforma-course-users course.id %}">{{ course }}</a></li>
+{% endfor %}
+{% endblock courses %}
+</ul>
+</div>
+</div>
{% if all_users %}
<div class="module_action">
</div>
{% endif %}
-<div class="course_title">{% trans "Users" %}{% if training %} - {{ training }}{% elif iej %} - {{ iej }}{% endif %}</div>
+<div class="course_title">{% trans "Users" %}{% if training %} - {{ training }}{% elif iej %} - {{ iej }}{% elif course %} - {{ course }}{% endif %}</div>
<br />
{% if users %}
{% include "telemeta/inc/user_list.html" %}
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/by_iej/(\w+)/$', UsersIejView.as_view(), name="teleforma-iej-users"),
+ 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<id>.*)/export/$', user_export.by_training, name="teleforma-training-users-export"),
url(r'^users/(?P<id>.*)/login/$', UserLoginView.as_view(), name="teleforma-user-login"),
context['trainings'] = Training.objects.all()
context['all_users'] = User.objects.all()
context['iejs'] = IEJ.objects.all()
+ context['courses'] = Course.objects.all()
paginator = NamePaginator(self.object_list, on="last_name", per_page=12)
try:
page = int(self.request.GET.get('page', '1'))
def dispatch(self, *args, **kwargs):
return super(UsersIejView, self).dispatch(*args, **kwargs)
+class UsersCourseView(UsersView):
+
+ def get_queryset(self):
+ self.course = Course.objects.filter(id=self.args[0])
+ return User.objects.filter(student__training__courses__in=self.course)
+
+ def get_context_data(self, **kwargs):
+ context = super(UsersCourseView, self).get_context_data(**kwargs)
+ context['course'] = Course.objects.get(id=self.args[0])
+ context['all_users'] = User.objects.filter(student__training__courses__in=self.course).all()
+ return context
+
+ @method_decorator(login_required)
+ def dispatch(self, *args, **kwargs):
+ return super(UsersCourseView, self).dispatch(*args, **kwargs)
class UsersXLSExport(object):