makes devise remember the last visited page before login in

This commit is contained in:
kikito
2015-12-21 16:44:30 +01:00
parent 02bdeec164
commit 866e04f776
2 changed files with 15 additions and 8 deletions

View File

@@ -10,6 +10,7 @@ class ApplicationController < ActionController::Base
before_action :ensure_signup_complete before_action :ensure_signup_complete
before_action :set_locale before_action :set_locale
before_action :track_email_campaign before_action :track_email_campaign
before_action :set_return_url
check_authorization unless: :devise_controller? check_authorization unless: :devise_controller?
self.responder = ApplicationResponder self.responder = ApplicationResponder
@@ -101,4 +102,10 @@ class ApplicationController < ActionController::Base
ahoy.track campaign.name if campaign.present? ahoy.track campaign.name if campaign.present?
end end
end end
def set_return_url
if !devise_controller? && controller_name != 'welcome' && is_navigational_format?
store_location_for(:user, request.path)
end
end
end end

View File

@@ -1,5 +1,7 @@
class Users::SessionsController < Devise::SessionsController class Users::SessionsController < Devise::SessionsController
private
def after_sign_in_path_for(resource) def after_sign_in_path_for(resource)
if !verifying_via_email? && resource.show_welcome_screen? if !verifying_via_email? && resource.show_welcome_screen?
welcome_path welcome_path
@@ -8,8 +10,6 @@ class Users::SessionsController < Devise::SessionsController
end end
end end
private
def verifying_via_email? def verifying_via_email?
return false unless resource.present? return false unless resource.present?
stored_path = session[stored_location_key_for(resource)] || "" stored_path = session[stored_location_key_for(resource)] || ""