Commit 614033fd78b44ae4924982fae7223656d73dd044

Authored by Felipe Henrique de Almeida Bormann
1 parent 98e4cda7

added redirect to deleteview

Showing 1 changed file with 11 additions and 5 deletions   Show diff stats
subjects/views.py
@@ -285,11 +285,7 @@ class SubjectUpdateView(LoginRequiredMixin, LogMixin, UpdateView): @@ -285,11 +285,7 @@ class SubjectUpdateView(LoginRequiredMixin, LogMixin, UpdateView):
285 if request.META.get('HTTP_REFERER'): 285 if request.META.get('HTTP_REFERER'):
286 return HttpResponseRedirect(request.META.get('HTTP_REFERER')) 286 return HttpResponseRedirect(request.META.get('HTTP_REFERER'))
287 else: 287 else:
288 -  
289 return redirect('subjects:index') 288 return redirect('subjects:index')
290 -  
291 -  
292 -  
293 289
294 if request.method.lower() in self.http_method_names: 290 if request.method.lower() in self.http_method_names:
295 handler = getattr(self, request.method.lower(), self.http_method_not_allowed) 291 handler = getattr(self, request.method.lower(), self.http_method_not_allowed)
@@ -320,8 +316,18 @@ class SubjectDeleteView(LoginRequiredMixin, LogMixin, DeleteView): @@ -320,8 +316,18 @@ class SubjectDeleteView(LoginRequiredMixin, LogMixin, DeleteView):
320 model = Subject 316 model = Subject
321 template_name = 'subjects/delete.html' 317 template_name = 'subjects/delete.html'
322 318
323 - def dispatch(self, *args, **kwargs): 319 + def dispatch(self,request, *args, **kwargs):
  320 + user = self.request.user
324 321
  322 + pk = user.pk
  323 +
  324 + subject = Subject.objects.filter((Q(professor__pk=pk) | Q(category__coordinators__pk=pk)) & Q(slug = kwargs.get('slug')))
  325 + if not user.is_staff:
  326 + if subject.count() == 0:
  327 + if request.META.get('HTTP_REFERER'):
  328 + return HttpResponseRedirect(request.META.get('HTTP_REFERER'))
  329 + else:
  330 + return redirect('subjects:index')
325 return super(SubjectDeleteView, self).dispatch(*args, **kwargs) 331 return super(SubjectDeleteView, self).dispatch(*args, **kwargs)
326 332
327 def get(self, request, *args, **kwargs): 333 def get(self, request, *args, **kwargs):