Commit 9e15e5dc8448e242bb21a253a505b67be7361276
1 parent
6d39e7c5
Exists in
master
and in
5 other branches
Revert "just fixed some major UI issues"
This reverts commit a260d811e7b2cbdc2830810fc42f4f4f4a81ef27.
Showing
8 changed files
with
64 additions
and
27 deletions
Show diff stats
courses/context_processors.py
... | ... | @@ -8,9 +8,6 @@ def courses(request): |
8 | 8 | if request.user.is_staff: |
9 | 9 | context['courses_list'] = Course.objects.all() |
10 | 10 | else: |
11 | - #context['courses_list'] = | |
12 | - context['courses_list'] = Course.objects.all() | |
13 | - | |
14 | - #context['courses_list'] = Course.objects.filter(professors__in = [request.user]) | |
11 | + context['courses_list'] = Course.objects.filter(professors__in = [request.user]) | |
15 | 12 | return context |
16 | 13 | return context | ... | ... |
courses/permissions.py
... | ... | @@ -6,10 +6,10 @@ def view_topic(role, user, topic): |
6 | 6 | if (role == SystemAdmin): |
7 | 7 | return True |
8 | 8 | |
9 | - if user in topic.subject.professors.all(): | |
9 | + if (user in topic.subject.course.professors.all() and user in topic.subject.professors.all()): | |
10 | 10 | return True |
11 | 11 | |
12 | - if user in topic.subject.students.all(): | |
12 | + if (user in topic.subject.course.students.all() and user in topic.subject.students.all()): | |
13 | 13 | return True |
14 | 14 | |
15 | 15 | return False |
... | ... | @@ -29,10 +29,10 @@ def view_subject(role, user, subject): |
29 | 29 | if (role == SystemAdmin): |
30 | 30 | return True |
31 | 31 | |
32 | - if user in subject.professors.all(): | |
32 | + if (user in subject.course.professors.all() and user in subject.professors.all()): | |
33 | 33 | return True |
34 | 34 | |
35 | - if user in subject.students.all(): | |
35 | + if (user in subject.course.students.all() and user in subject.students.all()): | |
36 | 36 | return True |
37 | 37 | |
38 | 38 | return False | ... | ... |
courses/templates/course/course_card.html
... | ... | @@ -35,14 +35,21 @@ |
35 | 35 | <div class="panel-body"> |
36 | 36 | <p><b>{% trans 'Course Name' %}: </b>{{course.name}}</p> |
37 | 37 | <p><b>{% trans 'Coordenator' %}: </b>{{course.coordenator}}</p> |
38 | - | |
38 | + <p><b>{% trans 'Professor' %}: </b>{{course.professors.all.0}}</p> | |
39 | 39 | <p> |
40 | 40 | <b>{% trans 'Description' %}:</b> |
41 | 41 | <i> |
42 | - {{course.description | safe }} | |
42 | + {{course.content | safe }} | |
43 | 43 | </i> |
44 | 44 | </p> |
45 | - | |
45 | + <div class="row"> | |
46 | + <div class="col-xs-6 col-md-6 data_register_course"> | |
47 | + <p><b>{% trans 'Init register' %}: </b>{{course.init_register_date}}</p> | |
48 | + </div> | |
49 | + <div class="col-xs-6 col-md-6 data_register_course"> | |
50 | + <p><b>{% trans 'End register' %}: </b>{{course.end_register_date}}</p> | |
51 | + </div> | |
52 | + </div> | |
46 | 53 | </div> |
47 | 54 | </div> |
48 | 55 | </div> | ... | ... |
courses/templates/course/index.html
... | ... | @@ -52,9 +52,9 @@ |
52 | 52 | </div> |
53 | 53 | <div id="{{category.slug}}" class="panel-collapse collapse"> |
54 | 54 | {% for course in category.course_category %} |
55 | - | |
56 | - {% include "course/course_card.html" %} | |
57 | - | |
55 | + {# {% if user in course.students.all or user in course.professors.all or user|has_role:'system_admin' %}#} | |
56 | + {% include "course/course_card.html" %} | |
57 | + {# {% endif %}#} | |
58 | 58 | {% endfor %} |
59 | 59 | </div> |
60 | 60 | </div> | ... | ... |
courses/templates/course/view.html
... | ... | @@ -48,13 +48,21 @@ |
48 | 48 | </div> |
49 | 49 | <div class="panel-body"> |
50 | 50 | <p><b>{% trans 'Coordinator' %}: </b>{{course.coordenator}}</p> |
51 | + <p><b>{% trans 'Teacher' %}: </b>{{course.professors.all.0}}</p> | |
51 | 52 | <p> |
52 | 53 | <b>{% trans 'Description' %}:</b> |
53 | 54 | <i> |
54 | - {{ course.description |safe }} | |
55 | + {{ course.objectivies |safe }} | |
55 | 56 | </i> |
56 | 57 | </p> |
57 | - | |
58 | + <div class="row"> | |
59 | + <div class="col-xs-6 col-md-6 data_register_course"> | |
60 | + <p><b>{% trans 'Begin of Course Date' %}: </b>{{course.init_date}}</p> | |
61 | + </div> | |
62 | + <div class="col-xs-6 col-md-6 data_register_course"> | |
63 | + <p><b>{% trans 'End of Course Date' %}: </b>{{course.end_date}}</p> | |
64 | + </div> | |
65 | + </div> | |
58 | 66 | </div> |
59 | 67 | </div> |
60 | 68 | ... | ... |
courses/templatetags/course_value_field.py
... | ... | @@ -11,12 +11,28 @@ def value_field(course, field): |
11 | 11 | value = "" |
12 | 12 | if field == 'name': |
13 | 13 | value = course.name |
14 | + elif field == 'objectivies': | |
15 | + value = course.objectivies | |
14 | 16 | elif field == 'content': |
15 | 17 | value = course.content |
18 | + elif field == 'max_students': | |
19 | + value = course.max_students | |
20 | + elif field == 'init_register_date': | |
21 | + value = course.init_register_date | |
22 | + elif field == 'end_register_date': | |
23 | + value = course.end_register_date | |
24 | + elif field == 'init_date': | |
25 | + value = course.init_date | |
26 | + elif field == 'end_date': | |
27 | + value = course.end_date | |
16 | 28 | elif field == 'coordenator': |
17 | 29 | value = course.coordenator |
18 | 30 | elif field == 'category': |
19 | 31 | value = course.category |
32 | + elif field == 'professors': | |
33 | + value = course.professors.all() | |
34 | + elif field == 'students': | |
35 | + value = course.students.all() | |
20 | 36 | elif field == 'public': |
21 | 37 | value = course.public |
22 | 38 | ... | ... |
courses/templatetags/custom_filters.py
... | ... | @@ -8,8 +8,9 @@ def hide_subscribe_view_btn(user, subject): |
8 | 8 | if not user is None: |
9 | 9 | if user.is_authenticated: |
10 | 10 | if has_role(user, 'student') and not user.is_staff: |
11 | - if user in subject.students.all(): | |
12 | - return True | |
11 | + if user in subject.course.students.all(): | |
12 | + if not user in subject.students.all(): | |
13 | + return True | |
13 | 14 | else: |
14 | 15 | return True |
15 | 16 | |
... | ... | @@ -20,7 +21,7 @@ def show_subject_subscribe(user, subject): |
20 | 21 | if not user is None: |
21 | 22 | if user.is_authenticated: |
22 | 23 | if has_role(user, 'student') and not user.is_staff: |
23 | - if not user in subject.students.all() and subject.show_subscribe: | |
24 | + if not user in subject.students.all() and user in subject.course.students.all() and subject.show_subscribe: | |
24 | 25 | return True |
25 | 26 | |
26 | 27 | return False | ... | ... |
courses/views.py
... | ... | @@ -91,9 +91,13 @@ class IndexView(LoginRequiredMixin, NotificationMixin, generic.ListView): |
91 | 91 | list_courses = None |
92 | 92 | if has_role(self.request.user,'system_admin'): |
93 | 93 | list_courses = self.get_queryset().order_by('name') |
94 | - else: | |
95 | - list_courses = self.get_queryset().all() | |
96 | - | |
94 | + # categorys_courses = CourseCategory.objects.all() | |
95 | + elif has_role(self.request.user,'professor'): | |
96 | + list_courses = self.get_queryset().filter(professors__in = [self.request.user]) | |
97 | + # categorys_courses = CourseCategory.objects.filter(course_category__professors__name = self.request.user.name).distinct() | |
98 | + elif has_role(self.request.user, 'student'): | |
99 | + list_courses = self.get_queryset().filter(students__in = [self.request.user]) | |
100 | + | |
97 | 101 | context['categorys_courses'] = course_category(list_courses) |
98 | 102 | return context |
99 | 103 | |
... | ... | @@ -357,6 +361,10 @@ class CourseView(LogMixin, NotificationMixin, generic.DetailView): |
357 | 361 | |
358 | 362 | if has_role(self.request.user,'system_admin'): |
359 | 363 | courses = Course.objects.all() |
364 | + elif has_role(self.request.user,'professor'): | |
365 | + courses = self.request.user.courses_professors.all() | |
366 | + elif has_role(self.request.user, 'student'): | |
367 | + courses = self.request.user.courses_student.all() | |
360 | 368 | else: |
361 | 369 | courses = Course.objects.filter(public = True) |
362 | 370 | |
... | ... | @@ -672,7 +680,7 @@ class CreateTopicView(LoginRequiredMixin, HasRoleMixin, LogMixin, NotificationMi |
672 | 680 | action = super(CreateTopicView, self).createorRetrieveAction("create Topic") |
673 | 681 | super(CreateTopicView, self).createNotification("Topic "+ self.object.name + " was created", |
674 | 682 | resource_name=self.object.name, resource_link= reverse('course:view_topic',args=[self.object.slug]), |
675 | - actor=self.request.user, users = self.object.subject.students.all() ) | |
683 | + actor=self.request.user, users = self.object.subject.course.students.all() ) | |
676 | 684 | |
677 | 685 | self.log_context['topic_id'] = self.object.id |
678 | 686 | self.log_context['topic_name'] = self.object.name |
... | ... | @@ -776,7 +784,7 @@ class CreateSubjectView(LoginRequiredMixin, HasRoleMixin, LogMixin, Notification |
776 | 784 | self.object.professors.add(self.request.user) |
777 | 785 | if self.object.visible: |
778 | 786 | super(CreateSubjectView, self).createNotification( " created subject " + self.object.name, resource_name=self.object.name, |
779 | - resource_slug = self.object.slug, actor=self.request.user, | |
787 | + resource_slug = self.object.slug, actor=self.request.user, users= self.object.course.students.all(), | |
780 | 788 | resource_link = reverse('course:view_subject', args=[self.object.slug])) |
781 | 789 | |
782 | 790 | self.log_context['subject_id'] = self.object.id |
... | ... | @@ -889,7 +897,7 @@ class DeleteSubjectView(LoginRequiredMixin, HasRoleMixin, LogMixin, generic.Dele |
889 | 897 | def subscribe_subject(request, slug): |
890 | 898 | subject = get_object_or_404(Subject, slug = slug) |
891 | 899 | |
892 | - if request.user not in subject.students.all(): | |
900 | + if request.user in subject.course.students.all(): | |
893 | 901 | subject.students.add(request.user) |
894 | 902 | |
895 | 903 | if request.user in subject.students.all(): |
... | ... | @@ -1016,7 +1024,7 @@ class ReplicateTopicView (LoginRequiredMixin, HasRoleMixin, LogMixin, Notificati |
1016 | 1024 | action = super(ReplicateTopicView, self).createorRetrieveAction("create Topic") |
1017 | 1025 | super(ReplicateTopicView, self).createNotification("Topic "+ self.object.name + " was created", |
1018 | 1026 | resource_name=self.object.name, resource_link= reverse('course:view_topic',args=[self.object.slug]), |
1019 | - actor=self.request.user, users = self.object.subject.students.all() ) | |
1027 | + actor=self.request.user, users = self.object.subject.course.students.all() ) | |
1020 | 1028 | |
1021 | 1029 | self.log_context['topic_id'] = self.object.id |
1022 | 1030 | self.log_context['topic_name'] = self.object.name |
... | ... | @@ -1070,7 +1078,7 @@ class ReplicateSubjectView(LoginRequiredMixin, HasRoleMixin, LogMixin, Notificat |
1070 | 1078 | self.object.professors.add(self.request.user) |
1071 | 1079 | if self.object.visible: |
1072 | 1080 | super(ReplicateSubjectView, self).createNotification( " created subject " + self.object.name, resource_name=self.object.name, |
1073 | - resource_slug = self.object.slug, actor=self.request.user, users= self.object.students.all(), | |
1081 | + resource_slug = self.object.slug, actor=self.request.user, users= self.object.course.students.all(), | |
1074 | 1082 | resource_link = reverse('course:view_subject', args=[self.object.slug])) |
1075 | 1083 | |
1076 | 1084 | self.log_context['subject_id'] = self.object.id | ... | ... |