Update the tagging app to use the new class based permissions
This commit is contained in:
@@ -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'}
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user