From 1313a7d8115836d84c112a8e617636ef927efb72 Mon Sep 17 00:00:00 2001 From: Zambom Date: Tue, 10 Jan 2017 15:33:23 -0200 Subject: [PATCH] Adjusting my subjects list --- subjects/utils.py | 15 +++++++++++++++ subjects/views.py | 7 +++---- 2 files changed, 18 insertions(+), 4 deletions(-) create mode 100644 subjects/utils.py diff --git a/subjects/utils.py b/subjects/utils.py new file mode 100644 index 0000000..4d90591 --- /dev/null +++ b/subjects/utils.py @@ -0,0 +1,15 @@ +# File used to store useful subject functions # + +def has_student_profile(user, category): + for subject in category.subject_category.all(): + if user in subject.students.all(): + return True + + return False + +def has_professor_profile(user, category): + for subject in category.subject_category.all(): + if user in subject.professor.all(): + return True + + return False \ No newline at end of file diff --git a/subjects/views.py b/subjects/views.py index 55aaec4..939e73a 100644 --- a/subjects/views.py +++ b/subjects/views.py @@ -25,6 +25,7 @@ from .models import Tag import time from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger from .forms import CreateSubjectForm +from .utils import has_student_profile, has_professor_profile from users.models import User @@ -75,10 +76,8 @@ class IndexView(LoginRequiredMixin, ListView): if not self.kwargs.get('option'): categories = Category.objects.all() - for category in categories: - category.subjects = Subject.objects.filter(category= category) - - categories = [category for category in categories if category.subjects.count() > 0 or self.request.user in category.coordinators.all()] + categories = [category for category in categories if self.request.user in category.coordinators.all() \ + or has_professor_profile(self.request.user, category) or has_student_profile(self.request.user, category)] #So I remove all categories that doesn't have the possibility for the user to be on return categories -- libgit2 0.21.2