summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/controllers/application_controller.rb12
-rw-r--r--app/helpers/application_helper.rb10
2 files changed, 12 insertions, 10 deletions
diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb
index 75f92c3..cbeb40d 100644
--- a/app/controllers/application_controller.rb
+++ b/app/controllers/application_controller.rb
@@ -5,6 +5,8 @@ class ApplicationController < ActionController::Base
5 5
6 before_action :set_locale 6 before_action :set_locale
7 7
8 helper_method :safe_return_to
9
8 protected 10 protected
9 11
10 def set_locale 12 def set_locale
@@ -18,4 +20,14 @@ class ApplicationController < ActionController::Base
18 def default_url_options 20 def default_url_options
19 { locale: I18n.locale == I18n.default_locale ? nil : I18n.locale } 21 { locale: I18n.locale == I18n.default_locale ? nil : I18n.locale }
20 end 22 end
23
24 def safe_return_to(url)
25 return events_path if url.blank?
26 uri = URI.parse(url)
27 return events_path if uri.host.present?
28 return events_path unless url.start_with?('/')
29 url
30 rescue URI::InvalidURIError
31 events_path
32 end
21end 33end
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index 72b76b8..0be66e9 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -11,14 +11,4 @@ module ApplicationHelper
11 end 11 end
12 end 12 end
13 end 13 end
14
15 def safe_return_to(url)
16 return events_path if url.blank?
17 uri = URI.parse(url)
18 return events_path if uri.host.present?
19 return events_path unless url.start_with?('/')
20 url
21 rescue URI::InvalidURIError
22 events_path
23 end
24end 14end