From 4db14e71da5ba7db83d5d482629d539ae49a7800 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Fri, 7 Sep 2012 02:04:38 -0400 Subject: [PATCH] Permissions app updates --- apps/permissions/__init__.py | 35 +++++++---------------------------- apps/permissions/icons.py | 8 +++++++- apps/permissions/links.py | 18 ++++++++++-------- apps/permissions/managers.py | 1 - apps/permissions/views.py | 5 +++-- apps/permissions/widgets.py | 2 +- 6 files changed, 28 insertions(+), 41 deletions(-) diff --git a/apps/permissions/__init__.py b/apps/permissions/__init__.py index 1791e98567..eb2a3a2a96 100644 --- a/apps/permissions/__init__.py +++ b/apps/permissions/__init__.py @@ -1,16 +1,11 @@ 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 backups.api import AppBackup, ModelBackup -#from app_registry import register_app, UnableToRegister from navigation.api import bind_links, register_multi_item_links -from project_setup.api import register_setup +#from project_setup.api import register_setup -from .conf.settings import DEFAULT_ROLES from .links import (role_list, role_create, role_edit, role_members, role_permissions, role_delete, permission_grant, permission_revoke) from .models import Role @@ -23,27 +18,11 @@ register_multi_item_links(['role_permissions'], [permission_grant, permission_re permission_views = ['role_list', 'role_create', 'role_edit', 'role_members', 'role_permissions', 'role_delete'] -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 - default_role.add_member(instance) - else: - #If a role name is passed, lookup the corresponding model - try: - role = Role.objects.get(name=default_role) - role.add_member(instance) - except ObjectDoesNotExist: - pass -post_save.connect(user_post_save, sender=User) -register_setup(role_list) +#register_setup(role_list) + + +# app.set_backup([app_registry.classes.ModelBackup()]) +# -#try: -# app = register_app('permissions', _(u'Permissions')) -#except UnableToRegister: -# pass -#else: -# AppBackup(app, [ModelBackup()]) diff --git a/apps/permissions/icons.py b/apps/permissions/icons.py index 8799c26410..3475b9b2e1 100644 --- a/apps/permissions/icons.py +++ b/apps/permissions/icons.py @@ -1,8 +1,14 @@ from __future__ import absolute_import -from icons.literals import MEDAL_GOLD, MEDAL_GOLD_ADD, MEDAL_GOLD_DELETE +from icons.literals import (MEDAL_GOLD, MEDAL_GOLD_ADD, MEDAL_GOLD_DELETE, + GROUP_KEY, KEY_GO, KEY_ADD, KEY_DELETE) from icons import Icon icon_role = Icon(MEDAL_GOLD) icon_role_add = Icon(MEDAL_GOLD_ADD) icon_role_delete = Icon(MEDAL_GOLD_DELETE) +icon_role_members = Icon(GROUP_KEY) + +icon_permissions = Icon(KEY_GO) +icon_permission_grant = Icon(KEY_ADD) +icon_permission_revoke = Icon(KEY_DELETE) diff --git a/apps/permissions/links.py b/apps/permissions/links.py index 54d9f21a8c..de024b8ffe 100644 --- a/apps/permissions/links.py +++ b/apps/permissions/links.py @@ -7,13 +7,15 @@ from navigation.api import Link from .permissions import (PERMISSION_ROLE_VIEW, PERMISSION_ROLE_EDIT, PERMISSION_ROLE_CREATE, PERMISSION_ROLE_DELETE, PERMISSION_PERMISSION_GRANT, PERMISSION_PERMISSION_REVOKE) +from .icons import (icon_role, icon_role_add, icon_role_delete, icon_permissions, + icon_permission_grant, icon_permission_revoke, icon_role_members) -role_list = Link(text=_(u'roles'), view='role_list', sprite='medal_gold_1', icon='medal_gold_1.png', permissions=[PERMISSION_ROLE_VIEW])#, 'children_view_regex': [r'^permission_', r'^role_']) -role_create = Link(text=_(u'create new role'), view='role_create', sprite='medal_gold_add', permissions=[PERMISSION_ROLE_CREATE]) -role_edit = Link(text=_(u'edit'), view='role_edit', args='object.id', sprite='medal_gold_1', permissions=[PERMISSION_ROLE_EDIT]) -role_members = Link(text=_(u'members'), view='role_members', args='object.id', sprite='group_key', permissions=[PERMISSION_ROLE_EDIT]) -role_permissions = Link(text=_(u'role permissions'), view='role_permissions', args='object.id', sprite='key_go', permissions=[PERMISSION_PERMISSION_GRANT, PERMISSION_PERMISSION_REVOKE]) -role_delete = Link(text=_(u'delete'), view='role_delete', args='object.id', sprite='medal_gold_delete', permissions=[PERMISSION_ROLE_DELETE]) +role_list = Link(text=_(u'roles'), view='role_list', icon=icon_role, permissions=[PERMISSION_ROLE_VIEW])#, 'children_view_regex': [r'^permission_', r'^role_']) +role_create = Link(text=_(u'create new role'), view='role_create', icon=icon_role_add, permissions=[PERMISSION_ROLE_CREATE]) +role_edit = Link(text=_(u'edit'), view='role_edit', args='object.id', icon=icon_role, permissions=[PERMISSION_ROLE_EDIT]) +role_members = Link(text=_(u'members'), view='role_members', args='object.id', icon=icon_role_members, permissions=[PERMISSION_ROLE_EDIT]) +role_permissions = Link(text=_(u'role permissions'), view='role_permissions', args='object.id', icon=icon_permissions, permissions=[PERMISSION_PERMISSION_GRANT, PERMISSION_PERMISSION_REVOKE]) +role_delete = Link(text=_(u'delete'), view='role_delete', args='object.id', icon=icon_role_delete, permissions=[PERMISSION_ROLE_DELETE]) -permission_grant = Link(text=_(u'grant'), view='permission_multiple_grant', sprite='key_add', permissions=[PERMISSION_PERMISSION_GRANT]) -permission_revoke = Link(text=_(u'revoke'), view='permission_multiple_revoke', sprite='key_delete', permissions=[PERMISSION_PERMISSION_REVOKE]) +permission_grant = Link(text=_(u'grant'), view='permission_multiple_grant', icon=icon_permission_grant, permissions=[PERMISSION_PERMISSION_GRANT]) +permission_revoke = Link(text=_(u'revoke'), view='permission_multiple_revoke', icon=icon_permission_revoke, permissions=[PERMISSION_PERMISSION_REVOKE]) diff --git a/apps/permissions/managers.py b/apps/permissions/managers.py index 25037f2065..e3d19e89ee 100644 --- a/apps/permissions/managers.py +++ b/apps/permissions/managers.py @@ -5,7 +5,6 @@ from django.contrib.contenttypes.models import ContentType from common.models import AnonymousUserSingleton - logger = logging.getLogger(__name__) diff --git a/apps/permissions/views.py b/apps/permissions/views.py index 742a2c0e58..951cb2a37a 100644 --- a/apps/permissions/views.py +++ b/apps/permissions/views.py @@ -26,6 +26,7 @@ from .forms import RoleForm, RoleForm_view from .permissions import (PERMISSION_ROLE_VIEW, PERMISSION_ROLE_EDIT, PERMISSION_ROLE_CREATE, PERMISSION_ROLE_DELETE, PERMISSION_PERMISSION_GRANT, PERMISSION_PERMISSION_REVOKE) +from .icons import icon_permission_grant def role_list(request): @@ -60,7 +61,7 @@ def role_permissions(request, role_id): {'name': _(u'name'), 'attribute': encapsulate(lambda x: x.label)}, { 'name':_(u'has permission'), - 'attribute': encapsulate(lambda x: two_state_template(x.requester_has_this(role))), + 'attribute': encapsulate(lambda x: two_state_template(x.requester_has_this(role)).display_small()), }, ], 'hide_link': True, @@ -166,7 +167,7 @@ def permission_grant(request): context = { 'previous': previous, 'next': next, - 'form_icon': u'key_add.png', + 'form_icon': icon_permission_grant, } context['title'] = _(u'Are you sure you wish to grant the %(permissions_label)s %(title_suffix)s?') % { diff --git a/apps/permissions/widgets.py b/apps/permissions/widgets.py index 5fa9e462c9..b1da3afc9b 100644 --- a/apps/permissions/widgets.py +++ b/apps/permissions/widgets.py @@ -7,7 +7,7 @@ from django.core.urlresolvers import reverse def role_permission_link(requester, permission, permission_list): ct = ContentType.objects.get_for_model(requester) - template = u'%(text)s' + template = u'{{ icon.display_small }}%(text)s' if permission in permission_list: return mark_safe(template % {