Converted document grouping subtemplate into a document information tab
This commit is contained in:
@@ -1,12 +1,17 @@
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from django.contrib import messages
|
||||
from django.http import HttpResponseRedirect
|
||||
from django.shortcuts import get_object_or_404
|
||||
from django.shortcuts import get_object_or_404, render_to_response
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.template import RequestContext
|
||||
|
||||
from documents.models import Document
|
||||
from documents.views import document_list
|
||||
|
||||
from grouping.models import DocumentGroup
|
||||
from grouping.conf.settings import SHOW_EMPTY_GROUPS
|
||||
from grouping.forms import DocumentDataGroupForm
|
||||
from grouping import document_group_link
|
||||
|
||||
|
||||
def document_group_action(request):
|
||||
@@ -34,3 +39,45 @@ def document_group_view(request, document_id, document_group_id):
|
||||
'object': document
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
def groups_for_document(request, document_id):
|
||||
subtemplates_list = []
|
||||
document = get_object_or_404(Document, pk=document_id)
|
||||
document_groups, errors = DocumentGroup.objects.get_groups_for(document)
|
||||
if (request.user.is_staff or request.user.is_superuser) and errors:
|
||||
for error in errors:
|
||||
messages.warning(request, _(u'Document group query error: %s' % error))
|
||||
|
||||
if not SHOW_EMPTY_GROUPS:
|
||||
#If GROUP_SHOW_EMPTY is False, remove empty groups from
|
||||
#dictionary
|
||||
document_groups = dict([(group, data) for group, data in document_groups.items() if data['documents']])
|
||||
|
||||
if document_groups:
|
||||
subtemplates_list = [{
|
||||
'name': 'generic_form_subtemplate.html',
|
||||
'context': {
|
||||
'title': _(u'document groups (%s)') % len(document_groups.keys()),
|
||||
'form': DocumentDataGroupForm(
|
||||
groups=document_groups, current_document=document,
|
||||
links=[document_group_link]
|
||||
),
|
||||
'form_action': reverse('document_group_action'),
|
||||
'submit_method': 'GET',
|
||||
}
|
||||
}]
|
||||
else:
|
||||
# If there are not group display a placeholder messages saying so
|
||||
subtemplates_list = [{
|
||||
'name': 'generic_subtemplate.html',
|
||||
'context': {
|
||||
'content': _(u'There no defined groups for the current document.'),
|
||||
}
|
||||
}]
|
||||
|
||||
return render_to_response('generic_detail.html', {
|
||||
'object': document,
|
||||
'document': document,
|
||||
'subtemplates_list': subtemplates_list,
|
||||
}, context_instance=RequestContext(request))
|
||||
|
||||
Reference in New Issue
Block a user