From 102f539f75d105c427195f6c18a268a0775416ed Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Fri, 23 May 2014 20:03:15 -0400 Subject: [PATCH] Move permissions app links to their own module, and update foreign app imports --- apps/folders/views.py | 4 ++-- apps/permissions/__init__.py | 22 +++++----------------- apps/permissions/links.py | 17 +++++++++++++++++ apps/tags/views.py | 2 +- 4 files changed, 25 insertions(+), 20 deletions(-) create mode 100644 apps/permissions/links.py diff --git a/apps/folders/views.py b/apps/folders/views.py index f5e4ed69b5..2936cca4b0 100644 --- a/apps/folders/views.py +++ b/apps/folders/views.py @@ -13,7 +13,7 @@ from django.core.exceptions import PermissionDenied from documents.permissions import PERMISSION_DOCUMENT_VIEW from documents.models import Document from documents.views import document_list -from permissions import Permission +from permissions.models import Permission from common.utils import encapsulate from acls.models import AccessEntry from acls.views import acl_list_for @@ -314,4 +314,4 @@ def folder_acl_list(request, folder_pk): def folder_add_multiple_documents(request): return folder_add_document( request, document_id_list=request.GET.get('id_list', []) - ) + ) diff --git a/apps/permissions/__init__.py b/apps/permissions/__init__.py index 73731a97db..a3523e0d66 100644 --- a/apps/permissions/__init__.py +++ b/apps/permissions/__init__.py @@ -3,26 +3,14 @@ from __future__ import absolute_import from django.contrib.auth.models import User 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_multi_item_links from project_setup.api import register_setup from .conf.settings import DEFAULT_ROLES -from .models import Role, Permission, PermissionNamespace -from .permissions import (PERMISSION_ROLE_VIEW, PERMISSION_ROLE_EDIT, - PERMISSION_ROLE_CREATE, PERMISSION_ROLE_DELETE, - PERMISSION_PERMISSION_GRANT, PERMISSION_PERMISSION_REVOKE) - -role_list = {'text': _(u'roles'), 'view': 'role_list', 'famfam': 'medal_gold_1', 'icon': 'medal_gold_1.png', 'permissions': [PERMISSION_ROLE_VIEW], 'children_view_regex': [r'^permission_', r'^role_']} -role_create = {'text': _(u'create new role'), 'view': 'role_create', 'famfam': 'medal_gold_add', 'permissions': [PERMISSION_ROLE_CREATE]} -role_edit = {'text': _(u'edit'), 'view': 'role_edit', 'args': 'object.id', 'famfam': 'medal_gold_1', 'permissions': [PERMISSION_ROLE_EDIT]} -role_members = {'text': _(u'members'), 'view': 'role_members', 'args': 'object.id', 'famfam': 'group_key', 'permissions': [PERMISSION_ROLE_EDIT]} -role_permissions = {'text': _(u'role permissions'), 'view': 'role_permissions', 'args': 'object.id', 'famfam': 'key_go', 'permissions': [PERMISSION_PERMISSION_GRANT, PERMISSION_PERMISSION_REVOKE]} -role_delete = {'text': _(u'delete'), 'view': 'role_delete', 'args': 'object.id', 'famfam': 'medal_gold_delete', 'permissions': [PERMISSION_ROLE_DELETE]} - -permission_grant = {'text': _(u'grant'), 'view': 'permission_multiple_grant', 'famfam': 'key_add', 'permissions': [PERMISSION_PERMISSION_GRANT]} -permission_revoke = {'text': _(u'revoke'), 'view': 'permission_multiple_revoke', 'famfam': 'key_delete', 'permissions': [PERMISSION_PERMISSION_REVOKE]} +from .models import Role +from .links import (role_list, role_create, role_edit, role_members, role_permissions, + role_delete, permission_grant, permission_revoke) register_links(Role, [role_edit, role_delete, role_permissions, role_members]) register_links([Role, 'role_list', 'role_create'], [role_list, role_create], menu_name='secondary_menu') @@ -35,10 +23,10 @@ def user_post_save(sender, instance, **kwargs): if kwargs.get('created', False): for default_role in DEFAULT_ROLES: if isinstance(default_role, Role): - #If a model is passed, execute method + # If a model is passed, execute method default_role.add_member(instance) else: - #If a role name is passed, lookup the corresponding model + # If a role name is passed, lookup the corresponding model try: role = Role.objects.get(name=default_role) role.add_member(instance) diff --git a/apps/permissions/links.py b/apps/permissions/links.py new file mode 100644 index 0000000000..db6ef05dc6 --- /dev/null +++ b/apps/permissions/links.py @@ -0,0 +1,17 @@ +from __future__ import absolute_import + +from django.utils.translation import ugettext_lazy as _ + +from .permissions import (PERMISSION_ROLE_VIEW, PERMISSION_ROLE_EDIT, + PERMISSION_ROLE_CREATE, PERMISSION_ROLE_DELETE, + PERMISSION_PERMISSION_GRANT, PERMISSION_PERMISSION_REVOKE) + +role_list = {'text': _(u'roles'), 'view': 'role_list', 'famfam': 'medal_gold_1', 'icon': 'medal_gold_1.png', 'permissions': [PERMISSION_ROLE_VIEW], 'children_view_regex': [r'^permission_', r'^role_']} +role_create = {'text': _(u'create new role'), 'view': 'role_create', 'famfam': 'medal_gold_add', 'permissions': [PERMISSION_ROLE_CREATE]} +role_edit = {'text': _(u'edit'), 'view': 'role_edit', 'args': 'object.id', 'famfam': 'medal_gold_1', 'permissions': [PERMISSION_ROLE_EDIT]} +role_members = {'text': _(u'members'), 'view': 'role_members', 'args': 'object.id', 'famfam': 'group_key', 'permissions': [PERMISSION_ROLE_EDIT]} +role_permissions = {'text': _(u'role permissions'), 'view': 'role_permissions', 'args': 'object.id', 'famfam': 'key_go', 'permissions': [PERMISSION_PERMISSION_GRANT, PERMISSION_PERMISSION_REVOKE]} +role_delete = {'text': _(u'delete'), 'view': 'role_delete', 'args': 'object.id', 'famfam': 'medal_gold_delete', 'permissions': [PERMISSION_ROLE_DELETE]} + +permission_grant = {'text': _(u'grant'), 'view': 'permission_multiple_grant', 'famfam': 'key_add', 'permissions': [PERMISSION_PERMISSION_GRANT]} +permission_revoke = {'text': _(u'revoke'), 'view': 'permission_multiple_revoke', 'famfam': 'key_delete', 'permissions': [PERMISSION_PERMISSION_REVOKE]} diff --git a/apps/tags/views.py b/apps/tags/views.py index c494503563..af9e148918 100644 --- a/apps/tags/views.py +++ b/apps/tags/views.py @@ -16,7 +16,7 @@ from acls.utils import apply_default_acls from documents.models import Document from documents.views import document_list from documents.permissions import PERMISSION_DOCUMENT_VIEW -from permissions import Permission +from permissions.models import Permission from taggit.models import Tag from .forms import TagListForm, TagForm