Merge branch 'development' into lokeshmanmode/mayan-edms-master
This commit is contained in:
@@ -54,8 +54,13 @@ class Permission(object):
|
||||
|
||||
@classmethod
|
||||
def check_permissions(cls, requester, permissions):
|
||||
for permission in permissions:
|
||||
if permission.stored_permission.requester_has_this(requester):
|
||||
try:
|
||||
for permission in permissions:
|
||||
if permission.stored_permission.requester_has_this(requester):
|
||||
return True
|
||||
except TypeError:
|
||||
# Not a list of permissions, just one
|
||||
if permissions.stored_permission.requester_has_this(requester):
|
||||
return True
|
||||
|
||||
logger.debug('no permission')
|
||||
|
||||
@@ -3,8 +3,8 @@ from __future__ import unicode_literals
|
||||
from django.contrib.auth import get_user_model
|
||||
from django.contrib.auth.models import Group
|
||||
from django.core.exceptions import PermissionDenied
|
||||
from django.test import TestCase
|
||||
|
||||
from common.tests import BaseTestCase
|
||||
from user_management.tests import TEST_GROUP, TEST_USER_USERNAME
|
||||
|
||||
from ..classes import Permission
|
||||
@@ -14,14 +14,14 @@ from ..permissions import permission_role_view
|
||||
from .literals import TEST_ROLE_LABEL
|
||||
|
||||
|
||||
class PermissionTestCase(TestCase):
|
||||
class PermissionTestCase(BaseTestCase):
|
||||
def setUp(self):
|
||||
super(PermissionTestCase, self).setUp()
|
||||
self.user = get_user_model().objects.create(
|
||||
username=TEST_USER_USERNAME
|
||||
)
|
||||
self.group = Group.objects.create(name=TEST_GROUP)
|
||||
self.role = Role.objects.create(label=TEST_ROLE_LABEL)
|
||||
Permission.invalidate_cache()
|
||||
|
||||
def test_no_permissions(self):
|
||||
with self.assertRaises(PermissionDenied):
|
||||
|
||||
@@ -3,8 +3,8 @@ from __future__ import unicode_literals
|
||||
from django.contrib.auth import get_user_model
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.test.client import Client
|
||||
from django.test import TestCase
|
||||
|
||||
from common.tests import BaseTestCase
|
||||
from user_management.tests import (
|
||||
TEST_ADMIN_PASSWORD, TEST_ADMIN_USERNAME, TEST_ADMIN_EMAIL
|
||||
)
|
||||
@@ -14,8 +14,9 @@ from ..models import Role
|
||||
from .literals import TEST_ROLE_LABEL, TEST_ROLE_LABEL_EDITED
|
||||
|
||||
|
||||
class PermissionsViewsTestCase(TestCase):
|
||||
class PermissionsViewsTestCase(BaseTestCase):
|
||||
def setUp(self):
|
||||
super(PermissionsViewsTestCase, self).setUp()
|
||||
self.admin_user = get_user_model().objects.create_superuser(
|
||||
username=TEST_ADMIN_USERNAME, email=TEST_ADMIN_EMAIL,
|
||||
password=TEST_ADMIN_PASSWORD
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.conf.urls import patterns, url
|
||||
from django.conf.urls import url
|
||||
|
||||
from .api_views import APIRoleListView, APIRoleView, APIMapRolePerms,\
|
||||
APIMapRoleGroups, APIGetPermission, APIDeleteRoleGroups
|
||||
@@ -9,8 +9,7 @@ from .views import (
|
||||
SetupRoleMembersView, SetupRolePermissionsView
|
||||
)
|
||||
|
||||
urlpatterns = patterns(
|
||||
'',
|
||||
urlpatterns = [
|
||||
url(r'^role/list/$', RoleListView.as_view(), name='role_list'),
|
||||
url(r'^role/create/$', RoleCreateView.as_view(), name='role_create'),
|
||||
url(
|
||||
@@ -26,17 +25,17 @@ urlpatterns = patterns(
|
||||
r'^role/(?P<pk>\d+)/members/$', SetupRoleMembersView.as_view(),
|
||||
name='role_members'
|
||||
),
|
||||
)
|
||||
]
|
||||
|
||||
api_urls = patterns(
|
||||
api_urls = [
|
||||
url(r'^roles/$', APIRoleListView.as_view(), name='role-list'),
|
||||
url(r'^roles/(?P<pk>[0-9]+)/$', APIRoleView.as_view(), name='role-detail'),
|
||||
url(r'^roles/(?P<pk>[0-9]+)/permissions/$', APIMapRolePerms.as_view(),
|
||||
url(r'^roles/(?P<pk>[0-9]+)/permissions/$', APIMapRolePerms.as_view(),
|
||||
name='role-permissions-map'),
|
||||
url(r'^roles/(?P<pk>[0-9]+)/groups/$', APIMapRoleGroups.as_view(),
|
||||
url(r'^roles/(?P<pk>[0-9]+)/groups/$', APIMapRoleGroups.as_view(),
|
||||
name='map-role-groups'),
|
||||
url(r'^roles/(?P<role_pk>[0-9]+)/groups/(?P<group_pk>[0-9]+)/$', APIDeleteRoleGroups.as_view(),
|
||||
url(r'^roles/(?P<role_pk>[0-9]+)/groups/(?P<group_pk>[0-9]+)/$', APIDeleteRoleGroups.as_view(),
|
||||
name='delete-role-groups'),
|
||||
url(r'^$', APIGetPermission.as_view(),
|
||||
url(r'^$', APIGetPermission.as_view(),
|
||||
name='role-permissions'),
|
||||
)
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user