mirror of
https://github.com/heartcombo/devise.git
synced 2022-11-09 12:18:31 -05:00
Ensure we are pointing to the proper sessions controller on failure.
This commit is contained in:
parent
ffaba3f1d3
commit
ef3480004c
6 changed files with 17 additions and 17 deletions
|
@ -10,7 +10,7 @@ class Devise::SessionsController < ApplicationController
|
|||
|
||||
# POST /resource/sign_in
|
||||
def create
|
||||
resource = warden.authenticate!(:scope => resource_name, :recall => "#{controller_name}#new")
|
||||
resource = warden.authenticate!(:scope => resource_name, :recall => "#{controller_path}#new")
|
||||
set_flash_message :notice, :signed_in
|
||||
sign_in_and_redirect(resource_name, resource)
|
||||
end
|
||||
|
|
|
@ -292,7 +292,7 @@ class AuthenticationOthersTest < ActionController::IntegrationTest
|
|||
test 'uses the custom controller with the custom controller view' do
|
||||
get '/admin_area/sign_in'
|
||||
assert_contain 'Sign in'
|
||||
assert_contain 'Welcome to "sessions" controller!'
|
||||
assert_contain 'Welcome to "admins/sessions" controller!'
|
||||
assert_contain 'Welcome to "sessions/new" view!'
|
||||
end
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
class SessionsController < Devise::SessionsController
|
||||
class Admins::SessionsController < Devise::SessionsController
|
||||
def new
|
||||
flash[:special] = "Welcome to #{controller_path.inspect} controller!"
|
||||
super
|
|
@ -19,7 +19,7 @@ Rails.application.routes.draw do
|
|||
match "/sign_in", :to => "devise/sessions#new"
|
||||
|
||||
# Admin scope
|
||||
devise_for :admin, :path => "admin_area", :controllers => { :sessions => "sessions" }, :skip => :passwords
|
||||
devise_for :admin, :path => "admin_area", :controllers => { :sessions => "admins/sessions" }, :skip => :passwords
|
||||
|
||||
match "/admin_area/home", :to => "admins#index", :as => :admin_root
|
||||
match "/anywhere", :to => "foo#bar", :as => :new_admin_password
|
||||
|
@ -29,7 +29,7 @@ Rails.application.routes.draw do
|
|||
end
|
||||
|
||||
# Other routes for routing_test.rb
|
||||
namespace :publisher, :path_names => { :sign_in => "i_don_care", :sign_out => "get_out" } do
|
||||
namespace :publisher, :path_names => { :sign_in => "i_dont_care", :sign_out => "get_out" } do
|
||||
devise_for :accounts, :class_name => "User", :path_names => { :sign_in => "get_in" }
|
||||
end
|
||||
|
||||
|
@ -43,10 +43,10 @@ Rails.application.routes.draw do
|
|||
}
|
||||
end
|
||||
|
||||
namespace :sign_out_via do
|
||||
devise_for :deletes, :sign_out_via => :delete, :class_name => "User", :controllers => { :sessions => "sessions" }
|
||||
devise_for :posts, :sign_out_via => :post, :class_name => "User", :controllers => { :sessions => "sessions" }
|
||||
devise_for :delete_or_posts, :sign_out_via => [:delete, :post], :class_name => "User", :controllers => { :sessions => "sessions" }
|
||||
namespace :sign_out_via, :module => "devise" do
|
||||
devise_for :deletes, :sign_out_via => :delete, :class_name => "User"
|
||||
devise_for :posts, :sign_out_via => :post, :class_name => "User"
|
||||
devise_for :delete_or_posts, :sign_out_via => [:delete, :post], :class_name => "User"
|
||||
end
|
||||
|
||||
match "/set", :to => "home#set"
|
||||
|
|
|
@ -116,7 +116,7 @@ class CustomizedRoutingTest < ActionController::TestCase
|
|||
end
|
||||
|
||||
test 'map admin with :controllers option' do
|
||||
assert_recognizes({:controller => 'sessions', :action => 'new'}, {:path => 'admin_area/sign_in', :method => :get})
|
||||
assert_recognizes({:controller => 'admins/sessions', :action => 'new'}, {:path => 'admin_area/sign_in', :method => :get})
|
||||
end
|
||||
|
||||
test 'does not map admin password' do
|
||||
|
@ -154,24 +154,24 @@ class CustomizedRoutingTest < ActionController::TestCase
|
|||
end
|
||||
|
||||
test 'map deletes with :sign_out_via option' do
|
||||
assert_recognizes({:controller => 'sessions', :action => 'destroy'}, {:path => '/sign_out_via/deletes/sign_out', :method => :delete})
|
||||
assert_recognizes({:controller => 'devise/sessions', :action => 'destroy'}, {:path => '/sign_out_via/deletes/sign_out', :method => :delete})
|
||||
assert_raise ActionController::RoutingError do
|
||||
assert_recognizes({:controller => 'sessions', :action => 'destroy'}, {:path => '/sign_out_via/deletes/sign_out', :method => :get})
|
||||
assert_recognizes({:controller => 'devise/sessions', :action => 'destroy'}, {:path => '/sign_out_via/deletes/sign_out', :method => :get})
|
||||
end
|
||||
end
|
||||
|
||||
test 'map posts with :sign_out_via option' do
|
||||
assert_recognizes({:controller => 'sessions', :action => 'destroy'}, {:path => '/sign_out_via/posts/sign_out', :method => :post})
|
||||
assert_recognizes({:controller => 'devise/sessions', :action => 'destroy'}, {:path => '/sign_out_via/posts/sign_out', :method => :post})
|
||||
assert_raise ActionController::RoutingError do
|
||||
assert_recognizes({:controller => 'sessions', :action => 'destroy'}, {:path => '/sign_out_via/posts/sign_out', :method => :get})
|
||||
assert_recognizes({:controller => 'devise/sessions', :action => 'destroy'}, {:path => '/sign_out_via/posts/sign_out', :method => :get})
|
||||
end
|
||||
end
|
||||
|
||||
test 'map delete_or_posts with :sign_out_via option' do
|
||||
assert_recognizes({:controller => 'sessions', :action => 'destroy'}, {:path => '/sign_out_via/delete_or_posts/sign_out', :method => :post})
|
||||
assert_recognizes({:controller => 'sessions', :action => 'destroy'}, {:path => '/sign_out_via/delete_or_posts/sign_out', :method => :delete})
|
||||
assert_recognizes({:controller => 'devise/sessions', :action => 'destroy'}, {:path => '/sign_out_via/delete_or_posts/sign_out', :method => :post})
|
||||
assert_recognizes({:controller => 'devise/sessions', :action => 'destroy'}, {:path => '/sign_out_via/delete_or_posts/sign_out', :method => :delete})
|
||||
assert_raise ActionController::RoutingError do
|
||||
assert_recognizes({:controller => 'sessions', :action => 'destroy'}, {:path => '/sign_out_via/delete_or_posts/sign_out', :method => :get})
|
||||
assert_recognizes({:controller => 'devise/sessions', :action => 'destroy'}, {:path => '/sign_out_via/delete_or_posts/sign_out', :method => :get})
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Reference in a new issue