From 043f8f3502d8ba39e0f7a780c4479bc9f36a113f Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Tue, 29 Mar 2011 11:04:30 -0400 Subject: [PATCH] Fixed issue #4, avoid circular import in permissions/__init__.py --- apps/main/__init__.py | 6 ++---- apps/permissions/__init__.py | 14 +------------- apps/permissions/api.py | 14 +++++++++++++- ...ddleware.py => permission_denied_middleware.py} | 0 settings.py | 2 +- 5 files changed, 17 insertions(+), 19 deletions(-) rename apps/permissions/middleware/{permissiondeniedmiddleware.py => permission_denied_middleware.py} (100%) diff --git a/apps/main/__init__.py b/apps/main/__init__.py index 34b64f63aa..ea6a16184a 100644 --- a/apps/main/__init__.py +++ b/apps/main/__init__.py @@ -2,8 +2,7 @@ from django.utils.translation import ugettext_lazy as _ from navigation.api import register_menu -#from permissions import role_list -#TODO: Disabled until issue #4 is fixed +from permissions import role_list from documents import document_find_all_duplicates from filesystem_serving import filesystem_serving_recreate_all_links @@ -22,8 +21,7 @@ main_menu = [ ],'famfam':'wrench', 'name':'tools','position':7}, {'text':_(u'setup'), 'view':'check_settings', 'links': [ - check_settings#, role_list - #TODO: Disabled until issue #4 is fixed + check_settings, role_list ],'famfam':'cog', 'name':'setup','position':8}, {'text':_(u'about'), 'view':'about', 'position':9}, diff --git a/apps/permissions/__init__.py b/apps/permissions/__init__.py index ccd9f70768..c975bf0283 100644 --- a/apps/permissions/__init__.py +++ b/apps/permissions/__init__.py @@ -3,13 +3,10 @@ from django.db.models.signals import post_save from django.core.exceptions import ObjectDoesNotExist from django.utils.translation import ugettext_lazy as _ -from navigation.api import register_links, register_menu, \ - register_model_list_columns +from navigation.api import register_links, register_menu from permissions.conf.settings import DEFAULT_ROLES - from models import Role -from api import register_permissions PERMISSION_ROLE_VIEW = 'role_view' PERMISSION_ROLE_EDIT = 'role_edit' @@ -18,15 +15,6 @@ PERMISSION_ROLE_DELETE = 'role_delete' PERMISSION_PERMISSION_GRANT = 'permission_grant' PERMISSION_PERMISSION_REVOKE = 'permission_revoke' -register_permissions('permissions', [ - {'name':PERMISSION_ROLE_VIEW, 'label':_(u'View roles')}, - {'name':PERMISSION_ROLE_EDIT, 'label':_(u'Edit roles')}, - {'name':PERMISSION_ROLE_CREATE, 'label':_(u'Create roles')}, - {'name':PERMISSION_ROLE_DELETE, 'label':_(u'Delete roles')}, - {'name':PERMISSION_PERMISSION_GRANT, 'label':_(u'Grant permissions')}, - {'name':PERMISSION_PERMISSION_REVOKE, 'label':_(u'Revoke permissions')}, -]) - role_list = {'text':_(u'roles'), 'view':'role_list', 'famfam':'medal_gold_1', 'permissions':{'namespace':'permissions', 'permissions':[PERMISSION_ROLE_VIEW]}} role_create = {'text':_(u'create new role'), 'view':'role_create', 'famfam':'medal_gold_add', 'permissions':{'namespace':'permissions', 'permissions':[PERMISSION_ROLE_CREATE]}} diff --git a/apps/permissions/api.py b/apps/permissions/api.py index 3e019faaae..19b3f96f38 100644 --- a/apps/permissions/api.py +++ b/apps/permissions/api.py @@ -8,10 +8,12 @@ from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext from django.core.exceptions import PermissionDenied +from permissions import PERMISSION_ROLE_VIEW, PERMISSION_ROLE_EDIT, \ + PERMISSION_ROLE_CREATE, PERMISSION_ROLE_DELETE, \ + PERMISSION_PERMISSION_GRANT, PERMISSION_PERMISSION_REVOKE from models import Permission, Role - def register_permissions(namespace, permissions): if permissions: for permission in permissions: @@ -67,3 +69,13 @@ def check_elements(requester, requester_list): for requester_object in requester_list: if requester == requester_object: return True + + +register_permissions('permissions', [ + {'name':PERMISSION_ROLE_VIEW, 'label':_(u'View roles')}, + {'name':PERMISSION_ROLE_EDIT, 'label':_(u'Edit roles')}, + {'name':PERMISSION_ROLE_CREATE, 'label':_(u'Create roles')}, + {'name':PERMISSION_ROLE_DELETE, 'label':_(u'Delete roles')}, + {'name':PERMISSION_PERMISSION_GRANT, 'label':_(u'Grant permissions')}, + {'name':PERMISSION_PERMISSION_REVOKE, 'label':_(u'Revoke permissions')}, +]) diff --git a/apps/permissions/middleware/permissiondeniedmiddleware.py b/apps/permissions/middleware/permission_denied_middleware.py similarity index 100% rename from apps/permissions/middleware/permissiondeniedmiddleware.py rename to apps/permissions/middleware/permission_denied_middleware.py diff --git a/settings.py b/settings.py index 46109a6448..c6f9f71ed6 100644 --- a/settings.py +++ b/settings.py @@ -97,8 +97,8 @@ MIDDLEWARE_CLASSES = ( 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'common.middleware.login_required_middleware.LoginRequiredMiddleware', + 'permissions.middleware.permission_denied_middleware.PermissionDeniedMiddleware', 'pagination.middleware.PaginationMiddleware', - 'permissions.middleware.permissiondeniedmiddleware.PermissionDeniedMiddleware', ) ROOT_URLCONF = 'urls'