From 9662d14e9ca71078833414939afa9af9b57dfba7 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 9 Oct 2014 20:05:42 -0400 Subject: [PATCH] Issue #40, finish remaining '/' hardcoded redirects --- mayan/apps/acls/views.py | 16 ++++++------- mayan/apps/bootstrap/views.py | 24 +++++++++---------- mayan/apps/checkouts/views.py | 4 ++-- mayan/apps/common/urls.py | 2 +- mayan/apps/common/views.py | 10 ++++---- mayan/apps/django_gpg/views.py | 9 +++---- mayan/apps/document_comments/views.py | 9 +++---- mayan/apps/document_indexing/views.py | 8 +++---- mayan/apps/document_signatures/views.py | 11 +++++---- mayan/apps/dynamic_search/views.py | 2 +- mayan/apps/folders/views.py | 16 ++++++------- mayan/apps/linking/views.py | 14 +++++------ mayan/apps/main/templatetags/theme_tags.py | 3 ++- mayan/apps/metadata/views.py | 10 ++++---- mayan/apps/navigation/classes.py | 2 +- .../templatetags/navigation_tags.py | 2 +- mayan/apps/navigation/widgets.py | 2 +- mayan/apps/ocr/views.py | 9 +++---- mayan/apps/registration/views.py | 5 ++-- 19 files changed, 82 insertions(+), 76 deletions(-) diff --git a/mayan/apps/acls/views.py b/mayan/apps/acls/views.py index 5d84db6408..9a9160f68c 100644 --- a/mayan/apps/acls/views.py +++ b/mayan/apps/acls/views.py @@ -135,8 +135,8 @@ def acl_detail_for(request, actor, obj): def acl_grant(request): items_property_list = loads(request.GET.get('items_property_list', [])) - next = request.POST.get('next', request.GET.get('next', request.META.get('HTTP_REFERER', '/'))) - previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', '/'))) + next = request.POST.get('next', request.GET.get('next', request.META.get('HTTP_REFERER', reverse('main:home')))) + previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', reverse('main:home')))) items = {} title_suffix = [] @@ -228,8 +228,8 @@ def acl_grant(request): def acl_revoke(request): items_property_list = loads(request.GET.get('items_property_list', [])) - next = request.POST.get('next', request.GET.get('next', request.META.get('HTTP_REFERER', '/'))) - previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', '/'))) + next = request.POST.get('next', request.GET.get('next', request.META.get('HTTP_REFERER', reverse('main:home')))) + previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', reverse('main:home')))) items = {} title_suffix = [] @@ -490,8 +490,8 @@ def acl_class_multiple_grant(request): Permission.objects.check_permissions(request.user, [ACLS_CLASS_EDIT_ACL]) items_property_list = loads(request.GET.get('items_property_list', [])) - next = request.POST.get('next', request.GET.get('next', request.META.get('HTTP_REFERER', '/'))) - previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', '/'))) + next = request.POST.get('next', request.GET.get('next', request.META.get('HTTP_REFERER', reverse('main:home')))) + previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', reverse('main:home')))) items = {} title_suffix = [] @@ -569,8 +569,8 @@ def acl_class_multiple_revoke(request): Permission.objects.check_permissions(request.user, [ACLS_CLASS_EDIT_ACL]) items_property_list = loads(request.GET.get('items_property_list', [])) - next = request.POST.get('next', request.GET.get('next', request.META.get('HTTP_REFERER', '/'))) - previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', '/'))) + next = request.POST.get('next', request.GET.get('next', request.META.get('HTTP_REFERER', reverse('main:home')))) + previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', reverse('main:home')))) items = {} title_suffix = [] diff --git a/mayan/apps/bootstrap/views.py b/mayan/apps/bootstrap/views.py index 70e9130064..6b07c16a58 100644 --- a/mayan/apps/bootstrap/views.py +++ b/mayan/apps/bootstrap/views.py @@ -63,7 +63,7 @@ def bootstrap_setup_create(request): def bootstrap_setup_edit(request, bootstrap_setup_pk): - previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', '/'))) + previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', reverse('main:home')))) bootstrap = get_object_or_404(BootstrapSetup, pk=bootstrap_setup_pk) @@ -103,8 +103,8 @@ def bootstrap_setup_delete(request, bootstrap_setup_pk): post_action_redirect = reverse('bootstrap_setup_list') - previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', '/'))) - next = request.POST.get('next', request.GET.get('next', post_action_redirect if post_action_redirect else request.META.get('HTTP_REFERER', '/'))) + previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', reverse('main:home')))) + next = request.POST.get('next', request.GET.get('next', post_action_redirect if post_action_redirect else request.META.get('HTTP_REFERER', reverse('main:home')))) if request.method == 'POST': try: @@ -155,8 +155,8 @@ def bootstrap_setup_execute(request, bootstrap_setup_pk): post_action_redirect = reverse('bootstrap_setup_list') - previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', '/'))) - next = request.POST.get('next', request.GET.get('next', post_action_redirect if post_action_redirect else request.META.get('HTTP_REFERER', '/'))) + previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', reverse('main:home')))) + next = request.POST.get('next', request.GET.get('next', post_action_redirect if post_action_redirect else request.META.get('HTTP_REFERER', reverse('main:home')))) if request.method == 'POST': try: @@ -211,7 +211,7 @@ def bootstrap_setup_dump(request): def bootstrap_setup_export(request, bootstrap_setup_pk): - previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', '/'))) + previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', reverse('main:home')))) bootstrap = get_object_or_404(BootstrapSetup, pk=bootstrap_setup_pk) @@ -231,7 +231,7 @@ def bootstrap_setup_export(request, bootstrap_setup_pk): def bootstrap_setup_import_from_file(request): Permission.objects.check_permissions(request.user, [PERMISSION_BOOTSTRAP_IMPORT]) - previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', '/'))) + previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', reverse('main:home')))) if request.method == 'POST': form = BootstrapFileImportForm(request.POST, request.FILES) @@ -259,7 +259,7 @@ def bootstrap_setup_import_from_file(request): def bootstrap_setup_import_from_url(request): Permission.objects.check_permissions(request.user, [PERMISSION_BOOTSTRAP_IMPORT]) - previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', '/'))) + previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', reverse('main:home')))) if request.method == 'POST': form = BootstrapURLImportForm(request.POST, request.FILES) @@ -289,8 +289,8 @@ def erase_database_view(request): post_action_redirect = None - previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', '/'))) - next = request.POST.get('next', request.GET.get('next', post_action_redirect if post_action_redirect else request.META.get('HTTP_REFERER', '/'))) + previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', reverse('main:home')))) + next = request.POST.get('next', request.GET.get('next', post_action_redirect if post_action_redirect else request.META.get('HTTP_REFERER', reverse('main:home')))) if request.method == 'POST': try: @@ -320,8 +320,8 @@ def bootstrap_setup_repository_sync(request): post_action_redirect = reverse('bootstrap:bootstrap_setup_list') - previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', '/'))) - next = request.POST.get('next', request.GET.get('next', post_action_redirect if post_action_redirect else request.META.get('HTTP_REFERER', '/'))) + previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', reverse('main:home')))) + next = request.POST.get('next', request.GET.get('next', post_action_redirect if post_action_redirect else request.META.get('HTTP_REFERER', reverse('main:home')))) if request.method == 'POST': try: diff --git a/mayan/apps/checkouts/views.py b/mayan/apps/checkouts/views.py index 778820eb89..f54143b418 100644 --- a/mayan/apps/checkouts/views.py +++ b/mayan/apps/checkouts/views.py @@ -114,8 +114,8 @@ def checkin_document(request, document_pk): except PermissionDenied: AccessEntry.objects.check_access(PERMISSION_DOCUMENT_CHECKIN_OVERRIDE, request.user, document) - previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', '/'))) - next = request.POST.get('next', request.GET.get('next', post_action_redirect if post_action_redirect else request.META.get('HTTP_REFERER', '/'))) + previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', reverse('main:home')))) + next = request.POST.get('next', request.GET.get('next', post_action_redirect if post_action_redirect else request.META.get('HTTP_REFERER', reverse('main:home')))) if request.method == 'POST': try: diff --git a/mayan/apps/common/urls.py b/mayan/apps/common/urls.py index d2a9d407d6..de414d6e9a 100644 --- a/mayan/apps/common/urls.py +++ b/mayan/apps/common/urls.py @@ -17,7 +17,7 @@ urlpatterns = patterns('common.views', ) urlpatterns += patterns('', - url(r'^logout/$', 'django.contrib.auth.views.logout', {'next_page': '/'}, name='logout_view'), + url(r'^logout/$', 'django.contrib.auth.views.logout', {'next_page': 'main:home'}, name='logout_view'), url(r'^password/reset/$', 'django.contrib.auth.views.password_reset', {'email_template_name': 'main/password_reset_email.html', 'template_name': 'main/password_reset_form.html', 'post_reset_redirect': '/password/reset/done'}, name='password_reset_view'), url(r'^password/reset/confirm/(?P[0-9A-Za-z]+)-(?P.+)/$', 'django.contrib.auth.views.password_reset_confirm', {'template_name': 'main/password_reset_confirm.html', 'post_reset_redirect': '/password/reset/complete/'}, name='password_reset_confirm_view'), diff --git a/mayan/apps/common/views.py b/mayan/apps/common/views.py index 9175a6bdb5..1cfc265521 100644 --- a/mayan/apps/common/views.py +++ b/mayan/apps/common/views.py @@ -31,7 +31,7 @@ def multi_object_action_view(request): then redirects to the appropiate specialized view """ - next = request.POST.get('next', request.GET.get('next', request.META.get('HTTP_REFERER', '/'))) + next = request.POST.get('next', request.GET.get('next', request.META.get('HTTP_REFERER', reverse('main:home')))) action = request.GET.get('action', None) id_list = u','.join([key[3:] for key in request.GET.keys() if key.startswith('pk_')]) @@ -39,11 +39,11 @@ def multi_object_action_view(request): if not action: messages.error(request, _(u'No action selected.')) - return HttpResponseRedirect(request.META.get('HTTP_REFERER', '/')) + return HttpResponseRedirect(request.META.get('HTTP_REFERER', reverse('main:home'))) if not id_list and not items_property_list: messages.error(request, _(u'Must select at least one item.')) - return HttpResponseRedirect(request.META.get('HTTP_REFERER', '/')) + return HttpResponseRedirect(request.META.get('HTTP_REFERER', reverse('main:home'))) # Separate redirects to keep backwards compatibility with older # functions that don't expect a properties_list parameter @@ -284,8 +284,8 @@ class MayanViewMixin(object): post_action_redirect = None def dispatch(self, request, *args, **kwargs): - self.next_url = self.request.POST.get('next', self.request.GET.get('next', self.post_action_redirect if self.post_action_redirect else self.request.META.get('HTTP_REFERER', '/'))) - self.previous_url = self.request.POST.get('previous', self.request.GET.get('previous', self.request.META.get('HTTP_REFERER', '/'))) + self.next_url = self.request.POST.get('next', self.request.GET.get('next', self.post_action_redirect if self.post_action_redirect else self.request.META.get('HTTP_REFERER', reverse('main:home')))) + self.previous_url = self.request.POST.get('previous', self.request.GET.get('previous', self.request.META.get('HTTP_REFERER', reverse('main:home')))) return super(MayanViewMixin, self).dispatch(request, *args, **kwargs) diff --git a/mayan/apps/django_gpg/views.py b/mayan/apps/django_gpg/views.py index 942e8f6d6b..b4323054d5 100644 --- a/mayan/apps/django_gpg/views.py +++ b/mayan/apps/django_gpg/views.py @@ -3,6 +3,7 @@ from __future__ import absolute_import import logging from django.contrib import messages +from django.core.urlresolvers import reverse from django.http import HttpResponseRedirect from django.shortcuts import render_to_response from django.template import RequestContext @@ -25,8 +26,8 @@ def key_receive(request, key_id): Permission.objects.check_permissions(request.user, [PERMISSION_KEY_RECEIVE]) post_action_redirect = None - previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', '/'))) - next = request.POST.get('next', request.GET.get('next', post_action_redirect if post_action_redirect else request.META.get('HTTP_REFERER', '/'))) + previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', reverse('main:home')))) + next = request.POST.get('next', request.GET.get('next', post_action_redirect if post_action_redirect else request.META.get('HTTP_REFERER', reverse('main:home')))) if request.method == 'POST': try: @@ -92,8 +93,8 @@ def key_delete(request, fingerprint, key_type): key = Key.get(gpg, fingerprint, secret=secret) post_action_redirect = None - previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', '/'))) - next = request.POST.get('next', request.GET.get('next', post_action_redirect if post_action_redirect else request.META.get('HTTP_REFERER', '/'))) + previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', reverse('main:home')))) + next = request.POST.get('next', request.GET.get('next', post_action_redirect if post_action_redirect else request.META.get('HTTP_REFERER', reverse('main:home')))) if request.method == 'POST': try: diff --git a/mayan/apps/document_comments/views.py b/mayan/apps/document_comments/views.py index c15ed781c8..cae74150de 100644 --- a/mayan/apps/document_comments/views.py +++ b/mayan/apps/document_comments/views.py @@ -5,6 +5,7 @@ from django.contrib.comments.models import Comment from django.contrib.contenttypes.models import ContentType from django.contrib.sites.models import Site from django.core.exceptions import PermissionDenied +from django.core.urlresolvers import reverse from django.http import HttpResponseRedirect from django.shortcuts import render_to_response, get_object_or_404 from django.template import RequestContext @@ -34,10 +35,10 @@ def comment_delete(request, comment_id=None, comment_id_list=None): if not comments: messages.error(request, _(u'Must provide at least one comment.')) - return HttpResponseRedirect(request.META.get('HTTP_REFERER', '/')) + return HttpResponseRedirect(request.META.get('HTTP_REFERER', reverse('main:home'))) - previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', '/'))) - next = request.POST.get('next', request.GET.get('next', post_action_redirect if post_action_redirect else request.META.get('HTTP_REFERER', '/'))) + previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', reverse('main:home')))) + next = request.POST.get('next', request.GET.get('next', post_action_redirect if post_action_redirect else request.META.get('HTTP_REFERER', reverse('main:home')))) if request.method == 'POST': for comment in comments: @@ -83,7 +84,7 @@ def comment_add(request, document_id): post_action_redirect = None - next = request.POST.get('next', request.GET.get('next', post_action_redirect if post_action_redirect else request.META.get('HTTP_REFERER', '/'))) + next = request.POST.get('next', request.GET.get('next', post_action_redirect if post_action_redirect else request.META.get('HTTP_REFERER', reverse('main:home')))) if request.method == 'POST': form = CommentForm(request.POST) diff --git a/mayan/apps/document_indexing/views.py b/mayan/apps/document_indexing/views.py index 63b5a7dba6..8f38a0cd54 100644 --- a/mayan/apps/document_indexing/views.py +++ b/mayan/apps/document_indexing/views.py @@ -115,8 +115,8 @@ def index_setup_delete(request, index_pk): post_action_redirect = reverse('indexing:index_setup_list') - previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', '/'))) - next = request.POST.get('next', request.GET.get('next', post_action_redirect if post_action_redirect else request.META.get('HTTP_REFERER', '/'))) + previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', reverse('main:home')))) + next = request.POST.get('next', request.GET.get('next', post_action_redirect if post_action_redirect else request.META.get('HTTP_REFERER', reverse('main:home')))) if request.method == 'POST': try: @@ -264,8 +264,8 @@ def template_node_delete(request, node_pk): post_action_redirect = reverse('indexing:index_setup_view', args=[node.index.pk]) - previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', '/'))) - next = request.POST.get('next', request.GET.get('next', post_action_redirect if post_action_redirect else request.META.get('HTTP_REFERER', '/'))) + previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', reverse('main:home')))) + next = request.POST.get('next', request.GET.get('next', post_action_redirect if post_action_redirect else request.META.get('HTTP_REFERER', reverse('main:home')))) if request.method == 'POST': try: diff --git a/mayan/apps/document_signatures/views.py b/mayan/apps/document_signatures/views.py index 5ee76aed77..19338ef12c 100644 --- a/mayan/apps/document_signatures/views.py +++ b/mayan/apps/document_signatures/views.py @@ -3,9 +3,10 @@ from __future__ import absolute_import from datetime import datetime import logging -from django.core.exceptions import PermissionDenied from django.conf import settings from django.contrib import messages +from django.core.exceptions import PermissionDenied +from django.core.urlresolvers import reverse from django.http import HttpResponseRedirect from django.shortcuts import render_to_response, get_object_or_404 from django.template import RequestContext @@ -93,8 +94,8 @@ def document_signature_upload(request, document_pk): RecentDocument.objects.add_document_for_user(request.user, document) post_action_redirect = None - previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', '/'))) - next = request.POST.get('next', request.GET.get('next', post_action_redirect if post_action_redirect else request.META.get('HTTP_REFERER', '/'))) + previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', reverse('main:home')))) + next = request.POST.get('next', request.GET.get('next', post_action_redirect if post_action_redirect else request.META.get('HTTP_REFERER', reverse('main:home')))) if request.method == 'POST': form = DetachedSignatureForm(request.POST, request.FILES) @@ -154,8 +155,8 @@ def document_signature_delete(request, document_pk): RecentDocument.objects.add_document_for_user(request.user, document) post_action_redirect = None - previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', '/'))) - next = request.POST.get('next', request.GET.get('next', post_action_redirect if post_action_redirect else request.META.get('HTTP_REFERER', '/'))) + previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', reverse('main:home')))) + next = request.POST.get('next', request.GET.get('next', post_action_redirect if post_action_redirect else request.META.get('HTTP_REFERER', reverse('main:home')))) if request.method == 'POST': try: diff --git a/mayan/apps/dynamic_search/views.py b/mayan/apps/dynamic_search/views.py index 11910bbe16..30efc625b5 100644 --- a/mayan/apps/dynamic_search/views.py +++ b/mayan/apps/dynamic_search/views.py @@ -108,5 +108,5 @@ def search(request, advanced=False): def search_again(request): - query = urlparse.urlparse(request.META.get('HTTP_REFERER', u'/')).query + query = urlparse.urlparse(request.META.get('HTTP_REFERER', reverse('main:home'))).query return HttpResponseRedirect('%s?%s' % (reverse('search:search_advanced'), query)) diff --git a/mayan/apps/folders/views.py b/mayan/apps/folders/views.py index 51cec51dee..ec67251f76 100644 --- a/mayan/apps/folders/views.py +++ b/mayan/apps/folders/views.py @@ -102,8 +102,8 @@ def folder_delete(request, folder_id): post_action_redirect = reverse('folders:folder_list') - previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', '/'))) - next = request.POST.get('next', request.GET.get('next', post_action_redirect if post_action_redirect else request.META.get('HTTP_REFERER', '/'))) + previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', reverse('main:home')))) + next = request.POST.get('next', request.GET.get('next', post_action_redirect if post_action_redirect else request.META.get('HTTP_REFERER', reverse('main:home')))) if request.method == 'POST': try: @@ -161,7 +161,7 @@ def folder_add_document(request, document_id=None, document_id_list=None): documents = [get_object_or_404(Document, pk=document_id) for document_id in document_id_list.split(',')] else: messages.error(request, _(u'Must provide at least one document.')) - return HttpResponseRedirect(request.META.get('HTTP_REFERER', '/')) + return HttpResponseRedirect(request.META.get('HTTP_REFERER', reverse('main:home'))) try: Permission.objects.check_permissions(request.user, [PERMISSION_FOLDER_ADD_DOCUMENT]) @@ -169,8 +169,8 @@ def folder_add_document(request, document_id=None, document_id_list=None): documents = AccessEntry.objects.filter_objects_by_access(PERMISSION_FOLDER_ADD_DOCUMENT, request.user, documents) post_action_redirect = None - previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', '/'))) - next = request.POST.get('next', request.GET.get('next', post_action_redirect if post_action_redirect else request.META.get('HTTP_REFERER', '/'))) + previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', reverse('main:home')))) + next = request.POST.get('next', request.GET.get('next', post_action_redirect if post_action_redirect else request.META.get('HTTP_REFERER', reverse('main:home')))) if request.method == 'POST': form = FolderListForm(request.POST, user=request.user) @@ -244,7 +244,7 @@ def folder_document_remove(request, folder_id, document_id=None, document_id_lis folder_documents = [get_object_or_404(Document, pk=document_id) for document_id in document_id_list.split(',')] else: messages.error(request, _(u'Must provide at least one folder document.')) - return HttpResponseRedirect(request.META.get('HTTP_REFERER', '/')) + return HttpResponseRedirect(request.META.get('HTTP_REFERER', reverse('main:home'))) logger.debug('folder_documents (pre permission check): %s' % folder_documents) try: @@ -254,8 +254,8 @@ def folder_document_remove(request, folder_id, document_id=None, document_id_lis logger.debug('folder_documents (post permission check): %s' % folder_documents) - previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', '/'))) - next = request.POST.get('next', request.GET.get('next', post_action_redirect if post_action_redirect else request.META.get('HTTP_REFERER', '/'))) + previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', reverse('main:home')))) + next = request.POST.get('next', request.GET.get('next', post_action_redirect if post_action_redirect else request.META.get('HTTP_REFERER', reverse('main:home')))) if request.method == 'POST': for folder_document in folder_documents: diff --git a/mayan/apps/linking/views.py b/mayan/apps/linking/views.py index ca2b1f82a9..fe3ec011c2 100644 --- a/mayan/apps/linking/views.py +++ b/mayan/apps/linking/views.py @@ -38,7 +38,7 @@ def smart_link_action(request): if not action: messages.error(request, _(u'No action selected.')) - return HttpResponseRedirect(request.META.get('HTTP_REFERER', u'/')) + return HttpResponseRedirect(request.META.get('HTTP_REFERER', reverse('main:home'))) return HttpResponseRedirect(action) @@ -191,8 +191,8 @@ def smart_link_delete(request, smart_link_pk): except PermissionDenied: AccessEntry.objects.check_access(PERMISSION_SMART_LINK_DELETE, request.user, smart_link) - next = request.POST.get('next', request.GET.get('next', request.META.get('HTTP_REFERER', '/'))) - previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', '/'))) + next = request.POST.get('next', request.GET.get('next', request.META.get('HTTP_REFERER', reverse('main:home')))) + previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', reverse('main:home')))) if request.method == 'POST': try: @@ -269,8 +269,8 @@ def smart_link_condition_edit(request, smart_link_condition_pk): except PermissionDenied: AccessEntry.objects.check_accesses([PERMISSION_SMART_LINK_CREATE, PERMISSION_SMART_LINK_EDIT], request.user, smart_link_condition.smart_link) - next = request.POST.get('next', request.GET.get('next', request.META.get('HTTP_REFERER', '/'))) - previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', '/'))) + next = request.POST.get('next', request.GET.get('next', request.META.get('HTTP_REFERER', reverse('main:home')))) + previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', reverse('main:home')))) if request.method == 'POST': form = SmartLinkConditionForm(request.POST, instance=smart_link_condition) @@ -306,8 +306,8 @@ def smart_link_condition_delete(request, smart_link_condition_pk): except PermissionDenied: AccessEntry.objects.check_accesses([PERMISSION_SMART_LINK_CREATE, PERMISSION_SMART_LINK_EDIT], request.user, smart_link_condition.smart_link) - next = request.POST.get('next', request.GET.get('next', request.META.get('HTTP_REFERER', '/'))) - previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', '/'))) + next = request.POST.get('next', request.GET.get('next', request.META.get('HTTP_REFERER', reverse('main:home')))) + previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', reverse('main:home')))) if request.method == 'POST': try: diff --git a/mayan/apps/main/templatetags/theme_tags.py b/mayan/apps/main/templatetags/theme_tags.py index e8d8122f9c..1b1f89fd7d 100644 --- a/mayan/apps/main/templatetags/theme_tags.py +++ b/mayan/apps/main/templatetags/theme_tags.py @@ -1,6 +1,7 @@ from __future__ import absolute_import from django.conf import settings +from django.core.urlresolvers import reverse from django.template import Library, Node from django.utils.safestring import mark_safe @@ -9,7 +10,7 @@ register = Library() class LoginRedirectNode(Node): def render(self, context): - context['LOGIN_REDIRECT_URL'] = getattr(settings, 'LOGIN_REDIRECT_URL', '/') + context['LOGIN_REDIRECT_URL'] = getattr(settings, 'LOGIN_REDIRECT_URL', reverse('main:home')) return '' diff --git a/mayan/apps/metadata/views.py b/mayan/apps/metadata/views.py index c5954e34c0..3af3f0bbaf 100644 --- a/mayan/apps/metadata/views.py +++ b/mayan/apps/metadata/views.py @@ -42,7 +42,7 @@ def metadata_edit(request, document_id=None, document_id_list=None): documents = [get_object_or_404(Document, pk=document_id)] if documents[0].metadata.count() == 0: messages.warning(request, _(u'The selected document doesn\'t have any metadata.')) - return HttpResponseRedirect(request.META.get('HTTP_REFERER', '/')) + return HttpResponseRedirect(request.META.get('HTTP_REFERER', reverse('main:home'))) elif document_id_list: documents = [get_object_or_404(Document, pk=document_id) for document_id in document_id_list.split(',')] @@ -53,7 +53,7 @@ def metadata_edit(request, document_id=None, document_id_list=None): if not documents: messages.error(request, _(u'Must provide at least one document.')) - return HttpResponseRedirect(request.META.get('HTTP_REFERER', '/')) + return HttpResponseRedirect(request.META.get('HTTP_REFERER', reverse('main:home'))) post_action_redirect = reverse('documents:document_list_recent') @@ -133,7 +133,7 @@ def metadata_add(request, document_id=None, document_id_list=None): if not documents: messages.error(request, _(u'Must provide at least one document.')) - return HttpResponseRedirect(request.META.get('HTTP_REFERER', '/')) + return HttpResponseRedirect(request.META.get('HTTP_REFERER', reverse('main:home'))) for document in documents: RecentDocument.objects.add_document_for_user(request.user, document) @@ -192,7 +192,7 @@ def metadata_remove(request, document_id=None, document_id_list=None): documents = [get_object_or_404(Document, pk=document_id)] if documents[0].metadata.count() == 0: messages.warning(request, _(u'The selected document doesn\'t have any metadata.')) - return HttpResponseRedirect(request.META.get('HTTP_REFERER', '/')) + return HttpResponseRedirect(request.META.get('HTTP_REFERER', reverse('main:home'))) elif document_id_list: documents = [get_object_or_404(Document, pk=document_id) for document_id in document_id_list.split(',')] @@ -204,7 +204,7 @@ def metadata_remove(request, document_id=None, document_id_list=None): if not documents: messages.error(request, _(u'Must provide at least one document.')) - return HttpResponseRedirect(request.META.get('HTTP_REFERER', '/')) + return HttpResponseRedirect(request.META.get('HTTP_REFERER', reverse('main:home'))) post_action_redirect = reverse('documents:document_list_recent') diff --git a/mayan/apps/navigation/classes.py b/mayan/apps/navigation/classes.py index 19a6f4521d..ab878ec89c 100644 --- a/mayan/apps/navigation/classes.py +++ b/mayan/apps/navigation/classes.py @@ -77,7 +77,7 @@ class Link(object): current_view = match.url_name # Preserve unicode data in URL query - previous_path = smart_unicode(urllib.unquote_plus(smart_str(request.get_full_path()) or smart_str(request.META.get('HTTP_REFERER', u'/')))) + previous_path = smart_unicode(urllib.unquote_plus(smart_str(request.get_full_path()) or smart_str(request.META.get('HTTP_REFERER', reverse('main:home'))))) query_string = urlparse.urlparse(previous_path).query parsed_query_string = urlparse.parse_qs(query_string) diff --git a/mayan/apps/navigation/templatetags/navigation_tags.py b/mayan/apps/navigation/templatetags/navigation_tags.py index 34efefa484..a52af929b0 100644 --- a/mayan/apps/navigation/templatetags/navigation_tags.py +++ b/mayan/apps/navigation/templatetags/navigation_tags.py @@ -174,7 +174,7 @@ def _get_object_navigation_links(context, menu_name=None, links_dict=object_navi links_dict = links_dict.copy() # Preserve unicode data in URL query - previous_path = smart_unicode(urllib.unquote_plus(smart_str(request.get_full_path()) or smart_str(request.META.get('HTTP_REFERER', u'/')))) + previous_path = smart_unicode(urllib.unquote_plus(smart_str(request.get_full_path()) or smart_str(request.META.get('HTTP_REFERER', reverse('main:home'))))) query_string = urlparse.urlparse(previous_path).query parsed_query_string = urlparse.parse_qs(query_string) diff --git a/mayan/apps/navigation/widgets.py b/mayan/apps/navigation/widgets.py index 10e1a59fb8..7841e897ff 100644 --- a/mayan/apps/navigation/widgets.py +++ b/mayan/apps/navigation/widgets.py @@ -33,7 +33,7 @@ def render_widget(request, link): current_path = request.META['PATH_INFO'] current_view = resolve_to_name(current_path) - query_string = urlparse.urlparse(request.get_full_path()).query or urlparse.urlparse(request.META.get('HTTP_REFERER', u'/')).query + query_string = urlparse.urlparse(request.get_full_path()).query or urlparse.urlparse(request.META.get('HTTP_REFERER', reverse('main:home'))).query parsed_query_string = urlparse.parse_qs(query_string) links = resolve_links(context, [link], current_view, current_path, parsed_query_string) diff --git a/mayan/apps/ocr/views.py b/mayan/apps/ocr/views.py index 37ccf86c4c..10c61eb81e 100644 --- a/mayan/apps/ocr/views.py +++ b/mayan/apps/ocr/views.py @@ -2,6 +2,7 @@ from __future__ import absolute_import from django.contrib import messages from django.core.exceptions import PermissionDenied +from django.core.urlresolvers import reverse from django.http import HttpResponseRedirect from django.shortcuts import get_object_or_404, render_to_response from django.template import RequestContext @@ -57,7 +58,7 @@ def queue_document_delete(request, queue_document_id=None, queue_document_id_lis queue_documents = [get_object_or_404(QueueDocument, pk=queue_document_id) for queue_document_id in queue_document_id_list.split(',')] else: messages.error(request, _(u'Must provide at least one queue document.')) - return HttpResponseRedirect(request.META.get('HTTP_REFERER', '/')) + return HttpResponseRedirect(request.META.get('HTTP_REFERER', reverse('main:home'))) next = request.POST.get('next', request.GET.get('next', request.META.get('HTTP_REFERER', None))) previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', None))) @@ -99,7 +100,7 @@ def submit_document_multiple(request): for item_id in request.GET.get('id_list', '').split(','): submit_document(request, item_id) - return HttpResponseRedirect(request.META.get('HTTP_REFERER', '/')) + return HttpResponseRedirect(request.META.get('HTTP_REFERER', reverse('main:home'))) def submit_document(request, document_id): @@ -111,7 +112,7 @@ def submit_document(request, document_id): AccessEntry.objects.check_access(PERMISSION_OCR_DOCUMENT, request.user, document) return submit_document_to_queue(request, document=document, - post_submit_redirect=request.META.get('HTTP_REFERER', '/')) + post_submit_redirect=request.META.get('HTTP_REFERER', reverse('main:home'))) def submit_document_to_queue(request, document, post_submit_redirect=None): @@ -137,7 +138,7 @@ def re_queue_document(request, queue_document_id=None, queue_document_id_list=No queue_documents = [get_object_or_404(QueueDocument, pk=queue_document_id) for queue_document_id in queue_document_id_list.split(',')] else: messages.error(request, _(u'Must provide at least one queue document.')) - return HttpResponseRedirect(request.META.get('HTTP_REFERER', '/')) + return HttpResponseRedirect(request.META.get('HTTP_REFERER', reverse('main:home'))) next = request.POST.get('next', request.GET.get('next', request.META.get('HTTP_REFERER', None))) previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', None))) diff --git a/mayan/apps/registration/views.py b/mayan/apps/registration/views.py index f2e60163bd..2d76722381 100644 --- a/mayan/apps/registration/views.py +++ b/mayan/apps/registration/views.py @@ -1,6 +1,7 @@ from __future__ import absolute_import from django.contrib import messages +from django.core.urlresolvers import reverse from django.http import HttpResponseRedirect from django.shortcuts import render_to_response from django.template import RequestContext @@ -20,10 +21,10 @@ def form_view(request): try: registration.register(form) messages.success(request, _(u'Thank you for registering.')) - return HttpResponseRedirect('/') + return HttpResponseRedirect(reverse('main:home')) except AlreadyRegistered: messages.error(request, _(u'Your copy is already registered.')) - return HttpResponseRedirect('/') + return HttpResponseRedirect(reverse('main:home')) except Exception as exception: messages.error(request, _(u'Error submiting form; %s.') % exception) else: