diff --git a/apps/user_management/__init__.py b/apps/user_management/__init__.py index 6b2bc6aa82..e5dbf82d51 100644 --- a/apps/user_management/__init__.py +++ b/apps/user_management/__init__.py @@ -2,28 +2,21 @@ from django.utils.translation import ugettext_lazy as _ from django.contrib.auth.models import User, Group from navigation.api import register_links, register_multi_item_links -from permissions.api import register_permission, set_namespace_title +from permissions.models import PermissionNamespace, Permission + from project_setup.api import register_setup -PERMISSION_USER_CREATE = {'namespace': 'user_management', 'name': 'user_create', 'label': _(u'Create new users')} -PERMISSION_USER_EDIT = {'namespace': 'user_management', 'name': 'user_edit', 'label': _(u'Edit existing users')} -PERMISSION_USER_VIEW = {'namespace': 'user_management', 'name': 'user_view', 'label': _(u'View existing users')} -PERMISSION_USER_DELETE = {'namespace': 'user_management', 'name': 'user_delete', 'label': _(u'Delete existing users')} +user_management_namespace = PermissionNamespace('user_management', _(u'User management')) -PERMISSION_GROUP_CREATE = {'namespace': 'user_management', 'name': 'group_create', 'label': _(u'Create new groups')} -PERMISSION_GROUP_EDIT = {'namespace': 'user_management', 'name': 'group_edit', 'label': _(u'Edit existing groups')} -PERMISSION_GROUP_VIEW = {'namespace': 'user_management', 'name': 'group_view', 'label': _(u'View existing groups')} -PERMISSION_GROUP_DELETE = {'namespace': 'user_management', 'name': 'group_delete', 'label': _(u'Delete existing groups')} +PERMISSION_USER_CREATE = Permission.objects.register(user_management_namespace, 'user_create', _(u'Create new users')) +PERMISSION_USER_EDIT = Permission.objects.register(user_management_namespace, 'user_edit', _(u'Edit existing users')) +PERMISSION_USER_VIEW = Permission.objects.register(user_management_namespace, 'user_view', _(u'View existing users')) +PERMISSION_USER_DELETE = Permission.objects.register(user_management_namespace, 'user_delete', _(u'Delete existing users')) -set_namespace_title('user_management', _(u'User management')) -register_permission(PERMISSION_USER_CREATE) -register_permission(PERMISSION_USER_EDIT) -register_permission(PERMISSION_USER_VIEW) -register_permission(PERMISSION_USER_DELETE) -register_permission(PERMISSION_GROUP_CREATE) -register_permission(PERMISSION_GROUP_EDIT) -register_permission(PERMISSION_GROUP_VIEW) -register_permission(PERMISSION_GROUP_DELETE) +PERMISSION_GROUP_CREATE = Permission.objects.register(user_management_namespace, 'group_create', _(u'Create new groups')) +PERMISSION_GROUP_EDIT = Permission.objects.register(user_management_namespace, 'group_edit', _(u'Edit existing groups')) +PERMISSION_GROUP_VIEW = Permission.objects.register(user_management_namespace, 'group_view', _(u'View existing groups')) +PERMISSION_GROUP_DELETE = Permission.objects.register(user_management_namespace, 'group_delete', _(u'Delete existing groups')) user_list = {'text': _(u'user list'), 'view': 'user_list', 'famfam': 'user', 'permissions': [PERMISSION_USER_VIEW]} user_setup = {'text': _(u'users'), 'view': 'user_list', 'famfam': 'user', 'icon': 'user.png', 'permissions': [PERMISSION_USER_VIEW]} diff --git a/apps/user_management/views.py b/apps/user_management/views.py index 7fc5eee7ae..e5167dfef5 100644 --- a/apps/user_management/views.py +++ b/apps/user_management/views.py @@ -7,7 +7,7 @@ from django.views.generic.list_detail import object_list from django.core.urlresolvers import reverse from django.contrib.auth.models import User, Group -from permissions.api import check_permissions +from permissions.models import Permission from common.utils import generate_choices_w_labels, encapsulate from common.widgets import two_state_template from common.views import assign_remove @@ -21,7 +21,7 @@ from user_management.forms import UserForm, PasswordForm, GroupForm def user_list(request): - check_permissions(request.user, [PERMISSION_USER_VIEW]) + Permission.objects.check_permissions(request.user, [PERMISSION_USER_VIEW]) return object_list( request, @@ -51,7 +51,7 @@ def user_list(request): def user_edit(request, user_id): - check_permissions(request.user, [PERMISSION_USER_EDIT]) + Permission.objects.check_permissions(request.user, [PERMISSION_USER_EDIT]) user = get_object_or_404(User, pk=user_id) if user.is_superuser or user.is_staff: @@ -77,7 +77,7 @@ def user_edit(request, user_id): def user_add(request): - check_permissions(request.user, [PERMISSION_USER_CREATE]) + Permission.objects.check_permissions(request.user, [PERMISSION_USER_CREATE]) if request.method == 'POST': form = UserForm(request.POST) @@ -96,7 +96,7 @@ def user_add(request): def user_delete(request, user_id=None, user_id_list=None): - check_permissions(request.user, [PERMISSION_USER_DELETE]) + Permission.objects.check_permissions(request.user, [PERMISSION_USER_DELETE]) post_action_redirect = None if user_id: @@ -150,7 +150,7 @@ def user_multiple_delete(request): def user_set_password(request, user_id=None, user_id_list=None): - check_permissions(request.user, [PERMISSION_USER_EDIT]) + Permission.objects.check_permissions(request.user, [PERMISSION_USER_EDIT]) post_action_redirect = None if user_id: @@ -212,7 +212,7 @@ def user_multiple_set_password(request): def group_list(request): - check_permissions(request.user, [PERMISSION_GROUP_VIEW]) + Permission.objects.check_permissions(request.user, [PERMISSION_GROUP_VIEW]) return object_list( request, @@ -233,7 +233,7 @@ def group_list(request): def group_edit(request, group_id): - check_permissions(request.user, [PERMISSION_GROUP_EDIT]) + Permission.objects.check_permissions(request.user, [PERMISSION_GROUP_EDIT]) group = get_object_or_404(Group, pk=group_id) if request.method == 'POST': @@ -255,7 +255,7 @@ def group_edit(request, group_id): def group_add(request): - check_permissions(request.user, [PERMISSION_GROUP_CREATE]) + Permission.objects.check_permissions(request.user, [PERMISSION_GROUP_CREATE]) if request.method == 'POST': form = GroupForm(request.POST) @@ -274,7 +274,7 @@ def group_add(request): def group_delete(request, group_id=None, group_id_list=None): - check_permissions(request.user, [PERMISSION_GROUP_DELETE]) + Permission.objects.check_permissions(request.user, [PERMISSION_GROUP_DELETE]) post_action_redirect = None if group_id: @@ -333,7 +333,7 @@ def get_non_group_members(group): def group_members(request, group_id): - check_permissions(request.user, [PERMISSION_GROUP_EDIT]) + Permission.objects.check_permissions(request.user, [PERMISSION_GROUP_EDIT]) group = get_object_or_404(Group, pk=group_id) return assign_remove(