Commit c63d5b3629f497b1b982fd45ce617d4c9e61316e
1 parent
d0908746
Exists in
master
and in
3 other branches
Adding invisiblity propagation on subjects/topics/resources and adjust invisible…
… resource presentation
Showing
7 changed files
with
39 additions
and
26 deletions
Show diff stats
categories/templates/categories/list.html
@@ -117,8 +117,6 @@ | @@ -117,8 +117,6 @@ | ||
117 | <li><a href="javascript:delete_course.get('{% url 'categories:delete' category.slug %}?view=index','#category','#modal_course')"><i class="fa fa-trash fa-fw" aria-hidden="true"></i> {% trans 'Remove' %}</a></li> | 117 | <li><a href="javascript:delete_course.get('{% url 'categories:delete' category.slug %}?view=index','#category','#modal_course')"><i class="fa fa-trash fa-fw" aria-hidden="true"></i> {% trans 'Remove' %}</a></li> |
118 | </ul> | 118 | </ul> |
119 | {% endif %} | 119 | {% endif %} |
120 | - <a href=""><i class="fa fa-bar-chart" aria-hidden="true"></i></a> | ||
121 | - <a href=""><i class="fa fa-exclamation-triangle" aria-hidden="true"></i></a> | ||
122 | </div> | 120 | </div> |
123 | </div> | 121 | </div> |
124 | </div> | 122 | </div> |
categories/views.py
@@ -22,6 +22,7 @@ from log.models import Log | @@ -22,6 +22,7 @@ from log.models import Log | ||
22 | 22 | ||
23 | import time | 23 | import time |
24 | 24 | ||
25 | +from topics.models import Topic, Resource | ||
25 | from users.models import User | 26 | from users.models import User |
26 | 27 | ||
27 | class IndexView(views.SuperuserRequiredMixin, LoginRequiredMixin, ListView): | 28 | class IndexView(views.SuperuserRequiredMixin, LoginRequiredMixin, ListView): |
@@ -212,10 +213,9 @@ class UpdateCategory(LogMixin, UpdateView): | @@ -212,10 +213,9 @@ class UpdateCategory(LogMixin, UpdateView): | ||
212 | category = form.save() | 213 | category = form.save() |
213 | 214 | ||
214 | if not category.visible: | 215 | if not category.visible: |
215 | - for subjects in category.subject_category.all(): | ||
216 | - subjects.visible = False | ||
217 | - | ||
218 | - subjects.save() | 216 | + category.subject_category.all().update(visible = False) |
217 | + Topic.objects.filter(subject__category = category, repository = False).update(visible = False) | ||
218 | + Resource.objects.filter(topic__subject__category = category, topic__repository = False).update(visible = False) | ||
219 | 219 | ||
220 | return super(UpdateCategory, self).form_valid(form) | 220 | return super(UpdateCategory, self).form_valid(form) |
221 | 221 |
pdf_file/templates/pdf_file/view.html
@@ -24,14 +24,14 @@ | @@ -24,14 +24,14 @@ | ||
24 | 24 | ||
25 | 25 | ||
26 | {% block content %} | 26 | {% block content %} |
27 | - {% subject_permissions request.user subject as has_subject_permissions %} | ||
28 | - | ||
29 | - {% if subject.visible %} | ||
30 | - <div class="panel panel-info topic-panel"> | ||
31 | - <div class="panel-heading"> | ||
32 | - {% elif has_subject_permissions %} | ||
33 | - <div class="panel panel-info topic-panel-invisible"> | ||
34 | - <div class="panel-heading panel-invisible"> | 27 | + {% resource_permissions request.user pdf_file as has_resource_permissions %} |
28 | + | ||
29 | + {% if pdf_file.visible %} | ||
30 | + <div class="panel panel-info topic-panel"> | ||
31 | + <div class="panel-heading"> | ||
32 | + {% elif has_resource_permissions %} | ||
33 | + <div class="panel panel-info topic-panel-invisible"> | ||
34 | + <div class="panel-heading panel-invisible"> | ||
35 | {% endif %} | 35 | {% endif %} |
36 | <div class="row"> | 36 | <div class="row"> |
37 | <div class="col-md-12 category-header"> | 37 | <div class="col-md-12 category-header"> |
subjects/views.py
@@ -28,7 +28,7 @@ from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger | @@ -28,7 +28,7 @@ from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger | ||
28 | from .forms import CreateSubjectForm, UpdateSubjectForm | 28 | from .forms import CreateSubjectForm, UpdateSubjectForm |
29 | from .utils import has_student_profile, has_professor_profile, count_subjects, get_category_page | 29 | from .utils import has_student_profile, has_professor_profile, count_subjects, get_category_page |
30 | from users.models import User | 30 | from users.models import User |
31 | -from topics.models import Resource | 31 | +from topics.models import Topic, Resource |
32 | 32 | ||
33 | from amadeus.permissions import has_category_permissions, has_subject_permissions, has_subject_view_permissions, has_resource_permissions | 33 | from amadeus.permissions import has_category_permissions, has_subject_permissions, has_subject_view_permissions, has_resource_permissions |
34 | 34 | ||
@@ -366,6 +366,10 @@ class SubjectUpdateView(LoginRequiredMixin, LogMixin, UpdateView): | @@ -366,6 +366,10 @@ class SubjectUpdateView(LoginRequiredMixin, LogMixin, UpdateView): | ||
366 | self.object.visible = False | 366 | self.object.visible = False |
367 | self.object.save() | 367 | self.object.save() |
368 | 368 | ||
369 | + if not self.object.visible: | ||
370 | + Topic.objects.filter(subject = self.object, repository = False).update(visible = False) | ||
371 | + Resource.objects.filter(topic__subject = self.object, topic__repository = False).update(visible = False) | ||
372 | + | ||
369 | self.log_context['category_id'] = self.object.category.id | 373 | self.log_context['category_id'] = self.object.category.id |
370 | self.log_context['category_name'] = self.object.category.name | 374 | self.log_context['category_name'] = self.object.category.name |
371 | self.log_context['category_slug'] = self.object.category.slug | 375 | self.log_context['category_slug'] = self.object.category.slug |
topics/views.py
@@ -61,6 +61,10 @@ class CreateView(LoginRequiredMixin, LogMixin, generic.edit.CreateView): | @@ -61,6 +61,10 @@ class CreateView(LoginRequiredMixin, LogMixin, generic.edit.CreateView): | ||
61 | 61 | ||
62 | self.object.save() | 62 | self.object.save() |
63 | 63 | ||
64 | + if not self.object.subject.visible and not self.object.repository: | ||
65 | + self.object.visible = False | ||
66 | + self.object.save() | ||
67 | + | ||
64 | self.log_context['category_id'] = self.object.subject.category.id | 68 | self.log_context['category_id'] = self.object.subject.category.id |
65 | self.log_context['category_name'] = self.object.subject.category.name | 69 | self.log_context['category_name'] = self.object.subject.category.name |
66 | self.log_context['category_slug'] = self.object.subject.category.slug | 70 | self.log_context['category_slug'] = self.object.subject.category.slug |
@@ -137,6 +141,13 @@ class UpdateView(LoginRequiredMixin, LogMixin, generic.UpdateView): | @@ -137,6 +141,13 @@ class UpdateView(LoginRequiredMixin, LogMixin, generic.UpdateView): | ||
137 | return context | 141 | return context |
138 | 142 | ||
139 | def get_success_url(self): | 143 | def get_success_url(self): |
144 | + if not self.object.subject.visible: | ||
145 | + self.object.visible = False | ||
146 | + self.object.save() | ||
147 | + | ||
148 | + if not self.object.visible and not self.object.repository: | ||
149 | + Resource.objects.filter(topic = self.object).update(visible = False) | ||
150 | + | ||
140 | messages.success(self.request, _('Topic "%s" was updated on virtual enviroment "%s" successfully!')%(self.object.name, self.object.subject.name)) | 151 | messages.success(self.request, _('Topic "%s" was updated on virtual enviroment "%s" successfully!')%(self.object.name, self.object.subject.name)) |
141 | 152 | ||
142 | self.log_context['category_id'] = self.object.subject.category.id | 153 | self.log_context['category_id'] = self.object.subject.category.id |
webpage/templates/webpages/view.html
@@ -25,12 +25,12 @@ | @@ -25,12 +25,12 @@ | ||
25 | {% endfor %} | 25 | {% endfor %} |
26 | {% endif %} | 26 | {% endif %} |
27 | 27 | ||
28 | - {% subject_permissions request.user subject as has_subject_permissions %} | 28 | + {% resource_permissions request.user webpage as has_resource_permissions %} |
29 | 29 | ||
30 | - {% if subject.visible %} | 30 | + {% if webpage.visible %} |
31 | <div class="panel panel-info topic-panel"> | 31 | <div class="panel panel-info topic-panel"> |
32 | <div class="panel-heading"> | 32 | <div class="panel-heading"> |
33 | - {% elif has_subject_permissions %} | 33 | + {% elif has_resource_permissions %} |
34 | <div class="panel panel-info topic-panel-invisible"> | 34 | <div class="panel panel-info topic-panel-invisible"> |
35 | <div class="panel-heading panel-invisible"> | 35 | <div class="panel-heading panel-invisible"> |
36 | {% endif %} | 36 | {% endif %} |
youtube_video/templates/youtube/view.html
@@ -25,15 +25,15 @@ | @@ -25,15 +25,15 @@ | ||
25 | {% endfor %} | 25 | {% endfor %} |
26 | {% endif %} | 26 | {% endif %} |
27 | 27 | ||
28 | - {% subject_permissions request.user subject as has_subject_permissions %} | 28 | + {% resource_permissions request.user youtube as has_resource_permissions %} |
29 | 29 | ||
30 | - {% if subject.visible %} | ||
31 | - <div class="panel panel-info topic-panel" style="margin-bottom: 0px;"> | ||
32 | - <div class="panel-heading"> | ||
33 | - {% elif has_subject_permissions %} | ||
34 | - <div class="panel panel-info topic-panel-invisible" style="margin-bottom: 0px;"> | ||
35 | - <div class="panel-heading panel-invisible"> | ||
36 | - {% endif %} | 30 | + {% if youtube.visible %} |
31 | + <div class="panel panel-info topic-panel"> | ||
32 | + <div class="panel-heading"> | ||
33 | + {% elif has_resource_permissions %} | ||
34 | + <div class="panel panel-info topic-panel-invisible"> | ||
35 | + <div class="panel-heading panel-invisible"> | ||
36 | + {% endif %} | ||
37 | <div class="row"> | 37 | <div class="row"> |
38 | <div class="col-md-12 category-header"> | 38 | <div class="col-md-12 category-header"> |
39 | <h4 class="panel-title" style="margin-top: 10px; margin-bottom: 8px"> | 39 | <h4 class="panel-title" style="margin-top: 10px; margin-bottom: 8px"> |