From 614033fd78b44ae4924982fae7223656d73dd044 Mon Sep 17 00:00:00 2001 From: Felipe Henrique de Almeida Bormann Date: Mon, 23 Jan 2017 18:32:11 -0300 Subject: [PATCH] added redirect to deleteview --- subjects/views.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/subjects/views.py b/subjects/views.py index 3a5c561..60659be 100644 --- a/subjects/views.py +++ b/subjects/views.py @@ -285,11 +285,7 @@ class SubjectUpdateView(LoginRequiredMixin, LogMixin, UpdateView): if request.META.get('HTTP_REFERER'): return HttpResponseRedirect(request.META.get('HTTP_REFERER')) else: - return redirect('subjects:index') - - - if request.method.lower() in self.http_method_names: handler = getattr(self, request.method.lower(), self.http_method_not_allowed) @@ -320,8 +316,18 @@ class SubjectDeleteView(LoginRequiredMixin, LogMixin, DeleteView): model = Subject template_name = 'subjects/delete.html' - def dispatch(self, *args, **kwargs): + def dispatch(self,request, *args, **kwargs): + user = self.request.user + pk = user.pk + + subject = Subject.objects.filter((Q(professor__pk=pk) | Q(category__coordinators__pk=pk)) & Q(slug = kwargs.get('slug'))) + if not user.is_staff: + if subject.count() == 0: + if request.META.get('HTTP_REFERER'): + return HttpResponseRedirect(request.META.get('HTTP_REFERER')) + else: + return redirect('subjects:index') return super(SubjectDeleteView, self).dispatch(*args, **kwargs) def get(self, request, *args, **kwargs): -- libgit2 0.21.2