From 76cee7d4d06cde90590cc037451564038a5c012f Mon Sep 17 00:00:00 2001 From: Valentin Deniaud Date: Tue, 21 May 2019 12:26:03 +0200 Subject: [PATCH 3/4] views: add agenda attribute to ManagedDeskMixin Allows for consistent use of self.agenda in other mixins. --- chrono/manager/views.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/chrono/manager/views.py b/chrono/manager/views.py index e0cc257..926345d 100644 --- a/chrono/manager/views.py +++ b/chrono/manager/views.py @@ -488,14 +488,15 @@ class ManagedDeskMixin(object): self.desk = Desk.objects.get(id=kwargs.get('pk')) except Desk.DoesNotExist: raise Http404() - if not self.desk.agenda.can_be_managed(request): + self.agenda = self.desk.agenda + if not self.agenda.can_be_managed(request): raise PermissionDenied() return super(ManagedDeskMixin, self).dispatch(request, *args, **kwargs) def get_context_data(self, **kwargs): context = super(ManagedDeskMixin, self).get_context_data(**kwargs) context['desk'] = self.desk - context['agenda'] = self.desk.agenda + context['agenda'] = self.agenda return context def get_initial(self): @@ -504,7 +505,7 @@ class ManagedDeskMixin(object): return initial def get_success_url(self): - return reverse('chrono-manager-agenda-settings', kwargs={'pk': self.desk.agenda.id}) + return reverse('chrono-manager-agenda-settings', kwargs={'pk': self.agenda.id}) class ManagedDeskSubobjectMixin(object): -- 2.20.1