Permissions app updates
This commit is contained in:
@@ -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()])
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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])
|
||||
|
||||
@@ -5,7 +5,6 @@ from django.contrib.contenttypes.models import ContentType
|
||||
|
||||
from common.models import AnonymousUserSingleton
|
||||
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
|
||||
@@ -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?') % {
|
||||
|
||||
@@ -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'<span class="nowrap"><a href="%(url)s"><span class="famfam active famfam-%(icon)s"></span>%(text)s</a></span>'
|
||||
template = u'<span class="nowrap"><a href="%(url)s">{{ icon.display_small }}%(text)s</a></span>'
|
||||
|
||||
if permission in permission_list:
|
||||
return mark_safe(template % {
|
||||
|
||||
Reference in New Issue
Block a user