diff --git a/categories/templates/categories/list.html b/categories/templates/categories/list.html index dfd70be..df90f5e 100755 --- a/categories/templates/categories/list.html +++ b/categories/templates/categories/list.html @@ -117,8 +117,6 @@
  •  {% trans 'Remove' %}
  • {% endif %} - - diff --git a/categories/views.py b/categories/views.py index 44a3b17..e6dadc8 100644 --- a/categories/views.py +++ b/categories/views.py @@ -22,6 +22,7 @@ from log.models import Log import time +from topics.models import Topic, Resource from users.models import User class IndexView(views.SuperuserRequiredMixin, LoginRequiredMixin, ListView): @@ -212,10 +213,9 @@ class UpdateCategory(LogMixin, UpdateView): category = form.save() if not category.visible: - for subjects in category.subject_category.all(): - subjects.visible = False - - subjects.save() + category.subject_category.all().update(visible = False) + Topic.objects.filter(subject__category = category, repository = False).update(visible = False) + Resource.objects.filter(topic__subject__category = category, topic__repository = False).update(visible = False) return super(UpdateCategory, self).form_valid(form) diff --git a/pdf_file/templates/pdf_file/view.html b/pdf_file/templates/pdf_file/view.html index 673744b..7509ac4 100644 --- a/pdf_file/templates/pdf_file/view.html +++ b/pdf_file/templates/pdf_file/view.html @@ -24,14 +24,14 @@ {% block content %} - {% subject_permissions request.user subject as has_subject_permissions %} - - {% if subject.visible %} -
    -
    - {% elif has_subject_permissions %} -
    -
    + {% resource_permissions request.user pdf_file as has_resource_permissions %} + + {% if pdf_file.visible %} +
    +
    + {% elif has_resource_permissions %} +
    +
    {% endif %}
    diff --git a/subjects/views.py b/subjects/views.py index f92257d..d7ccb31 100644 --- a/subjects/views.py +++ b/subjects/views.py @@ -28,7 +28,7 @@ from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger from .forms import CreateSubjectForm, UpdateSubjectForm from .utils import has_student_profile, has_professor_profile, count_subjects, get_category_page from users.models import User -from topics.models import Resource +from topics.models import Topic, Resource from amadeus.permissions import has_category_permissions, has_subject_permissions, has_subject_view_permissions, has_resource_permissions @@ -366,6 +366,10 @@ class SubjectUpdateView(LoginRequiredMixin, LogMixin, UpdateView): self.object.visible = False self.object.save() + if not self.object.visible: + Topic.objects.filter(subject = self.object, repository = False).update(visible = False) + Resource.objects.filter(topic__subject = self.object, topic__repository = False).update(visible = False) + self.log_context['category_id'] = self.object.category.id self.log_context['category_name'] = self.object.category.name self.log_context['category_slug'] = self.object.category.slug diff --git a/topics/views.py b/topics/views.py index bd76a57..01a6923 100644 --- a/topics/views.py +++ b/topics/views.py @@ -61,6 +61,10 @@ class CreateView(LoginRequiredMixin, LogMixin, generic.edit.CreateView): self.object.save() + if not self.object.subject.visible and not self.object.repository: + self.object.visible = False + self.object.save() + self.log_context['category_id'] = self.object.subject.category.id self.log_context['category_name'] = self.object.subject.category.name self.log_context['category_slug'] = self.object.subject.category.slug @@ -137,6 +141,13 @@ class UpdateView(LoginRequiredMixin, LogMixin, generic.UpdateView): return context def get_success_url(self): + if not self.object.subject.visible: + self.object.visible = False + self.object.save() + + if not self.object.visible and not self.object.repository: + Resource.objects.filter(topic = self.object).update(visible = False) + messages.success(self.request, _('Topic "%s" was updated on virtual enviroment "%s" successfully!')%(self.object.name, self.object.subject.name)) self.log_context['category_id'] = self.object.subject.category.id diff --git a/webpage/templates/webpages/view.html b/webpage/templates/webpages/view.html index 7867f1c..5d585d8 100644 --- a/webpage/templates/webpages/view.html +++ b/webpage/templates/webpages/view.html @@ -25,12 +25,12 @@ {% endfor %} {% endif %} - {% subject_permissions request.user subject as has_subject_permissions %} + {% resource_permissions request.user webpage as has_resource_permissions %} - {% if subject.visible %} + {% if webpage.visible %}
    - {% elif has_subject_permissions %} + {% elif has_resource_permissions %}
    {% endif %} diff --git a/youtube_video/templates/youtube/view.html b/youtube_video/templates/youtube/view.html index faa14c1..107a541 100644 --- a/youtube_video/templates/youtube/view.html +++ b/youtube_video/templates/youtube/view.html @@ -25,15 +25,15 @@ {% endfor %} {% endif %} - {% subject_permissions request.user subject as has_subject_permissions %} + {% resource_permissions request.user youtube as has_resource_permissions %} - {% if subject.visible %} -
    -
    - {% elif has_subject_permissions %} -
    -
    - {% endif %} + {% if youtube.visible %} +
    +
    + {% elif has_resource_permissions %} +
    +
    + {% endif %}

    -- libgit2 0.21.2