From 1e37e422392ed3100fd3dbbfe5e3f1fe58e1212d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Valim?= Date: Sun, 20 Nov 2011 19:19:41 +0000 Subject: [PATCH] Do not use stored location for sign out. --- app/controllers/devise/sessions_controller.rb | 2 +- lib/devise/controllers/helpers.rb | 5 ++--- test/controllers/helpers_test.rb | 10 ---------- 3 files changed, 3 insertions(+), 14 deletions(-) diff --git a/app/controllers/devise/sessions_controller.rb b/app/controllers/devise/sessions_controller.rb index 6f65b457..2f485113 100644 --- a/app/controllers/devise/sessions_controller.rb +++ b/app/controllers/devise/sessions_controller.rb @@ -25,7 +25,7 @@ class Devise::SessionsController < ApplicationController Devise.sign_out_all_scopes ? sign_out : sign_out(resource_name) set_flash_message :notice, :signed_out if signed_in - # We actually need to hardcode this, as Rails default responder doesn't + # We actually need to hardcode this as Rails default responder doesn't # support returning empty response on GET request respond_to do |format| format.any(*navigational_formats) { redirect_to redirect_path } diff --git a/lib/devise/controllers/helpers.rb b/lib/devise/controllers/helpers.rb index 43e4ac37..3da975fd 100644 --- a/lib/devise/controllers/helpers.rb +++ b/lib/devise/controllers/helpers.rb @@ -207,10 +207,9 @@ module Devise # scope. Notice that differently from +after_sign_in_path_for+ this method # receives a symbol with the scope, and not the resource. # - # By default, it first tries to find a valid resource_return_to key in the - # session, then it fallbacks to root_path. + # By default it is the root_path. def after_sign_out_path_for(resource_or_scope) - stored_location_for(resource_or_scope) || root_path + root_path end # Sign in a user and tries to redirect first to the stored location and diff --git a/test/controllers/helpers_test.rb b/test/controllers/helpers_test.rb index d6bae4d7..c05ccef9 100644 --- a/test/controllers/helpers_test.rb +++ b/test/controllers/helpers_test.rb @@ -248,16 +248,6 @@ class ControllerAuthenticatableTest < ActionController::TestCase end end - test 'sign out and redirect uses the stored location when signing out' do - swap Devise, :sign_out_all_scopes => true do - @mock_warden.expects(:user).times(Devise.mappings.size) - @mock_warden.expects(:logout).with().returns(true) - @controller.expects(:redirect_to).with("/foo.bar") - @controller.session[:"admin_return_to"] = "/foo.bar" - @controller.sign_out_and_redirect(:admin) - end - end - test 'is not a devise controller' do assert_not @controller.devise_controller? end