Changed layout to make more use of tabbed links
This commit is contained in:
@@ -1,25 +1,31 @@
|
||||
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 django.contrib.comments.models import Comment
|
||||
|
||||
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')}
|
||||
|
||||
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)
|
||||
|
||||
comment_delete = {'text': _('delete'), 'view': 'comment_delete', 'args': 'object.id', 'famfam': 'comment_delete', 'permissions': [PERMISSION_COMMENT_DELETE]}
|
||||
comment_multiple_delete = {'text': _('delete'), 'view': 'comment_multiple_delete', 'args': 'object.id', 'famfam': 'comments_delete', 'permissions': [PERMISSION_COMMENT_DELETE]}
|
||||
comment_add = {'text': _('add comment'), 'view': 'comment_add', 'args': 'object.id', 'famfam': 'comment_add', 'permissions': [PERMISSION_COMMENT_CREATE]}
|
||||
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_add = {'text': _('add comment'), 'view': 'comment_add', 'args': 'object.pk', 'famfam': 'comment_add', 'permissions': [PERMISSION_COMMENT_CREATE]}
|
||||
comments_for_object = {'text': _('comments'), 'view': 'comments_for_object', 'args': 'object.pk', 'famfam': 'comments', 'permissions': [PERMISSION_COMMENT_VIEW]}
|
||||
|
||||
register_model_list_columns(Comment, [
|
||||
{
|
||||
@@ -36,4 +42,8 @@ register_model_list_columns(Comment, [
|
||||
}
|
||||
])
|
||||
|
||||
register_links(Document, [comment_add])
|
||||
register_links(['comments_for_object', 'comment_add', 'comment_delete', 'comment_multiple_delete'], [comment_add], menu_name='sidebar')
|
||||
register_links(Comment, [comment_delete])
|
||||
|
||||
#comment_views = ['comment_delete', 'comment_multiple_delete', 'comment_add', 'comments_for_object']
|
||||
register_links(Document, [comments_for_object], menu_name='form_header')
|
||||
|
||||
@@ -4,4 +4,5 @@ urlpatterns = patterns('document_comments.views',
|
||||
url(r'^(?P<comment_id>\d+)/delete/$', 'comment_delete', (), 'comment_delete'),
|
||||
url(r'^multiple/delete/$', 'comment_multiple_delete', (), 'comment_multiple_delete'),
|
||||
url(r'^add_to_document/(?P<document_id>\d+)/$', 'comment_add', (), 'comment_add'),
|
||||
url(r'^for/object/(?P<document_id>\d+)/$', 'comments_for_object', (), 'comments_for_object'),
|
||||
)
|
||||
|
||||
@@ -10,7 +10,8 @@ from django.contrib.sites.models import Site
|
||||
from permissions.api import check_permissions
|
||||
from documents.models import Document
|
||||
|
||||
from document_comments import PERMISSION_COMMENT_DELETE, PERMISSION_COMMENT_CREATE
|
||||
from document_comments import PERMISSION_COMMENT_DELETE, \
|
||||
PERMISSION_COMMENT_CREATE, PERMISSION_COMMENT_VIEW
|
||||
from document_comments.forms import CommentForm
|
||||
|
||||
|
||||
@@ -42,7 +43,7 @@ def comment_delete(request, comment_id=None, comment_id_list=None):
|
||||
return HttpResponseRedirect(next)
|
||||
|
||||
context = {
|
||||
'object_name': _(u'comment'),
|
||||
#'object_name': _(u'comment'),
|
||||
'delete_view': True,
|
||||
'previous': previous,
|
||||
'next': next,
|
||||
@@ -93,3 +94,20 @@ def comment_add(request, document_id):
|
||||
'next': next,
|
||||
'object': document,
|
||||
}, context_instance=RequestContext(request))
|
||||
|
||||
|
||||
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])
|
||||
|
||||
document = get_object_or_404(Document, pk=document_id)
|
||||
|
||||
return render_to_response('generic_list.html', {
|
||||
'object': document,
|
||||
'title': _(u'comments: %s') % document,
|
||||
'object_list': Comment.objects.for_model(document).order_by('-submit_date'),
|
||||
'hide_link': True,
|
||||
'hide_object': True,
|
||||
}, context_instance=RequestContext(request))
|
||||
|
||||
Reference in New Issue
Block a user