From 9e15e5dc8448e242bb21a253a505b67be7361276 Mon Sep 17 00:00:00 2001 From: fbormann Date: Thu, 17 Nov 2016 01:11:58 -0300 Subject: [PATCH] Revert "just fixed some major UI issues" --- courses/context_processors.py | 5 +---- courses/permissions.py | 8 ++++---- courses/templates/course/course_card.html | 13 ++++++++++--- courses/templates/course/index.html | 6 +++--- courses/templates/course/view.html | 12 ++++++++++-- courses/templatetags/course_value_field.py | 16 ++++++++++++++++ courses/templatetags/custom_filters.py | 7 ++++--- courses/views.py | 24 ++++++++++++++++-------- 8 files changed, 64 insertions(+), 27 deletions(-) diff --git a/courses/context_processors.py b/courses/context_processors.py index 7bed295..aaa3fb3 100644 --- a/courses/context_processors.py +++ b/courses/context_processors.py @@ -8,9 +8,6 @@ def courses(request): if request.user.is_staff: context['courses_list'] = Course.objects.all() else: - #context['courses_list'] = - context['courses_list'] = Course.objects.all() - - #context['courses_list'] = Course.objects.filter(professors__in = [request.user]) + context['courses_list'] = Course.objects.filter(professors__in = [request.user]) return context return context diff --git a/courses/permissions.py b/courses/permissions.py index 6eaa52f..b210491 100644 --- a/courses/permissions.py +++ b/courses/permissions.py @@ -6,10 +6,10 @@ def view_topic(role, user, topic): if (role == SystemAdmin): return True - if user in topic.subject.professors.all(): + if (user in topic.subject.course.professors.all() and user in topic.subject.professors.all()): return True - if user in topic.subject.students.all(): + if (user in topic.subject.course.students.all() and user in topic.subject.students.all()): return True return False @@ -29,10 +29,10 @@ def view_subject(role, user, subject): if (role == SystemAdmin): return True - if user in subject.professors.all(): + if (user in subject.course.professors.all() and user in subject.professors.all()): return True - if user in subject.students.all(): + if (user in subject.course.students.all() and user in subject.students.all()): return True return False diff --git a/courses/templates/course/course_card.html b/courses/templates/course/course_card.html index 5073786..6ca659e 100644 --- a/courses/templates/course/course_card.html +++ b/courses/templates/course/course_card.html @@ -35,14 +35,21 @@

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

{% trans 'Coordenator' %}: {{course.coordenator}}

- +

{% trans 'Professor' %}: {{course.professors.all.0}}

{% trans 'Description' %}: - {{course.description | safe }} + {{course.content | safe }}

- +
+
+

{% trans 'Init register' %}: {{course.init_register_date}}

+
+
+

{% trans 'End register' %}: {{course.end_register_date}}

