Updated metadata views to use smarted redirection

This commit is contained in:
Roberto Rosario
2011-06-17 22:14:19 -04:00
parent c43df0bc87
commit 5e5d6ee56d

View File

@@ -32,6 +32,10 @@ def metadata_edit(request, document_id=None, document_id_list=None):
messages.error(request, _(u'Must provide at least one document.'))
return HttpResponseRedirect(request.META.get('HTTP_REFERER', '/'))
post_action_redirect = reverse('document_list_recent')
next = request.POST.get('next', request.GET.get('next', request.META.get('HTTP_REFERER', post_action_redirect)))
metadata = {}
for document in documents:
RecentDocument.objects.add_document_for_user(request.user, document)
@@ -84,14 +88,12 @@ def metadata_edit(request, document_id=None, document_id_list=None):
else:
messages.success(request, _(u'Document indexes updated successfully.'))
if len(documents) == 1:
return HttpResponseRedirect(document.get_absolute_url())
elif len(documents) > 1:
return HttpResponseRedirect(reverse('document_list_recent'))
return HttpResponseRedirect(next)
context = {
'form_display_mode_table': True,
'form': formset,
'next': next,
}
if len(documents) == 1:
context['object'] = documents[0]
@@ -121,6 +123,10 @@ def metadata_add(request, document_id=None, document_id_list=None):
for document in documents:
RecentDocument.objects.add_document_for_user(request.user, document)
post_action_redirect = reverse('document_list_recent')
next = request.POST.get('next', request.GET.get('next', request.META.get('HTTP_REFERER', post_action_redirect)))
if request.method == 'POST':
form = AddMetadataForm(request.POST)
if form.is_valid():
@@ -135,9 +141,15 @@ def metadata_add(request, document_id=None, document_id_list=None):
'metadata_type': metadata_type, 'document': document})
if len(documents) == 1:
return HttpResponseRedirect(reverse(metadata_edit, args=[document.pk]))
return HttpResponseRedirect(u'%s?%s' % (
reverse(metadata_edit, args=[document.pk]),
urlencode({'next': next}))
)
elif len(documents) > 1:
return HttpResponseRedirect(u'%s?%s' % (reverse('metadata_multiple_edit'), urlencode({'id_list': document_id_list})))
return HttpResponseRedirect(u'%s?%s' % (
reverse('metadata_multiple_edit'),
urlencode({'id_list': document_id_list, 'next': next}))
)
else:
form = AddMetadataForm()
@@ -145,6 +157,7 @@ def metadata_add(request, document_id=None, document_id_list=None):
context = {
#'form_display_mode_table': True,
'form': form,
'next': next,
}
if len(documents) == 1:
context['object'] = documents[0]
@@ -175,6 +188,10 @@ def metadata_remove(request, document_id=None, document_id_list=None):
messages.error(request, _(u'Must provide at least one document.'))
return HttpResponseRedirect(request.META.get('HTTP_REFERER', '/'))
post_action_redirect = reverse('document_list_recent')
next = request.POST.get('next', request.GET.get('next', request.META.get('HTTP_REFERER', post_action_redirect)))
metadata = {}
for document in documents:
RecentDocument.objects.add_document_for_user(request.user, document)
@@ -224,14 +241,12 @@ def metadata_remove(request, document_id=None, document_id_list=None):
else:
messages.success(request, _(u'Document indexes updated successfully.'))
if len(documents) == 1:
return HttpResponseRedirect(document.get_absolute_url())
elif len(documents) > 1:
return HttpResponseRedirect(reverse('document_list_recent'))
return HttpResponseRedirect(next)
context = {
'form_display_mode_table': True,
'form': formset,
'next': next,
}
if len(documents) == 1:
context['object'] = documents[0]