25 lines
571 B
Ruby
25 lines
571 B
Ruby
# frozen_string_literal: true
|
|
module Users
|
|
class SessionsController < Devise::SessionsController
|
|
after_action :store_location, only: [:new]
|
|
|
|
protected
|
|
|
|
def after_sign_in_path_for(resource)
|
|
stored = stored_location_for(User)
|
|
return stored if stored
|
|
|
|
if request.referer&.match(sign_in_url) || request.referer&.match(sign_up_url)
|
|
super
|
|
else
|
|
request.referer || root_path
|
|
end
|
|
end
|
|
|
|
private
|
|
|
|
def store_location
|
|
store_location_for(User, params[:redirect_to]) if params[:redirect_to]
|
|
end
|
|
end
|
|
end
|