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.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')
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user