def post(self, request, subject_id): subject = Subject.objects.get(id=subject_id) is_hod = is_user_hod(request, subject) staff_list = {} for department in Department.objects.all(): staff_list[department.name] = [x.user for x in department.profile_set.all() if is_user_hod_or_teacher(x)] try: if is_hod: form = AssignOrRemoveStaffForm(request.POST) if form.is_valid(): for staff_id in form.cleaned_data['staffselect']: staff = User.objects.get(id=staff_id) subject.staff.add(staff) else: self.error = 'Something went wrong.' self.status = 500 raise else: self.error = 'You are not an HOD' self.status = 403 except: return render(request, self.template, { 'is_hod': is_hod, 'staff_list': staff_list, 'subject': subject, 'error': self.error }, status=self.status) return HttpResponseRedirect('/subject/' + subject_id)
def get(self, request, subject_id): RESOURCE_TYPES = { 'presentation': 'Presentation', 'paper_publication': 'Paper Publication', 'subject_note': 'Subject Note', 'project_thesis': 'Project Thesis', 'seminar_report': 'Seminar Report', 'university_question_paper': 'Previous University Question Paper' } try: subject = Subject.objects.get(id=subject_id) resource_list = {} for resource in subject.resource_set.all(): restype = RESOURCE_TYPES[resource.category] if restype not in resource_list: resource_list[restype] = [] resource_list[restype].append(resource) number_of_categories = len(resource_list) * -1 subscription_status = True is_hod = False has_staff = False is_staff = False subject_staff_list = subject.staff.all() if subject_staff_list: has_staff = True if request.user.is_authenticated(): user = request.user if subject not in user.subscribedsubjects.all(): subscription_status = False is_hod = is_user_hod(request, subject) is_staff = is_user_hod_or_teacher(request, subject) return render(request, 'subject_resource_list.html', { 'subject': subject, 'resource_list': resource_list, 'subscription_status': subscription_status, 'is_hod': is_hod, 'is_staff': is_staff, 'has_staff': has_staff, 'subject_staff_list': subject_staff_list, 'number_of_categories': number_of_categories }) except ObjectDoesNotExist, e: print e self.error = 'The subject you requested does not exist.' self.status = 404 return render(request, 'error.html', { 'error': self.error }, status=self.status)
def get(self, request): if request.user.is_authenticated(): user = request.user subject_list = [] if is_user_hod_or_teacher(request): subject_list = user.teachingsubjects.all() else: subject_list = user.subscribedsubjects.all() return render(request, 'profile.html', { 'user': user, 'subject_list': subject_list}) else: return render(request, 'home.html')
def get(self, request, subject_id): subject = Subject.objects.get(id=subject_id) if not is_user_hod_or_teacher(request, subject): self.error = 'You are not authorized to visit this page.' self.status = 403 self.template = 'error.html' return render(request, self.template, { 'error': self.error }, status=self.status) else: return render(request, 'viewquestionpapers.html', {'subject': subject, 'user': request.user})
def get(self, request, subject_id): subject = Subject.objects.get(id=subject_id) is_hod = is_user_hod(request, subject) staff_list = {} for department in Department.objects.all(): staff_list[department.name] = [x.user for x in department.profile_set.all() if is_user_hod_or_teacher(x)] return render(request, self.template, { 'is_hod': is_hod, 'staff_list': staff_list, 'subject': subject })
def get(self, request, username): if is_user_current_user(request, username): user = request.user if is_user_hod_or_teacher(request): self.subject_list = user.teachingsubjects.all() else: self.subject_list = user.subscribedsubjects.all() if not self.subject_list: self.error = 'You are not subscribed to any subjects' self.status = 404 else: self.error = 'You are not logged in or not allowed to access \ this page.' self.status = 404 return render(request, 'my_subjects.html', { 'subject_list': self.subject_list, 'error': self.error }, status=self.status)
def get(self, request, username): try: user = User.objects.get(username=username) print user.profile.status subject_list = [] if user: if is_user_hod_or_teacher(request): subject_list = user.teachingsubjects.all() else: subject_list = user.subscribedsubjects.all() return render(request, 'profile.html', { 'user': user, 'subject_list': subject_list}) except Exception as e: print(e) return render(request, 'error.html', { 'error': 'The requested user not found.' }, status=404)
def get(self, request, subject_id, exam_id): subject = Subject.objects.get(id=subject_id) if not is_user_hod_or_teacher(request, subject): self.error = 'You are not authorized to visit this page.' self.status = 403 self.template = 'error.html' return render(request, self.template, { 'error': self.error }, status=self.status) exam = Exam.objects.get(id=exam_id) if exam.subject != subject: self.error = 'No such exam for this subject found.' self.status = 404 self.template = 'error.html' return render(request, self.template, { 'error': self.error }, status=self.status) return render(request, 'viewaquestionpaper.html', {'subject': subject, 'exam': exam, 'user': request.user})