Do not use stored location for sign out.

This commit is contained in:
José Valim 2011-11-20 19:19:41 +00:00
parent ce1bd142e2
commit 1e37e42239
3 changed files with 3 additions and 14 deletions

View File

@ -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 }

View File

@ -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

View File

@ -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