diff --git a/courses/templates/course/index.html b/courses/templates/course/index.html index ad3ff00..7f8dc43 100644 --- a/courses/templates/course/index.html +++ b/courses/templates/course/index.html @@ -66,40 +66,32 @@ {% endif %}
-
-
- - - -
+
+
+
+
+ + + +
+
- {% if user|has_role:'professor, system_admin' %} -
- Todos - {% for category_course in categorys_courses_professor %} - {{category_course.name}} - {% endfor %} -
- {% else%} -
- Todos - {% for category_course in categorys_courses %} - {{category_course.name}} - {% endfor %} -
- {% endif %} +
+ Todos + {% for category_course in categorys_courses %} + {{category_course.name}} + {% endfor %} +
-{% if user|has_role:'professor, system_admin' %}
{% if courses|length > 0 %} {% if request.GET.category == 'all' or none or request.GET.category == '' %} - {% for course in courses_teacher %} - + {% for course in list_courses %}
@@ -112,12 +104,6 @@
- - -
-
@@ -148,7 +134,7 @@
{% endfor %} {% else %} - {% for course in courses_teacher %} + {% for course in courses_category %} {% if course.category.name == request.GET.category %}
@@ -221,125 +207,28 @@
-
-{% else %} - {% if courses|length > 0 %} - {% if request.GET.category == 'all' or none or request.GET.category == '' %} - {% 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 -
-
-
- {% 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 %} - -

- - - - View Course -
-
-
+ +
+ - {% else %} - {% trans 'No courses found' %} - {% endif %} -{% endif %} - +
{% endblock %} diff --git a/courses/templates/subject/form_view_teacher.html b/courses/templates/subject/form_view_teacher.html index fee901e..72f247c 100644 --- a/courses/templates/subject/form_view_teacher.html +++ b/courses/templates/subject/form_view_teacher.html @@ -15,9 +15,11 @@
- + +
-
- {% if user|has_role:'system_admin' or user in subject.professors %} + {% if user|has_role:'system_admin' or user in subject.professors %} +
- {% endif %} -
+
+ {% endif %}
diff --git a/courses/views.py b/courses/views.py index 5fce285..fd255fe 100644 --- a/courses/views.py +++ b/courses/views.py @@ -2,7 +2,7 @@ from django.shortcuts import render, get_object_or_404, redirect from django.views import generic from django.contrib import messages from django.contrib.auth.decorators import login_required -from django.core.paginator import Paginator, EmptyPage +from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger from django.contrib.auth.mixins import LoginRequiredMixin from rolepermissions.mixins import HasRoleMixin from django.core.urlresolvers import reverse_lazy @@ -26,23 +26,41 @@ class IndexView(LoginRequiredMixin, NotificationMixin, generic.ListView): queryset = Course.objects.all() template_name = 'course/index.html' context_object_name = 'courses' - paginate_by = 3 + paginate_by = 2 def get_context_data(self, **kwargs): context = super(IndexView, self).get_context_data(**kwargs) - context['categories'] = CourseCategory.objects.filter(course_category = True) - context['courses_teacher'] = Course.objects.filter(professors__name = self.request.user.name) - context['courses_student'] = Course.objects.filter(students__name = self.request.user.name) - context['categorys_courses'] = CourseCategory.objects.filter(course_category__students__name = self.request.user.name).distinct() - context['categorys_courses_professor'] = CourseCategory.objects.filter(course_category__professors__name = self.request.user.name).distinct() + list_courses = None + categorys_courses = None + if has_role(self.request.user,'professor') or has_role(self.request.user,'system_admin'): + list_courses = Course.objects.filter(professors__name = self.request.user.name) + categorys_courses = CourseCategory.objects.filter(course_category__professors__name = self.request.user.name).distinct() + else: + list_courses = Course.objects.filter(students__name = self.request.user.name) + categorys_courses = CourseCategory.objects.filter(course_category__students__name = self.request.user.name).distinct() + courses_category = Course.objects.filter(category__name = self.request.GET.get('category')) - context['courses_category'] = courses_category + none = None q = self.request.GET.get('category', None) if q is None: none = True context['none'] = none + paginator = Paginator(list_courses, self.paginate_by) + page = self.request.GET.get('page') + + try: + list_courses = paginator.page(page) + except PageNotAnInteger: + list_courses = paginator.page(1) + except EmptyPage: + list_courses = paginator.page(paginator.num_pages) + + context['courses_category'] = courses_category + context['list_courses'] = list_courses + context['categorys_courses'] = categorys_courses + return context class CreateCourseView(LoginRequiredMixin, HasRoleMixin, NotificationMixin,generic.edit.CreateView): -- libgit2 0.21.2