Update document comment list view to CBV.
This commit is contained in:
@@ -2,6 +2,8 @@ from __future__ import unicode_literals
|
|||||||
|
|
||||||
from django.conf.urls import patterns, url
|
from django.conf.urls import patterns, url
|
||||||
|
|
||||||
|
from .views import DocumentCommentListView
|
||||||
|
|
||||||
urlpatterns = patterns(
|
urlpatterns = patterns(
|
||||||
'document_comments.views',
|
'document_comments.views',
|
||||||
url(
|
url(
|
||||||
@@ -17,7 +19,7 @@ urlpatterns = patterns(
|
|||||||
name='comment_add'
|
name='comment_add'
|
||||||
),
|
),
|
||||||
url(
|
url(
|
||||||
r'^(?P<document_id>\d+)/comment/list/$', 'comments_for_document',
|
r'^(?P<pk>\d+)/comment/list/$',
|
||||||
name='comments_for_document'
|
DocumentCommentListView.as_view(), name='comments_for_document'
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ from django.template import RequestContext
|
|||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
|
||||||
from acls.models import AccessControlList
|
from acls.models import AccessControlList
|
||||||
|
from common.generics import SingleObjectListView
|
||||||
from documents.models import Document
|
from documents.models import Document
|
||||||
from permissions import Permission
|
from permissions import Permission
|
||||||
|
|
||||||
@@ -132,24 +133,26 @@ def comment_add(request, document_id):
|
|||||||
}, context_instance=RequestContext(request))
|
}, context_instance=RequestContext(request))
|
||||||
|
|
||||||
|
|
||||||
def comments_for_document(request, document_id):
|
class DocumentCommentListView(SingleObjectListView):
|
||||||
"""
|
def get_document(self):
|
||||||
Show a list of all the comments related to the passed object
|
return get_object_or_404(Document, pk=self.kwargs['pk'])
|
||||||
"""
|
|
||||||
document = get_object_or_404(Document, pk=document_id)
|
|
||||||
|
|
||||||
|
def get_queryset(self):
|
||||||
try:
|
try:
|
||||||
Permission.check_permissions(request.user, (permission_comment_view,))
|
Permission.check_permissions(
|
||||||
|
self.request.user, (permission_comment_view,)
|
||||||
|
)
|
||||||
except PermissionDenied:
|
except PermissionDenied:
|
||||||
AccessControlList.objects.check_access(
|
AccessControlList.objects.check_access(
|
||||||
permission_comment_view, request.user, document
|
permission_comment_view, self.request.user, self.get_document()
|
||||||
)
|
)
|
||||||
|
|
||||||
return render_to_response('appearance/generic_list.html', {
|
return self.get_document().comments.all()
|
||||||
'object': document,
|
|
||||||
'access_object': document,
|
def get_extra_context(self):
|
||||||
'title': _('Comments for document: %s') % document,
|
return {
|
||||||
'object_list': document.comments.all(),
|
|
||||||
'hide_link': True,
|
'hide_link': True,
|
||||||
'hide_object': True,
|
'hide_object': True,
|
||||||
}, context_instance=RequestContext(request))
|
'object': self.get_document(),
|
||||||
|
'title': _('Comments for document: %s') % self.get_document(),
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user