From 304ea15f9ef15d169f066677955e75eab1cdda95 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Mon, 9 Jan 2012 06:41:06 -0400 Subject: [PATCH 1/3] Add sidebar link support for multiple navigation objects --- apps/main/templates/base.html | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/apps/main/templates/base.html b/apps/main/templates/base.html index ab7c60ca26..101caed080 100644 --- a/apps/main/templates/base.html +++ b/apps/main/templates/base.html @@ -278,7 +278,7 @@ {% endwith %} {% endwith %} {% endif %} - + {% get_object_navigation_links "secondary_menu" as object_navigation_links %} {% if object_navigation_links %}
@@ -290,7 +290,6 @@
{% endif %} - {% if navigation_object_list %} {% for navigation_object_dict in navigation_object_list %} {% copy_variable navigation_object_dict.object as "navigation_object_name" %} @@ -324,6 +323,17 @@ {% endif %} + {% get_object_navigation_links "sidebar" as object_navigation_links %} + {% if object_navigation_links %} +
+

{% trans "Other available actions" %}

+ +
+ {% endif %} {% endfor %} {% else %} {% get_object_navigation_links as object_navigation_links %} From 351784a2104fc98248422eb92e678f14abe52860 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Mon, 9 Jan 2012 06:41:58 -0400 Subject: [PATCH 2/3] Add generic 'new holder' link --- apps/acls/__init__.py | 6 +++++- apps/acls/urls.py | 1 + apps/acls/views.py | 47 ++++++++++++++++++++++++++++--------------- 3 files changed, 37 insertions(+), 17 deletions(-) diff --git a/apps/acls/__init__.py b/apps/acls/__init__.py index c6dd477306..64becbdef5 100644 --- a/apps/acls/__init__.py +++ b/apps/acls/__init__.py @@ -5,7 +5,8 @@ from django.utils.translation import ugettext_lazy as _ from navigation.api import register_links, register_multi_item_links from project_setup.api import register_setup -from .classes import AccessHolder, AccessObjectClass, ClassAccessHolder +from .classes import (AccessHolder, AccessObjectClass, ClassAccessHolder, + AccessObject) from .permissions import (ACLS_EDIT_ACL, ACLS_VIEW_ACL, ACLS_CLASS_EDIT_ACL, ACLS_CLASS_VIEW_ACL) @@ -14,6 +15,7 @@ acl_list = {'text': _(u'ACLs'), 'view': 'acl_list', 'famfam': 'lock', 'permissio acl_detail = {'text': _(u'details'), 'view': 'acl_detail', 'args': ['access_object.gid', 'object.gid'], 'famfam': 'key_go', 'permissions': [ACLS_VIEW_ACL]} acl_grant = {'text': _(u'grant'), 'view': 'acl_multiple_grant', 'famfam': 'key_add', 'permissions': [ACLS_EDIT_ACL]} acl_revoke = {'text': _(u'revoke'), 'view': 'acl_multiple_revoke', 'famfam': 'key_delete', 'permissions': [ACLS_EDIT_ACL]} +acl_holder_new = {'text': _(u'New holder'), 'view': 'acl_holder_new', 'args': 'access_object.gid', 'famfam': 'user', 'permissions': [ACLS_EDIT_ACL]} acl_setup_valid_classes = {'text': _(u'Default ACLs'), 'view': 'acl_setup_valid_classes', 'icon': 'lock.png', 'permissions': [ACLS_CLASS_VIEW_ACL]} acl_class_list = {'text': _(u'List of classes'), 'view': 'acl_setup_valid_classes', 'famfam': 'package', 'permissions': [ACLS_CLASS_VIEW_ACL]} @@ -26,6 +28,8 @@ acl_class_revoke = {'text': _(u'revoke'), 'view': 'acl_class_multiple_revoke', ' register_links(AccessHolder, [acl_detail]) register_multi_item_links(['acl_detail'], [acl_grant, acl_revoke]) +register_links([AccessObject], [acl_holder_new], menu_name='sidebar') + register_setup(acl_setup_valid_classes) register_links(['acl_setup_valid_classes', 'acl_class_acl_list', 'acl_class_new_holder_for', 'acl_class_acl_detail'], [acl_class_list], menu_name='secondary_menu') diff --git a/apps/acls/urls.py b/apps/acls/urls.py index ff1e9dd4b3..a544274b5b 100644 --- a/apps/acls/urls.py +++ b/apps/acls/urls.py @@ -4,6 +4,7 @@ urlpatterns = patterns('acls.views', url(r'^new_holder_for/(?P[-\w]+)/(?P[-\w]+)/(?P\d+)/$', 'acl_new_holder_for', (), 'acl_new_holder_for'), url(r'^list_for/(?P[-\w]+)/(?P[-\w]+)/(?P\d+)/$', 'acl_list', (), 'acl_list'), url(r'^details/(?P[.\w]+)/holder/(?P[.\w]+)/$', 'acl_detail', (), 'acl_detail'), + url(r'^holder/new/(?P[.\w]+)/$', 'acl_holder_new', (), 'acl_holder_new'), url(r'^multiple/grant/$', 'acl_grant', (), 'acl_multiple_grant'), url(r'^multiple/revoke/$', 'acl_revoke', (), 'acl_multiple_revoke'), diff --git a/apps/acls/views.py b/apps/acls/views.py index 375ab37b6e..d0a71b79a7 100644 --- a/apps/acls/views.py +++ b/apps/acls/views.py @@ -55,7 +55,12 @@ def acl_list_for(request, obj, extra_context=None): {'name': _(u'permissions'), 'attribute': encapsulate(lambda x: _permission_titles(AccessEntry.objects.get_holder_permissions_for(obj, x.source_object)))}, ], 'hide_object': True, - 'access_object': AccessObject.encapsulate(obj) + 'access_object': AccessObject.encapsulate(obj), + 'object': obj, + 'navigation_object_list': [ + {'object': 'object'}, + {'object': 'access_object'} + ], } if extra_context: @@ -78,12 +83,10 @@ def acl_detail(request, access_object_gid, holder_object_gid): except ObjectDoesNotExist: raise Http404 - navigation_object = request.GET.get('navigation_object') - logger.debug('navigation_object: %s' % navigation_object) - return acl_detail_for(request, holder.source_object, access_object.source_object, navigation_object) + return acl_detail_for(request, holder.source_object, access_object.source_object) -def acl_detail_for(request, actor, obj, navigation_object=None): +def acl_detail_for(request, actor, obj): try: Permission.objects.check_permissions(request.user, [ACLS_VIEW_ACL]) except PermissionDenied: @@ -123,15 +126,13 @@ def acl_detail_for(request, actor, obj, navigation_object=None): 'permission_pk': lambda x: x.pk, 'holder_gid': lambda x: AccessHolder(actor).gid, 'object_gid': lambda x: AccessObject(obj).gid, - } + }, + 'access_object': AccessObject.encapsulate(obj), + 'navigation_object_list': [ + {'object': 'object'}, + {'object': 'access_object'} + ], } - - if navigation_object: - context.update( - { - navigation_object: obj - } - ) return render_to_response( 'generic_detail.html', @@ -359,13 +360,28 @@ def acl_new_holder_for(request, obj, extra_context=None, navigation_object=None) 'title': _(u'add new holder for: %s') % obj, 'submit_label': _(u'Select'), 'submit_icon_famfam': 'tick', + 'object': obj, + 'access_object': AccessObject.encapsulate(obj), + 'navigation_object_list': [ + {'object': 'object'}, + {'object': 'access_object'}, + ], } - + if extra_context: context.update(extra_context) return render_to_response('generic_form.html', context, - context_instance=RequestContext(request)) + context_instance=RequestContext(request)) + + +def acl_holder_new(request, access_object_gid): + try: + access_object = AccessObject.get(gid=access_object_gid) + except ObjectDoesNotExist: + raise Http404 + + return acl_new_holder_for(request, access_object.source_object)#, extra_context={'access_object': access_object}) # Setup views @@ -435,7 +451,6 @@ def acl_class_acl_detail(request, access_object_class_gid, holder_object_gid): 'attribute': encapsulate(lambda x: two_state_template(DefaultAccessEntry.objects.has_access(x, actor.source_object, access_object_class.source_object))) }, ], - #'hide_link': True, 'hide_object': True, } }, From c330c422b728836622c2f340c7ce7c9c22fbab55 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Mon, 9 Jan 2012 06:42:35 -0400 Subject: [PATCH 3/3] Remove app specific ACL new holder links, urls and views --- apps/document_acls/__init__.py | 3 --- apps/document_acls/urls.py | 1 - apps/document_acls/views.py | 13 +----------- apps/folders/__init__.py | 3 --- apps/folders/urls.py | 1 - apps/folders/views.py | 16 +-------------- apps/linking/__init__.py | 13 +++++------- apps/linking/urls.py | 1 - apps/linking/views.py | 36 ++++++++++------------------------ apps/tags/__init__.py | 2 -- apps/tags/urls.py | 1 - apps/tags/views.py | 12 ------------ 12 files changed, 17 insertions(+), 85 deletions(-) diff --git a/apps/document_acls/__init__.py b/apps/document_acls/__init__.py index ff6d1f32bb..a904759f4d 100644 --- a/apps/document_acls/__init__.py +++ b/apps/document_acls/__init__.py @@ -7,12 +7,9 @@ from acls import ACLS_VIEW_ACL, ACLS_EDIT_ACL from acls.api import class_permissions acl_list = {'text': _(u'ACLs'), 'view': 'document_acl_list', 'args': 'object.pk', 'famfam': 'lock', 'permissions': [ACLS_VIEW_ACL]} -document_new_holder = {'text': _(u'New holder'), 'view': 'document_new_holder', 'args': 'object.pk', 'famfam': 'user', 'permissions': [ACLS_VIEW_ACL]} register_links(Document, [acl_list], menu_name='form_header') -register_links(['document_acl_list', 'document_new_holder'], [document_new_holder], menu_name='sidebar') - class_permissions(Document, [ ACLS_VIEW_ACL, ACLS_EDIT_ACL diff --git a/apps/document_acls/urls.py b/apps/document_acls/urls.py index e86dc9d4fc..50a6e79aa6 100644 --- a/apps/document_acls/urls.py +++ b/apps/document_acls/urls.py @@ -2,5 +2,4 @@ from django.conf.urls.defaults import patterns, url urlpatterns = patterns('document_acls.views', url(r'^list_for/document/(?P\d+)/$', 'document_acl_list', (), 'document_acl_list'), - url(r'^new_holder_for/document/(?P\d+)/$', 'document_new_holder', (), 'document_new_holder'), ) diff --git a/apps/document_acls/views.py b/apps/document_acls/views.py index 505770fa99..4b20a038ee 100644 --- a/apps/document_acls/views.py +++ b/apps/document_acls/views.py @@ -2,7 +2,7 @@ from django.shortcuts import render_to_response, get_object_or_404 from django.utils.translation import ugettext_lazy as _ from documents.models import Document -from acls.views import acl_list_for, acl_new_holder_for +from acls.views import acl_list_for from acls.models import AccessEntry @@ -15,14 +15,3 @@ def document_acl_list(request, document_id): 'object': document, } ) - - -def document_new_holder(request, document_id): - document = get_object_or_404(Document, pk=document_id) - return acl_new_holder_for( - request, - document, - extra_context={ - 'object': document, - } - ) diff --git a/apps/folders/__init__.py b/apps/folders/__init__.py index df51dbc4c0..8bbc3126b2 100644 --- a/apps/folders/__init__.py +++ b/apps/folders/__init__.py @@ -25,14 +25,11 @@ folder_add_document = {'text': _('add to a folder'), 'view': 'folder_add_documen document_folder_list = {'text': _(u'folders'), 'view': 'document_folder_list', 'args': 'object.pk', 'famfam': 'folder_user', 'permissions': [PERMISSION_DOCUMENT_VIEW], 'children_view_regex': [r'folder']} folder_acl_list = {'text': _(u'ACLs'), 'view': 'folder_acl_list', 'args': 'object.pk', 'famfam': 'lock', 'permissions': [ACLS_VIEW_ACL]} -folder_new_holder = {'text': _(u'New holder'), 'view': 'folder_new_holder', 'args': 'object.pk', 'famfam': 'user', 'permissions': [ACLS_VIEW_ACL]} register_multi_item_links(['folder_view'], [folder_document_multiple_remove]) register_links(Folder, [folder_view, folder_edit, folder_delete, folder_acl_list]) -register_links(['folder_acl_list', 'folder_new_holder'], [folder_new_holder], menu_name='sidebar') - register_links([Folder, 'folder_list', 'folder_create'], [folder_list, folder_create], menu_name='secondary_menu') register_top_menu(name='folders', link={'text': _('folders'), 'famfam': 'folder_user', 'view': 'folder_list'}, children_views=['folder_list', 'folder_create', 'folder_edit', 'folder_delete', 'folder_view', 'folder_document_multiple_remove']) diff --git a/apps/folders/urls.py b/apps/folders/urls.py index 46ad85b478..0e0cf0d5ad 100644 --- a/apps/folders/urls.py +++ b/apps/folders/urls.py @@ -13,5 +13,4 @@ urlpatterns = patterns('folders.views', url(r'^document/(?P\d+)/folder/list/$', 'document_folder_list', (), 'document_folder_list'), url(r'^(?P\d+)/acl/list/$', 'folder_acl_list', (), 'folder_acl_list'), - url(r'^(?P\d+)/acl/holder/new/$', 'folder_new_holder', (), 'folder_new_holder'), ) diff --git a/apps/folders/views.py b/apps/folders/views.py index d4eeadbaed..de1dcc4ca4 100644 --- a/apps/folders/views.py +++ b/apps/folders/views.py @@ -17,7 +17,7 @@ from documents.views import document_list from permissions import Permission from common.utils import encapsulate from acls.models import AccessEntry -from acls.views import acl_list_for, acl_new_holder_for +from acls.views import acl_list_for from .models import Folder, FolderDocument from .forms import FolderForm, FolderListForm @@ -291,17 +291,3 @@ def folder_acl_list(request, folder_pk): 'object': folder, } ) - - -def folder_new_holder(request, folder_pk): - folder = get_object_or_404(Folder, pk=folder_pk) - return acl_new_holder_for( - request, - folder, - extra_context={ - 'folder': folder, - 'submit_label': _(u'Select'), - 'submit_icon_famfam': 'tick', - 'object': folder, - } - ) diff --git a/apps/linking/__init__.py b/apps/linking/__init__.py index cb1c98cbff..0d827f3e48 100644 --- a/apps/linking/__init__.py +++ b/apps/linking/__init__.py @@ -20,18 +20,15 @@ smart_link_instances_for_document = {'text': _(u'smart links'), 'view': 'smart_l smart_link_setup = {'text': _(u'smart links'), 'view': 'smart_link_list', 'icon': 'link.png', 'permissions': [PERMISSION_SMART_LINK_CREATE]} smart_link_list = {'text': _(u'smart links list'), 'view': 'smart_link_list', 'famfam': 'link', 'permissions': [PERMISSION_SMART_LINK_CREATE]} smart_link_create = {'text': _(u'create new smart link'), 'view': 'smart_link_create', 'famfam': 'link_add', 'permissions': [PERMISSION_SMART_LINK_CREATE]} -smart_link_edit = {'text': _(u'edit'), 'view': 'smart_link_edit', 'args': 'smart_link.pk', 'famfam': 'link_edit', 'permissions': [PERMISSION_SMART_LINK_EDIT]} -smart_link_delete = {'text': _(u'delete'), 'view': 'smart_link_delete', 'args': 'smart_link.pk', 'famfam': 'link_delete', 'permissions': [PERMISSION_SMART_LINK_DELETE]} +smart_link_edit = {'text': _(u'edit'), 'view': 'smart_link_edit', 'args': 'object.pk', 'famfam': 'link_edit', 'permissions': [PERMISSION_SMART_LINK_EDIT]} +smart_link_delete = {'text': _(u'delete'), 'view': 'smart_link_delete', 'args': 'object.pk', 'famfam': 'link_delete', 'permissions': [PERMISSION_SMART_LINK_DELETE]} -smart_link_condition_list = {'text': _(u'conditions'), 'view': 'smart_link_condition_list', 'args': 'smart_link.pk', 'famfam': 'cog', 'permissions': [PERMISSION_SMART_LINK_CREATE, PERMISSION_SMART_LINK_CREATE]} -smart_link_condition_create = {'text': _(u'create condition'), 'view': 'smart_link_condition_create', 'args': 'smart_link.pk', 'famfam': 'cog_add', 'permissions': [PERMISSION_SMART_LINK_CREATE, PERMISSION_SMART_LINK_EDIT]} +smart_link_condition_list = {'text': _(u'conditions'), 'view': 'smart_link_condition_list', 'args': 'object.pk', 'famfam': 'cog', 'permissions': [PERMISSION_SMART_LINK_CREATE, PERMISSION_SMART_LINK_CREATE]} +smart_link_condition_create = {'text': _(u'create condition'), 'view': 'smart_link_condition_create', 'args': 'object.pk', 'famfam': 'cog_add', 'permissions': [PERMISSION_SMART_LINK_CREATE, PERMISSION_SMART_LINK_EDIT]} smart_link_condition_edit = {'text': _(u'edit'), 'view': 'smart_link_condition_edit', 'args': 'condition.pk', 'famfam': 'cog_edit', 'permissions': [PERMISSION_SMART_LINK_CREATE, PERMISSION_SMART_LINK_EDIT]} smart_link_condition_delete = {'text': _(u'delete'), 'view': 'smart_link_condition_delete', 'args': 'condition.pk', 'famfam': 'cog_delete', 'permissions': [PERMISSION_SMART_LINK_CREATE, PERMISSION_SMART_LINK_EDIT]} -smart_link_acl_list = {'text': _(u'ACLs'), 'view': 'smart_link_acl_list', 'args': 'smart_link.pk', 'famfam': 'lock', 'permissions': [ACLS_VIEW_ACL]} -smart_link_new_holder = {'text': _(u'New holder'), 'view': 'smart_link_new_holder', 'args': 'smart_link.pk', 'famfam': 'user', 'permissions': [ACLS_VIEW_ACL]} - -register_links(['smart_link_acl_list', 'smart_link_new_holder'], [smart_link_new_holder], menu_name='sidebar') +smart_link_acl_list = {'text': _(u'ACLs'), 'view': 'smart_link_acl_list', 'args': 'object.pk', 'famfam': 'lock', 'permissions': [ACLS_VIEW_ACL]} register_links(Document, [smart_link_instances_for_document], menu_name='form_header') diff --git a/apps/linking/urls.py b/apps/linking/urls.py index e13bc00441..cf47c7ca7e 100644 --- a/apps/linking/urls.py +++ b/apps/linking/urls.py @@ -16,5 +16,4 @@ urlpatterns = patterns('linking.views', url(r'^setup/smart_link/condition/(?P\d+)/delete/$', 'smart_link_condition_delete', (), 'smart_link_condition_delete'), url(r'^(?P\d+)/acl/list/$', 'smart_link_acl_list', (), 'smart_link_acl_list'), - url(r'^(?P\d+)/acl/holder/new/$', 'smart_link_new_holder', (), 'smart_link_new_holder'), ) diff --git a/apps/linking/views.py b/apps/linking/views.py index 5f72d8f393..58a1c8451c 100644 --- a/apps/linking/views.py +++ b/apps/linking/views.py @@ -15,7 +15,7 @@ from documents.models import Document from documents.views import document_list from documents.permissions import PERMISSION_DOCUMENT_VIEW from permissions.models import Permission -from acls.views import acl_new_holder_for, acl_list_for, acl_detail_for +from acls.views import acl_list_for from acls.models import AccessEntry, PermissionDenied from .models import SmartLink, SmartLinkCondition @@ -176,8 +176,8 @@ def smart_link_edit(request, smart_link_pk): form = SmartLinkForm(instance=smart_link) return render_to_response('generic_form.html', { - 'navigation_object_name': 'smart_link', - 'smart_link': smart_link, + #'navigation_object_name': 'smart_link', + 'object': smart_link, 'form': form, 'title': _(u'Edit smart link: %s') % smart_link }, context_instance=RequestContext(request)) @@ -207,8 +207,7 @@ def smart_link_delete(request, smart_link_pk): return render_to_response('generic_confirm.html', { 'delete_view': True, - 'navigation_object_name': 'smart_link', - 'smart_link': smart_link, + 'object': smart_link, 'title': _(u'Are you sure you wish to delete smart link: %s?') % smart_link, 'next': next, 'previous': previous, @@ -231,8 +230,7 @@ def smart_link_condition_list(request, smart_link_pk): {'name': _(u'enabled'), 'attribute': encapsulate(lambda x: two_state_template(x.enabled))}, ], 'hide_link': True, - 'smart_link': smart_link, - 'navigation_object_name': 'smart_link', + 'object': smart_link, 'list_object_variable_name': 'condition', }, context_instance=RequestContext(request)) @@ -259,8 +257,7 @@ def smart_link_condition_create(request, smart_link_pk): return render_to_response('generic_form.html', { 'form': form, 'title': _(u'Add new conditions to smart link: "%s"') % smart_link, - 'navigation_object_name': 'smart_link', - 'smart_link': smart_link, + 'object': smart_link, }, context_instance=RequestContext(request)) @@ -292,9 +289,9 @@ def smart_link_condition_edit(request, smart_link_condition_pk): 'next': next, 'previous': previous, 'condition': smart_link_condition, - 'smart_link': smart_link_condition.smart_link, + 'object': smart_link_condition.smart_link, 'navigation_object_list': [ - {'object': 'smart_link', 'name': _(u'smart link')}, + {'object': 'object', 'name': _(u'smart link')}, {'object': 'condition', 'name': _(u'condition')} ], @@ -326,9 +323,9 @@ def smart_link_condition_delete(request, smart_link_condition_pk): return render_to_response('generic_confirm.html', { 'delete_view': True, 'condition': smart_link_condition, - 'smart_link': smart_link_condition.smart_link, + 'object': smart_link_condition.smart_link, 'navigation_object_list': [ - {'object': 'smart_link', 'name': _(u'smart link')}, + {'object': 'object', 'name': _(u'smart link')}, {'object': 'condition', 'name': _(u'condition')} ], 'title': _(u'Are you sure you wish to delete smart link condition: "%s"?') % smart_link_condition, @@ -350,16 +347,3 @@ def smart_link_acl_list(request, smart_link_pk): 'smart_link': smart_link, } ) - - -def smart_link_new_holder(request, smart_link_pk): - smart_link = get_object_or_404(SmartLink, pk=smart_link_pk) - return acl_new_holder_for( - request, - smart_link, - extra_context={ - 'smart_link': smart_link, - 'object': smart_link, - }, - navigation_object=u'smart_link', - ) diff --git a/apps/tags/__init__.py b/apps/tags/__init__.py index 79a04dbd03..a00f69bf45 100644 --- a/apps/tags/__init__.py +++ b/apps/tags/__init__.py @@ -29,7 +29,6 @@ tag_edit = {'text': _(u'edit'), 'view': 'tag_edit', 'args': 'object.id', 'famfam tag_tagged_item_list = {'text': _(u'tagged documents'), 'view': 'tag_tagged_item_list', 'args': 'object.id', 'famfam': 'page'} tag_multiple_delete = {'text': _(u'delete'), 'view': 'tag_multiple_delete', 'famfam': 'tag_blue_delete', 'permissions': [PERMISSION_TAG_DELETE]} tag_acl_list = {'text': _(u'ACLs'), 'view': 'tag_acl_list', 'args': 'object.pk', 'famfam': 'lock', 'permissions': [ACLS_VIEW_ACL]} -tag_new_holder = {'text': _(u'New holder'), 'view': 'tag_new_holder', 'args': 'object.pk', 'famfam': 'user', 'permissions': [ACLS_VIEW_ACL]} register_model_list_columns(Tag, [ { @@ -56,7 +55,6 @@ register_links(Tag, [tag_tagged_item_list, tag_edit, tag_delete, tag_acl_list]) register_multi_item_links(['tag_list'], [tag_multiple_delete]) register_links([Tag, 'tag_list', 'tag_create'], [tag_list, tag_create], menu_name='secondary_menu') register_top_menu('tags', link={'text': _(u'tags'), 'view': 'tag_list', 'famfam': 'tag_blue'}, children_path_regex=[r'^tags/[^d]'])#TODO: change to children view regex or list -register_links(['tag_acl_list', 'tag_new_holder'], [tag_new_holder], menu_name='sidebar') register_links(Document, [tag_document_list], menu_name='form_header') register_links(['document_tags', 'tag_remove', 'tag_multiple_remove', 'tag_attach'], [tag_attach], menu_name='sidebar') diff --git a/apps/tags/urls.py b/apps/tags/urls.py index 403d4c258d..fff26800a8 100644 --- a/apps/tags/urls.py +++ b/apps/tags/urls.py @@ -14,5 +14,4 @@ urlpatterns = patterns('tags.views', url(r'^document/(?P\d+)/list/$', 'document_tags', (), 'document_tags'), url(r'^(?P\d+)/acl/list/$', 'tag_acl_list', (), 'tag_acl_list'), - url(r'^(?P\d+)/acl/holder/new/$', 'tag_new_holder', (), 'tag_new_holder'), ) diff --git a/apps/tags/views.py b/apps/tags/views.py index 8083f8d696..50e8929c10 100644 --- a/apps/tags/views.py +++ b/apps/tags/views.py @@ -301,15 +301,3 @@ def tag_acl_list(request, tag_pk): 'object': tag, } ) - - -def tag_new_holder(request, tag_pk): - tag = get_object_or_404(Tag, pk=tag_pk) - return acl_new_holder_for( - request, - tag, - extra_context={ - #'tag': tag, - 'object': tag, - } - )