Use the plural form 'required_permissions' to make it all uniform thruough the project.

This commit is contained in:
Roberto Rosario
2016-05-30 23:47:49 -04:00
parent 0a545f4b33
commit 132d66fff8
2 changed files with 10 additions and 12 deletions

View File

@@ -10,16 +10,16 @@ from permissions import Permission
class MayanObjectPermissionsFilter(BaseFilterBackend):
def filter_queryset(self, request, queryset, view):
required_permission = getattr(
required_permissions = getattr(
view, 'mayan_object_permissions', {}
).get(request.method, None)
if required_permission:
if required_permissions:
try:
Permission.check_permissions(request.user, required_permission)
Permission.check_permissions(request.user, required_permissions)
except PermissionDenied:
return AccessControlList.objects.filter_by_access(
required_permission[0], request.user, queryset
required_permissions[0], request.user, queryset
)
else:
return queryset

View File

@@ -1,6 +1,4 @@
from __future__ import absolute_import
from __future__ import unicode_literals
from __future__ import absolute_import, unicode_literals
from django.core.exceptions import PermissionDenied
@@ -27,24 +25,24 @@ class MayanPermission(BasePermission):
return True
def has_object_permission(self, request, view, obj):
required_permission = getattr(
required_permissions = getattr(
view, 'mayan_object_permissions', {}
).get(request.method, None)
if required_permission:
if required_permissions:
try:
Permission.check_permissions(request.user, required_permission)
Permission.check_permissions(request.user, required_permissions)
except PermissionDenied:
try:
if hasattr(view, 'mayan_permission_attribute_check'):
AccessControlList.objects.check_access(
permissions=required_permission,
permissions=required_permissions,
user=request.user, obj=obj,
related=view.mayan_permission_attribute_check
)
else:
AccessControlList.objects.check_access(
required_permission, request.user, obj
required_permissions, request.user, obj
)
except PermissionDenied:
return False