Add check_permissions replacement
Add a new class method named check_user_permission. This method is smaller as it only accepts a single permission instead of a single or a list of permission like check_permissions does. check_user_permission is meant to replace check_permissions. Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
This commit is contained in:
@@ -72,15 +72,16 @@ class Permission(object):
|
|||||||
cls._permissions.values(), key=lambda x: x.namespace.name
|
cls._permissions.values(), key=lambda x: x.namespace.name
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Deprecated method
|
||||||
@classmethod
|
@classmethod
|
||||||
def check_permissions(cls, requester, permissions):
|
def check_permissions(cls, permissions, requester):
|
||||||
try:
|
try:
|
||||||
for permission in permissions:
|
for permission in permissions:
|
||||||
if permission.stored_permission.requester_has_this(requester):
|
if permission.stored_permission.user_has_this(user=requester):
|
||||||
return True
|
return True
|
||||||
except TypeError:
|
except TypeError:
|
||||||
# Not a list of permissions, just one
|
# Not a list of permissions, just one
|
||||||
if permissions.stored_permission.requester_has_this(requester):
|
if permissions.stored_permission.user_has_this(user=requester):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
logger.debug(
|
logger.debug(
|
||||||
@@ -88,6 +89,13 @@ class Permission(object):
|
|||||||
)
|
)
|
||||||
raise PermissionDenied(_('Insufficient permissions.'))
|
raise PermissionDenied(_('Insufficient permissions.'))
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def check_user_permission(cls, permission, user):
|
||||||
|
if permission.stored_permission.user_has_this(user=user):
|
||||||
|
return True
|
||||||
|
|
||||||
|
raise PermissionDenied(_('Insufficient permissions.'))
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def get(cls, pk, proxy_only=False):
|
def get(cls, pk, proxy_only=False):
|
||||||
if proxy_only:
|
if proxy_only:
|
||||||
|
|||||||
Reference in New Issue
Block a user