Update the document comments app to use the new class based permissions

This commit is contained in:
Roberto Rosario
2011-12-08 16:44:54 -04:00
parent 43cf4b37b0
commit c000eade4f
2 changed files with 11 additions and 17 deletions

View File

@@ -2,9 +2,8 @@ from django.utils.translation import ugettext_lazy as _
from django.conf import settings from django.conf import settings
from django.contrib.comments.models import Comment from django.contrib.comments.models import Comment
from navigation.api import register_links, \ from navigation.api import register_links, register_model_list_columns
register_model_list_columns from permissions.models import PermissionNamespace, Permission
from permissions.api import register_permission, set_namespace_title
from common.utils import encapsulate from common.utils import encapsulate
from documents.models import Document from documents.models import Document
@@ -12,16 +11,12 @@ from documents.models import Document
if 'django.contrib.comments' not in settings.INSTALLED_APPS: if 'django.contrib.comments' not in settings.INSTALLED_APPS:
raise Exception('This app depends on the django.contrib.comments app.') raise Exception('This app depends on the django.contrib.comments app.')
PERMISSION_COMMENT_CREATE = {'namespace': 'comments', 'name': 'comment_create', 'label': _(u'Create new comments')} comments_namespace = PermissionNamespace('comments', _(u'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')}
set_namespace_title('comments', _(u'Comments')) PERMISSION_COMMENT_CREATE = Permission.objects.register(comments_namespace, 'comment_create', _(u'Create new comments'))
register_permission(PERMISSION_COMMENT_CREATE) PERMISSION_COMMENT_DELETE = Permission.objects.register(comments_namespace, 'comment_delete', _(u'Delete comments'))
register_permission(PERMISSION_COMMENT_DELETE) PERMISSION_COMMENT_EDIT = Permission.objects.register(comments_namespace, 'comment_edit', _(u'Edit comments'))
register_permission(PERMISSION_COMMENT_EDIT) PERMISSION_COMMENT_VIEW = Permission.objects.register(comments_namespace, 'comment_view', _(u'View comments'))
register_permission(PERMISSION_COMMENT_VIEW)
comment_delete = {'text': _('delete'), 'view': 'comment_delete', 'args': 'object.pk', 'famfam': 'comment_delete', 'permissions': [PERMISSION_COMMENT_DELETE]} 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]} 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(['comments_for_object', 'comment_add', 'comment_delete', 'comment_multiple_delete'], [comment_add], menu_name='sidebar')
register_links(Comment, [comment_delete]) register_links(Comment, [comment_delete])
register_links(Document, [comments_for_object], menu_name='form_header') register_links(Document, [comments_for_object], menu_name='form_header')

View File

@@ -7,7 +7,7 @@ from django.contrib import messages
from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes.models import ContentType
from django.contrib.sites.models import Site from django.contrib.sites.models import Site
from permissions.api import check_permissions from permissions.models import Permission
from documents.models import Document from documents.models import Document
from document_comments import PERMISSION_COMMENT_DELETE, \ 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): 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 post_action_redirect = None
if comment_id: if comment_id:
@@ -66,7 +66,7 @@ def comment_multiple_delete(request):
def comment_add(request, document_id): 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) document = get_object_or_404(Document, pk=document_id)
post_action_redirect = None 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 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) document = get_object_or_404(Document, pk=document_id)