summaryrefslogtreecommitdiffstats
path: root/app/controllers/application_controller.rb
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2020-02-02 08:38:01 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2020-02-02 08:38:01 +0000
commit914f57fefcee75d94ec88e466d94edf6d3ac47eb (patch)
treefb40d1f3e95e78491e9572678a8f4a2388acf9a3 /app/controllers/application_controller.rb
parent69c794f368436e945d467226186f9620d08be654 (diff)
downloadredmine-914f57fefcee75d94ec88e466d94edf6d3ac47eb.tar.gz
redmine-914f57fefcee75d94ec88e466d94edf6d3ac47eb.zip
Move duplicated back_url method from ApplicationHelper to ApplicationController (#32850).
Patch by Holger Just. git-svn-id: http://svn.redmine.org/redmine/trunk@19486 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app/controllers/application_controller.rb')
-rw-r--r--app/controllers/application_controller.rb6
1 files changed, 6 insertions, 0 deletions
diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb
index 88ba2674e..fd4554f0b 100644
--- a/app/controllers/application_controller.rb
+++ b/app/controllers/application_controller.rb
@@ -417,9 +417,15 @@ class ApplicationController < ActionController::Base
url = params[:back_url]
if url.nil? && referer = request.env['HTTP_REFERER']
url = CGI.unescape(referer.to_s)
+ # URLs that contains the utf8=[checkmark] parameter added by Rails are
+ # parsed as invalid by URI.parse so the redirect to the back URL would
+ # not be accepted (ApplicationController#validate_back_url would return
+ # false)
+ url.gsub!(/(\?|&)utf8=\u2713&?/, '\1')
end
url
end
+ helper_method :back_url
def redirect_back_or_default(default, options={})
back_url = params[:back_url].to_s