From b9b059c8bb933cdb609e0624145fa4700bf35bd4 Mon Sep 17 00:00:00 2001 From: Zambom Date: Wed, 26 Oct 2016 16:58:09 -0300 Subject: [PATCH] Adding subject categories list [Issue: #206] --- courses/templates/course/view.html | 87 +++++++++++++++++++++------------------------------------------------------------------ courses/urls.py | 5 ++++- courses/views.py | 15 ++++++++------- 3 files changed, 33 insertions(+), 74 deletions(-) diff --git a/courses/templates/course/view.html b/courses/templates/course/view.html index 1dd7a44..e69cd33 100644 --- a/courses/templates/course/view.html +++ b/courses/templates/course/view.html @@ -19,7 +19,7 @@ {% endblock %} {% block sidebar %} -
+
{% trans 'Menu' %}
@@ -33,7 +33,19 @@
- +
+
+
{% trans 'Categories' %}
+
+
+ +
+
{% endblock %} {% block content %} @@ -63,12 +75,13 @@
-

{% trans 'Course Name' %}: {{course.name}}

-

{% trans 'Coordinator' %}: {{course.professors}}

+

{% trans 'Course Name' %}: {{ course.name }}

+

{% trans 'Coordinator' %}: {% for professor in course.professors.all %}{% if not forloop.first %},{% endif %} + {{professor}}{% if forloop.last %}.{% endif %}{% endfor %}

{% trans 'Description' %}: - {{course.description}} + {{ course.objectivies }}

@@ -122,8 +135,7 @@
- {% if request.GET.category == 'all' or none or request.GET.category == '' %} - {% for subject in subjects %} + {% for subject in subjects %}
@@ -177,65 +189,8 @@
- {% endfor %} - {% else %} - {% for subject in subjects_category %} - {% if subject.category.name == request.GET.category %} -
- -
-
-

{% trans "Professor" %}: {% for professor in subject.professors.all %}{% if not forloop.first %},{% endif %} - {{professor}}{% if forloop.last %}.{% endif %}{% endfor %}

-

- {% trans "Description" %}: - - {{subject.description}} - -

-
-
-

{% trans "Begining" %}: {{subject.init_date}}

-
-
-

{% trans "End" %}: {{subject.end_date}}

-
-
-
-
-
- {% endif %} - {% endfor %} - {% endif %} + {% endfor %} + {% if user|has_role:'professor' and user in course.professors.all or user|has_role:'system_admin' %} diff --git a/courses/urls.py b/courses/urls.py index db1da06..32372c2 100644 --- a/courses/urls.py +++ b/courses/urls.py @@ -6,7 +6,10 @@ urlpatterns = [ url(r'^create/$', views.CreateCourseView.as_view(), name='create'), url(r'^replicate_course/(?P[\w_-]+)/$', views.ReplicateCourseView.as_view(), name='replicate_course'), url(r'^edit/(?P[\w_-]+)/$', views.UpdateCourseView.as_view(), name='update'), - url(r'^(?P[\w_-]+)/$', views.CourseView.as_view(), name='view'), + url(r'^(?P[\w_-]+)/', include([ + url(r'^$', views.CourseView.as_view(), name='view'), + url(r'^(?P[\w_-]+)/$', views.CourseView.as_view(), name='view_filter') + ])), url(r'^delete/(?P[\w_-]+)/$', views.DeleteCourseView.as_view(), name='delete'), url(r'^subscribe/(?P[\w_-]+)/$', views.subscribe_course, name='subscribe'), url(r'^category/(?P[\w_-]+)/$', views.FilteredView.as_view(), name='filter'), diff --git a/courses/views.py b/courses/views.py index 152135d..8474ff4 100644 --- a/courses/views.py +++ b/courses/views.py @@ -211,12 +211,19 @@ class CourseView( NotificationMixin, generic.DetailView): context = super(CourseView, self).get_context_data(**kwargs) course = get_object_or_404(Course, slug = self.kwargs.get('slug')) + category_sub = self.kwargs.get('category', None) + if has_role(self.request.user,'system_admin'): subjects = course.subjects.all() elif has_role(self.request.user,'professor'): subjects = course.subjects.filter(professors__in=[self.request.user]) elif has_role(self.request.user, 'student') or self.request.user is None: subjects = course.subjects.filter(visible=True) + + if not category_sub is None: + cat = get_object_or_404(CategorySubject, slug = category_sub) + subjects = subjects.filter(category = cat) + context['subjects'] = subjects if has_role(self.request.user,'system_admin'): @@ -238,13 +245,7 @@ class CourseView( NotificationMixin, generic.DetailView): subjects_category = Subject.objects.filter(category__name = self.request.GET.get('category')) - none = None - q = self.request.GET.get('category', None) - if q is None: - none = True - context['none'] = none - - context['subjects_category'] = subjects_category + context['category'] = category_sub context['categorys_subjects'] = categorys_subjects context['courses'] = courses context['course'] = course -- libgit2 0.21.2