From c000eade4f3464628468ea9a1e374d0759c2af0d Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 8 Dec 2011 16:44:54 -0400 Subject: [PATCH] Update the document comments app to use the new class based permissions --- apps/document_comments/__init__.py | 20 +++++++------------- apps/document_comments/views.py | 8 ++++---- 2 files changed, 11 insertions(+), 17 deletions(-) diff --git a/apps/document_comments/__init__.py b/apps/document_comments/__init__.py index 01619af003..895d96e1ed 100644 --- a/apps/document_comments/__init__.py +++ b/apps/document_comments/__init__.py @@ -2,9 +2,8 @@ from django.utils.translation import ugettext_lazy as _ from django.conf import settings from django.contrib.comments.models import Comment -from navigation.api import register_links, \ - register_model_list_columns -from permissions.api import register_permission, set_namespace_title +from navigation.api import register_links, register_model_list_columns +from permissions.models import PermissionNamespace, Permission from common.utils import encapsulate from documents.models import Document @@ -12,16 +11,12 @@ from documents.models import Document if 'django.contrib.comments' not in settings.INSTALLED_APPS: raise Exception('This app depends on the django.contrib.comments app.') -PERMISSION_COMMENT_CREATE = {'namespace': 'comments', 'name': 'comment_create', 'label': _(u'Create new comments')} -PERMISSION_COMMENT_DELETE = {'namespace': 'comments', 'name': 'comment_delete', 'label': _(u'Delete comments')} -PERMISSION_COMMENT_EDIT = {'namespace': 'comments', 'name': 'comment_edit', 'label': _(u'Edit comments')} -PERMISSION_COMMENT_VIEW = {'namespace': 'comments', 'name': 'comment_view', 'label': _(u'View comments')} +comments_namespace = PermissionNamespace('comments', _(u'Comments')) -set_namespace_title('comments', _(u'Comments')) -register_permission(PERMISSION_COMMENT_CREATE) -register_permission(PERMISSION_COMMENT_DELETE) -register_permission(PERMISSION_COMMENT_EDIT) -register_permission(PERMISSION_COMMENT_VIEW) +PERMISSION_COMMENT_CREATE = Permission.objects.register(comments_namespace, 'comment_create', _(u'Create new comments')) +PERMISSION_COMMENT_DELETE = Permission.objects.register(comments_namespace, 'comment_delete', _(u'Delete comments')) +PERMISSION_COMMENT_EDIT = Permission.objects.register(comments_namespace, 'comment_edit', _(u'Edit comments')) +PERMISSION_COMMENT_VIEW = Permission.objects.register(comments_namespace, 'comment_view', _(u'View comments')) comment_delete = {'text': _('delete'), 'view': 'comment_delete', 'args': 'object.pk', 'famfam': 'comment_delete', 'permissions': [PERMISSION_COMMENT_DELETE]} comment_multiple_delete = {'text': _('delete'), 'view': 'comment_multiple_delete', 'args': 'object.pk', 'famfam': 'comments_delete', 'permissions': [PERMISSION_COMMENT_DELETE]} @@ -45,5 +40,4 @@ register_model_list_columns(Comment, [ register_links(['comments_for_object', 'comment_add', 'comment_delete', 'comment_multiple_delete'], [comment_add], menu_name='sidebar') register_links(Comment, [comment_delete]) - register_links(Document, [comments_for_object], menu_name='form_header') diff --git a/apps/document_comments/views.py b/apps/document_comments/views.py index 1e11c6e1dd..e2a57f17b8 100644 --- a/apps/document_comments/views.py +++ b/apps/document_comments/views.py @@ -7,7 +7,7 @@ from django.contrib import messages from django.contrib.contenttypes.models import ContentType from django.contrib.sites.models import Site -from permissions.api import check_permissions +from permissions.models import Permission from documents.models import Document from document_comments import PERMISSION_COMMENT_DELETE, \ @@ -16,7 +16,7 @@ from document_comments.forms import CommentForm def comment_delete(request, comment_id=None, comment_id_list=None): - check_permissions(request.user, [PERMISSION_COMMENT_DELETE]) + Permission.objects.check_permissions(request.user, [PERMISSION_COMMENT_DELETE]) post_action_redirect = None if comment_id: @@ -66,7 +66,7 @@ def comment_multiple_delete(request): def comment_add(request, document_id): - check_permissions(request.user, [PERMISSION_COMMENT_CREATE]) + Permission.objects.check_permissions(request.user, [PERMISSION_COMMENT_CREATE]) document = get_object_or_404(Document, pk=document_id) post_action_redirect = None @@ -100,7 +100,7 @@ def comments_for_object(request, document_id): """ Show a list of all the comments related to the passed object """ - check_permissions(request.user, [PERMISSION_COMMENT_VIEW]) + Permission.objects.check_permissions(request.user, [PERMISSION_COMMENT_VIEW]) document = get_object_or_404(Document, pk=document_id)