Update the tagging app to use the new class based permissions

This commit is contained in:
Roberto Rosario
2011-12-08 16:47:06 -04:00
parent 314029fe3d
commit 4474069f01
2 changed files with 18 additions and 24 deletions

View File

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

View File

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