From 82f3a3e4ef877c5f397adbe3c855105891cdae2e Mon Sep 17 00:00:00 2001 From: Matheus Lins Date: Sat, 8 Oct 2016 03:05:36 -0300 Subject: [PATCH] filter courses for category --- courses/models.py | 2 +- courses/templates/course/index.html | 160 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------- courses/views.py | 8 ++++++++ 3 files changed, 122 insertions(+), 48 deletions(-) diff --git a/courses/models.py b/courses/models.py index 096b0e4..a3ab8dd 100644 --- a/courses/models.py +++ b/courses/models.py @@ -31,7 +31,7 @@ class Course(models.Model): init_date = models.DateField(_('Begin of Course Date')) end_date = models.DateField(_('End of Course Date')) image = models.ImageField(verbose_name = _('Image'), blank = True, upload_to = 'courses/') - category = models.ForeignKey(CourseCategory, verbose_name = _('Category')) + category = models.ForeignKey(CourseCategory, verbose_name = _('Category'), related_name='course_category') professors = models.ManyToManyField(User,verbose_name=_('Professors'), related_name='courses_professors') students = models.ManyToManyField(User,verbose_name=_('Students'), related_name='courses_student') diff --git a/courses/templates/course/index.html b/courses/templates/course/index.html index c06fa8e..3c37e76 100644 --- a/courses/templates/course/index.html +++ b/courses/templates/course/index.html @@ -63,6 +63,20 @@ +
+ {% if user|has_role:'professor, system_admin' %} + {% else%} + +
+ Todos + {% for category_course in categorys_courses %} + {{category_course.name}} + {% endfor %} +
+ {% endif %} +
+ + {% if user|has_role:'professor, system_admin' %}
{% if courses|length > 0 %} @@ -141,55 +155,107 @@
{% else %} {% if courses|length > 0 %} - {% for course in courses_student %} -
-
- -
-
-
-

{{course.name}}

-
-
- {{ course.category }} - {{ course.max_students }} {% trans 'students tops' %} -
+ {% if request.GET.category == 'all' or none %} + {% for course in courses_student %} +
+
+ +
+
+
+

{{course.name}}

+
+
+ {{ course.category }} + {{ course.max_students }} {% trans 'students tops' %} +
+
+
+
+

Course Name: {{ course.name }}

+

Duration (in semesters): 09

+

Coordinator: {{course.professors}}

+

+ Description: + + {% if couse.description %} + {{course.description|linebreaks}} + {% else %} + {% trans 'No description' %} + {% endif %} + +

+ + + + View Course
-
-
-

Course Name: {{ course.name }}

-

Duration (in semesters): 09

-

Coordinator: {{course.professors}}

-

- Description: - - {% if couse.description %} - {{course.description|linebreaks}} - {% else %} - {% trans 'No description' %} - {% endif %} - -

- - - - View Course -
-
-
+
+
+ {% endfor %} + {% else %} + {% for course in courses_student %} + {% if course.category.name == request.GET.category %} +
+
+ +
+
+
+

{{course.name}}

+
+
+ {{ course.category }} + {{ course.max_students }} {% trans 'students tops' %} +
+
+
+
+

Course Name: {{ course.name }}

+

Duration (in semesters): 09

+

Coordinator: {{course.professors}}

+

+ Description: + + {% if couse.description %} + {{course.description|linebreaks}} + {% else %} + {% trans 'No description' %} + {% endif %} + +

+ + - {% endfor %} + View Course +
+
+
+ {% endif %} + {% endfor %} + {% endif %}