From b8fe8639ec28368a669477f83844f6368290351d Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Sun, 14 Sep 2014 14:32:46 -0400 Subject: [PATCH] If an user has a global permission then return entire queryset --- mayan/apps/common/views.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/mayan/apps/common/views.py b/mayan/apps/common/views.py index bee81b05b0..d1a553557a 100644 --- a/mayan/apps/common/views.py +++ b/mayan/apps/common/views.py @@ -264,7 +264,6 @@ class MayanPermissionCheckMixin(object): def dispatch(self, request, *args, **kwargs): if self.permissions_required: - print self.permissions_required Permission.objects.check_permissions(self.request.user, self.permissions_required) return super(MayanPermissionCheckMixin, self).dispatch(request, *args, **kwargs) @@ -385,6 +384,14 @@ class SingleObjectListView(MayanPermissionCheckMixin, ExtraContextMixin, MayanVi queryset = super(SingleObjectListView, self).get_queryset() if self.object_permission: - return AccessEntry.objects.filter_objects_by_access(self.object_permission, self.request.user, queryset) + try: + # Check to see if the user has the permissions globally + Permission.objects.check_permissions(self.request.user, [self.object_permission]) + except PermissionDenied: + # No global permission, filter ther queryset per object + permission + return AccessEntry.objects.filter_objects_by_access(self.object_permission, self.request.user, queryset) + else: + # Has the permission globally, return all results + return queryset else: return queryset