+
+
diff --git a/courses/templates/course/index.html b/courses/templates/course/index.html index fa04630..5b30bb9 100644 --- a/courses/templates/course/index.html +++ b/courses/templates/course/index.html @@ -52,9 +52,9 @@
{% for course in category.course_category %} - - {% include "course/course_card.html" %} - + {# {% if user in course.students.all or user in course.professors.all or user|has_role:'system_admin' %}#} + {% include "course/course_card.html" %} + {# {% endif %}#} {% endfor %}
diff --git a/courses/templates/course/view.html b/courses/templates/course/view.html index 96fb879..188a0e1 100644 --- a/courses/templates/course/view.html +++ b/courses/templates/course/view.html @@ -48,13 +48,21 @@

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

+

{% trans 'Teacher' %}: {{course.professors.all.0}}

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

- +
+
+

{% trans 'Begin of Course Date' %}: {{course.init_date}}

+
+
+

{% trans 'End of Course Date' %}: {{course.end_date}}

+
+
diff --git a/courses/templatetags/course_value_field.py b/courses/templatetags/course_value_field.py index 80ad8f8..e7941c3 100644 --- a/courses/templatetags/course_value_field.py +++ b/courses/templatetags/course_value_field.py @@ -11,12 +11,28 @@ def value_field(course, field): value = "" if field == 'name': value = course.name + elif field == 'objectivies': + value = course.objectivies elif field == 'content': value = course.content + elif field == 'max_students': + value = course.max_students + elif field == 'init_register_date': + value = course.init_register_date + elif field == 'end_register_date': + value = course.end_register_date + elif field == 'init_date': + value = course.init_date + elif field == 'end_date': + value = course.end_date elif field == 'coordenator': value = course.coordenator elif field == 'category': value = course.category + elif field == 'professors': + value = course.professors.all() + elif field == 'students': + value = course.students.all() elif field == 'public': value = course.public diff --git a/courses/templatetags/custom_filters.py b/courses/templatetags/custom_filters.py index d3d7e2a..96c84e8 100644 --- a/courses/templatetags/custom_filters.py +++ b/courses/templatetags/custom_filters.py @@ -8,8 +8,9 @@ def hide_subscribe_view_btn(user, subject): if not user is None: if user.is_authenticated: if has_role(user, 'student') and not user.is_staff: - if user in subject.students.all(): - return True + if user in subject.course.students.all(): + if not user in subject.students.all(): + return True else: return True @@ -20,7 +21,7 @@ def show_subject_subscribe(user, subject): if not user is None: if user.is_authenticated: if has_role(user, 'student') and not user.is_staff: - if not user in subject.students.all() and subject.show_subscribe: + if not user in subject.students.all() and user in subject.course.students.all() and subject.show_subscribe: return True return False diff --git a/courses/views.py b/courses/views.py index 3291fe6..655fdb9 100644 --- a/courses/views.py +++ b/courses/views.py @@ -91,9 +91,13 @@ class IndexView(LoginRequiredMixin, NotificationMixin, generic.ListView): list_courses = None if has_role(self.request.user,'system_admin'): list_courses = self.get_queryset().order_by('name') - else: - list_courses = self.get_queryset().all() - + # categorys_courses = CourseCategory.objects.all() + elif has_role(self.request.user,'professor'): + list_courses = self.get_queryset().filter(professors__in = [self.request.user]) + # categorys_courses = CourseCategory.objects.filter(course_category__professors__name = self.request.user.name).distinct() + elif has_role(self.request.user, 'student'): + list_courses = self.get_queryset().filter(students__in = [self.request.user]) + context['categorys_courses'] = course_category(list_courses) return context @@ -357,6 +361,10 @@ class CourseView(LogMixin, NotificationMixin, generic.DetailView): if has_role(self.request.user,'system_admin'): courses = Course.objects.all() + elif has_role(self.request.user,'professor'): + courses = self.request.user.courses_professors.all() + elif has_role(self.request.user, 'student'): + courses = self.request.user.courses_student.all() else: courses = Course.objects.filter(public = True) @@ -672,7 +680,7 @@ class CreateTopicView(LoginRequiredMixin, HasRoleMixin, LogMixin, NotificationMi action = super(CreateTopicView, self).createorRetrieveAction("create Topic") super(CreateTopicView, self).createNotification("Topic "+ self.object.name + " was created", resource_name=self.object.name, resource_link= reverse('course:view_topic',args=[self.object.slug]), - actor=self.request.user, users = self.object.subject.students.all() ) + actor=self.request.user, users = self.object.subject.course.students.all() ) self.log_context['topic_id'] = self.object.id self.log_context['topic_name'] = self.object.name @@ -776,7 +784,7 @@ class CreateSubjectView(LoginRequiredMixin, HasRoleMixin, LogMixin, Notification self.object.professors.add(self.request.user) if self.object.visible: super(CreateSubjectView, self).createNotification( " created subject " + self.object.name, resource_name=self.object.name, - resource_slug = self.object.slug, actor=self.request.user, + resource_slug = self.object.slug, actor=self.request.user, users= self.object.course.students.all(), resource_link = reverse('course:view_subject', args=[self.object.slug])) self.log_context['subject_id'] = self.object.id @@ -889,7 +897,7 @@ class DeleteSubjectView(LoginRequiredMixin, HasRoleMixin, LogMixin, generic.Dele def subscribe_subject(request, slug): subject = get_object_or_404(Subject, slug = slug) - if request.user not in subject.students.all(): + if request.user in subject.course.students.all(): subject.students.add(request.user) if request.user in subject.students.all(): @@ -1016,7 +1024,7 @@ class ReplicateTopicView (LoginRequiredMixin, HasRoleMixin, LogMixin, Notificati action = super(ReplicateTopicView, self).createorRetrieveAction("create Topic") super(ReplicateTopicView, self).createNotification("Topic "+ self.object.name + " was created", resource_name=self.object.name, resource_link= reverse('course:view_topic',args=[self.object.slug]), - actor=self.request.user, users = self.object.subject.students.all() ) + actor=self.request.user, users = self.object.subject.course.students.all() ) self.log_context['topic_id'] = self.object.id self.log_context['topic_name'] = self.object.name @@ -1070,7 +1078,7 @@ class ReplicateSubjectView(LoginRequiredMixin, HasRoleMixin, LogMixin, Notificat self.object.professors.add(self.request.user) if self.object.visible: super(ReplicateSubjectView, self).createNotification( " created subject " + self.object.name, resource_name=self.object.name, - resource_slug = self.object.slug, actor=self.request.user, users= self.object.students.all(), + resource_slug = self.object.slug, actor=self.request.user, users= self.object.course.students.all(), resource_link = reverse('course:view_subject', args=[self.object.slug])) self.log_context['subject_id'] = self.object.id -- libgit2 0.21.2