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