From 4474069f0133ca64f8749f23a53adb76492b1ba8 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 8 Dec 2011 16:47:06 -0400 Subject: [PATCH] Update the tagging app to use the new class based permissions --- apps/tags/__init__.py | 22 ++++++++-------------- apps/tags/views.py | 20 ++++++++++---------- 2 files changed, 18 insertions(+), 24 deletions(-) diff --git a/apps/tags/__init__.py b/apps/tags/__init__.py index 4b349e012e..6e8df5bc15 100644 --- a/apps/tags/__init__.py +++ b/apps/tags/__init__.py @@ -2,7 +2,7 @@ from django.utils.translation import ugettext_lazy as _ from navigation.api import register_links, register_top_menu, \ register_model_list_columns, register_multi_item_links -from permissions.api import register_permission, set_namespace_title +from permissions.models import PermissionNamespace, Permission from common.utils import encapsulate from documents.models import Document @@ -10,20 +10,14 @@ from taggit.models import Tag from tags.widgets import tag_color_block -PERMISSION_TAG_CREATE = {'namespace': 'tags', 'name': 'tag_create', 'label': _(u'Create new tags')} -PERMISSION_TAG_ATTACH = {'namespace': 'tags', 'name': 'tag_attach', 'label': _(u'Attach exising tags')} -PERMISSION_TAG_REMOVE = {'namespace': 'tags', 'name': 'tag_remove', 'label': _(u'Remove tags from documents')} -PERMISSION_TAG_DELETE = {'namespace': 'tags', 'name': 'tag_delete', 'label': _(u'Delete global tags')} -PERMISSION_TAG_EDIT = {'namespace': 'tags', 'name': 'tag_edit', 'label': _(u'Edit global tags')} -PERMISSION_TAG_VIEW = {'namespace': 'tags', 'name': 'tag_view', 'label': _(u'View a document\'s tags')} +tags_namespace = PermissionNamespace('tags', _(u'Tags')) -set_namespace_title('tags', _(u'Tags')) -register_permission(PERMISSION_TAG_CREATE) -register_permission(PERMISSION_TAG_ATTACH) -register_permission(PERMISSION_TAG_REMOVE) -register_permission(PERMISSION_TAG_DELETE) -register_permission(PERMISSION_TAG_EDIT) -register_permission(PERMISSION_TAG_VIEW) +PERMISSION_TAG_CREATE = Permission.objects.register(tags_namespace, 'tag_create', _(u'Create new tags')) +PERMISSION_TAG_ATTACH = Permission.objects.register(tags_namespace, 'tag_attach', _(u'Attach exising tags')) +PERMISSION_TAG_REMOVE = Permission.objects.register(tags_namespace, 'tag_remove', _(u'Remove tags from documents')) +PERMISSION_TAG_DELETE = Permission.objects.register(tags_namespace, 'tag_delete', _(u'Delete global tags')) +PERMISSION_TAG_EDIT = Permission.objects.register(tags_namespace, 'tag_edit', _(u'Edit global tags')) +PERMISSION_TAG_VIEW = Permission.objects.register(tags_namespace, 'tag_view', _(u'View a document\'s tags')) tag_list = {'text': _(u'tag list'), 'view': 'tag_list', 'famfam': 'tag_blue'} tag_create = {'text': _(u'create new tag'), 'view': 'tag_create', 'famfam': 'tag_blue_add'} diff --git a/apps/tags/views.py b/apps/tags/views.py index 45d91c1921..94fd2ff170 100644 --- a/apps/tags/views.py +++ b/apps/tags/views.py @@ -5,7 +5,7 @@ from django.contrib import messages from django.core.urlresolvers import reverse from django.utils.translation import ugettext_lazy as _ -from permissions.api import check_permissions +from permissions.models import Permission from taggit.models import Tag from documents.models import Document from documents.views import document_list @@ -20,7 +20,7 @@ from tags import tag_tagged_item_list as tag_tagged_item_list_link def tag_create(request): - #check_permissions(request.user, [PERMISSION_TAG_EDIT]) + #Permission.objects.check_permissions(request.user, [PERMISSION_TAG_EDIT]) redirect_url = reverse('tag_list') previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', redirect_url))) @@ -59,14 +59,14 @@ def tag_add_sidebar(request, document_id): form = AddTagForm(request.POST) if form.is_valid(): if form.cleaned_data['new_tag']: - check_permissions(request.user, [PERMISSION_TAG_CREATE]) + Permission.objects.check_permissions(request.user, [PERMISSION_TAG_CREATE]) tag_name = form.cleaned_data['new_tag'] if Tag.objects.filter(name=tag_name): is_new = False else: is_new = True elif form.cleaned_data['existing_tags']: - check_permissions(request.user, [PERMISSION_TAG_ATTACH]) + Permission.objects.check_permissions(request.user, [PERMISSION_TAG_ATTACH]) tag_name = form.cleaned_data['existing_tags'] is_new = False else: @@ -98,14 +98,14 @@ def tag_add_attach(request, document_id): form = AddTagForm(request.POST) if form.is_valid(): if form.cleaned_data['new_tag']: - check_permissions(request.user, [PERMISSION_TAG_CREATE]) + Permission.objects.check_permissions(request.user, [PERMISSION_TAG_CREATE]) tag_name = form.cleaned_data['new_tag'] if Tag.objects.filter(name=tag_name): is_new = False else: is_new = True elif form.cleaned_data['existing_tags']: - check_permissions(request.user, [PERMISSION_TAG_ATTACH]) + Permission.objects.check_permissions(request.user, [PERMISSION_TAG_ATTACH]) tag_name = form.cleaned_data['existing_tags'] is_new = False else: @@ -154,7 +154,7 @@ def tag_list(request): def tag_delete(request, tag_id=None, tag_id_list=None): - check_permissions(request.user, [PERMISSION_TAG_DELETE]) + Permission.objects.check_permissions(request.user, [PERMISSION_TAG_DELETE]) post_action_redirect = None if tag_id: @@ -207,7 +207,7 @@ def tag_multiple_delete(request): def tag_edit(request, tag_id): - check_permissions(request.user, [PERMISSION_TAG_EDIT]) + Permission.objects.check_permissions(request.user, [PERMISSION_TAG_EDIT]) tag = get_object_or_404(Tag, pk=tag_id) if request.method == 'POST': @@ -251,7 +251,7 @@ def tag_tagged_item_list(request, tag_id): def document_tags(request, document_id): - check_permissions(request.user, [PERMISSION_TAG_VIEW]) + Permission.objects.check_permissions(request.user, [PERMISSION_TAG_VIEW]) document = get_object_or_404(Document, pk=document_id) return render_to_response('generic_list.html', { @@ -268,7 +268,7 @@ def document_tags(request, document_id): def tag_remove(request, document_id, tag_id=None, tag_id_list=None): - check_permissions(request.user, [PERMISSION_TAG_REMOVE]) + Permission.objects.check_permissions(request.user, [PERMISSION_TAG_REMOVE]) post_action_redirect = None