Class: Devise::MasqueradesController
- Inherits:
-
DeviseController
- Object
- DeviseController
- Devise::MasqueradesController
- Defined in:
- app/controllers/devise/masquerades_controller.rb
Instance Method Summary collapse
Instance Method Details
#back ⇒ Object
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
# File 'app/controllers/devise/masquerades_controller.rb', line 47 def back user_id = session[session_key] owner_user = if user_id.present? resource_class.to_adapter.find_first(:id => user_id) else send(:"current_#{resource_name}") end if Devise.masquerade_bypass_warden_callback if respond_to?(:bypass_sign_in) bypass_sign_in(owner_user) else sign_in(owner_user, :bypass => true) end else sign_in(owner_user) end request.env["devise.skip_trackable"] = nil if Devise.masquerade_routes_back && Rails::VERSION::MAJOR == 5 # If using the masquerade_routes_back and Rails 5 redirect_back(fallback_location: after_back_masquerade_path_for(owner_user)) elsif Devise.masquerade_routes_back && request.env['HTTP_REFERER'].present? redirect_to :back else redirect_to after_back_masquerade_path_for(owner_user) end end |
#show ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'app/controllers/devise/masquerades_controller.rb', line 20 def show self.resource = resource_class.to_adapter.find_first(:id => params[:id]) redirect_to(new_user_session_path) and return unless self.resource self.resource.masquerade! request.env["devise.skip_trackable"] = "1" if Devise.masquerade_bypass_warden_callback if respond_to?(:bypass_sign_in) bypass_sign_in(self.resource) else sign_in(self.resource, :bypass => true) end else sign_in(self.resource) end if Devise.masquerade_routes_back && Rails::VERSION::MAJOR == 5 redirect_back(fallback_location: "#{after_masquerade_param_for(self.resource)}?#{after_masquerade_param_for(resource)}") elsif Devise.masquerade_routes_back && request.env['HTTP_REFERER'].present? redirect_to :back else redirect_to("#{after_masquerade_path_for(self.resource)}?#{after_masquerade_param_for(resource)}") end end |