From 031027be0ad66905c7bd825e6f6ddb22881a5373 Mon Sep 17 00:00:00 2001 From: Gabriel Augendre Date: Thu, 7 Jun 2018 07:57:45 +0200 Subject: [PATCH] Redirect to home view if teacher not found. Fix #24, fix #25 --- manuels/views.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/manuels/views.py b/manuels/views.py index 13f9c3b..87a945a 100644 --- a/manuels/views.py +++ b/manuels/views.py @@ -35,7 +35,11 @@ class BaseTeacherView: teacher_field = 'pk' def dispatch(self, request, *args, **kwargs): - self.teacher = get_object_or_404(Teacher, pk=self.kwargs[self.teacher_field]) + self.teacher = Teacher.objects.filter(pk=self.kwargs[self.teacher_field]).first() + if not self.teacher: + messages.warning(request, "Impossible de trouver le coordonnateur demandé. Si vous pensez que ceci est " + "une erreur, merci de vous adresser à votre documentaliste.") + return redirect('clear_teacher') request.session['teacher_pk'] = str(self.teacher.pk) return super().dispatch(request, *args, **kwargs) @@ -174,7 +178,7 @@ class DeleteSuppliesView(SuppliesView, DeleteItemView): def clear_teacher_view(request): - if request.session['teacher_pk']: + if 'teacher_pk' in request.session: del request.session['teacher_pk'] return redirect('home_page')