Update the user management app to use the new class based permissions

This commit is contained in:
Roberto Rosario
2011-12-08 16:47:35 -04:00
parent 4474069f01
commit 24c6f60caf
2 changed files with 22 additions and 29 deletions

View File

@@ -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]}

View File

@@ -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(