Refactored the permissions registration, checking and definition

This commit is contained in:
Roberto Rosario
2011-05-24 22:31:07 -04:00
parent ebaf4165e2
commit d97a862a25
25 changed files with 261 additions and 288 deletions

View File

@@ -1,23 +1,21 @@
from django.utils.translation import ugettext_lazy as _
from navigation.api import register_menu
from permissions.api import register_permissions
from permissions.api import register_permission
from main.api import register_tool
PERMISSION_DOCUMENT_INDEXING_VIEW = 'document_index_view'
PERMISSION_DOCUMENT_INDEXING_REBUILD_INDEXES = 'document_rebuild_indexes'
PERMISSION_DOCUMENT_INDEXING_VIEW = {'namespace': 'document_indexing', 'name': 'document_index_view', 'label': _(u'View document indexes')}
PERMISSION_DOCUMENT_INDEXING_REBUILD_INDEXES = {'namespace': 'document_indexing', 'name': 'document_rebuild_indexes', 'label': _(u'Rebuild document indexes')}
register_permissions('document_indexing', [
{'name': PERMISSION_DOCUMENT_INDEXING_VIEW, 'label': _(u'View document indexes')},
{'name': PERMISSION_DOCUMENT_INDEXING_REBUILD_INDEXES, 'label': _(u'Rebuild document indexes')},
])
register_permission(PERMISSION_DOCUMENT_INDEXING_VIEW)
register_permission(PERMISSION_DOCUMENT_INDEXING_REBUILD_INDEXES)
index_list = {'text': _(u'index list'), 'view': 'index_instance_list', 'famfam': 'folder_link', 'permissions': {'namespace': 'document_indexing', 'permissions': [PERMISSION_DOCUMENT_INDEXING_VIEW]}}
index_list = {'text': _(u'index list'), 'view': 'index_instance_list', 'famfam': 'folder_link', 'permissions': [PERMISSION_DOCUMENT_INDEXING_VIEW]}
register_menu([
{'text': _('indexes'), 'view': 'index_instance_list', 'links': [
], 'famfam': 'folder_link', 'position': 2, 'permissions': {'namespace': 'document_indexing', 'permissions': [PERMISSION_DOCUMENT_INDEXING_VIEW]}}])
], 'famfam': 'folder_link', 'position': 2, 'permissions': [PERMISSION_DOCUMENT_INDEXING_VIEW]}])
rebuild_index_instances = {'text': _('rebuild indexes'), 'view': 'rebuild_index_instances', 'famfam': 'folder_link', 'permissions': {'namespace': 'document_indexing', 'permissions': [PERMISSION_DOCUMENT_INDEXING_REBUILD_INDEXES]}, 'description': _(u'Deletes and creates from scratch all the document indexes.')}
rebuild_index_instances = {'text': _('rebuild indexes'), 'view': 'rebuild_index_instances', 'famfam': 'folder_link', 'permissions': [PERMISSION_DOCUMENT_INDEXING_REBUILD_INDEXES], 'description': _(u'Deletes and creates from scratch all the document indexes.')}
register_tool(rebuild_index_instances, namespace='document_indexing', title=_(u'Indexes'))

View File

@@ -16,7 +16,7 @@ from document_indexing.api import get_breadcrumbs, get_instance_link, \
def index_instance_list(request, index_id=None):
check_permissions(request.user, 'document_indexing', [PERMISSION_DOCUMENT_INDEXING_VIEW])
check_permissions(request.user, [PERMISSION_DOCUMENT_INDEXING_VIEW])
if index_id:
index_instance = get_object_or_404(IndexInstance, pk=index_id)
@@ -39,7 +39,7 @@ def index_instance_list(request, index_id=None):
def rebuild_index_instances(request):
check_permissions(request.user, 'document_indexing', [PERMISSION_DOCUMENT_INDEXING_REBUILD_INDEXES])
check_permissions(request.user, [PERMISSION_DOCUMENT_INDEXING_REBUILD_INDEXES])
previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', None)))
next = request.POST.get('next', request.GET.get('next', request.META.get('HTTP_REFERER', None)))