From 5fa0dc8d0daf1c4008f06d3da3e23b82c0eaec1e Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Tue, 3 Apr 2018 04:05:19 -0400 Subject: [PATCH] Reorganize the way the document print view checks for permission to move permission checking to the dispatch method. Signed-off-by: Roberto Rosario --- mayan/apps/documents/views/document_views.py | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/mayan/apps/documents/views/document_views.py b/mayan/apps/documents/views/document_views.py index dd3fcebc00..60313eb94d 100644 --- a/mayan/apps/documents/views/document_views.py +++ b/mayan/apps/documents/views/document_views.py @@ -718,6 +718,14 @@ class DocumentPrint(FormView): form_class = DocumentPrintForm def dispatch(self, request, *args, **kwargs): + instance = self.get_object() + AccessControlList.objects.check_access( + permissions=permission_document_print, user=self.request.user, + obj=instance + ) + + instance.add_as_recent_document_for_user(self.request.user) + self.page_group = self.request.GET.get('page_group') self.page_range = self.request.GET.get('page_range') return super(DocumentPrint, self).dispatch(request, *args, **kwargs) @@ -767,16 +775,7 @@ class DocumentPrint(FormView): return context def get_object(self): - instance = get_object_or_404(Document, pk=self.kwargs['pk']) - - AccessControlList.objects.check_access( - permissions=permission_document_print, user=self.request.user, - obj=instance - ) - - instance.add_as_recent_document_for_user(self.request.user) - - return instance + return get_object_or_404(Document, pk=self.kwargs['pk']) def get_template_names(self): if self.page_group or self.page_range: