Reverted r10234 and r10235 that broke redirect after login (#11691).
Tests in account_controller_test.rb should not have been changed. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@10238 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
a2e59cc956
commit
3cc6d5e815
|
@ -300,7 +300,7 @@ class ApplicationController < ActionController::Base
|
||||||
end
|
end
|
||||||
|
|
||||||
def redirect_back_or_default(default)
|
def redirect_back_or_default(default)
|
||||||
back_url = params[:back_url].to_s
|
back_url = CGI.unescape(params[:back_url].to_s)
|
||||||
if !back_url.blank?
|
if !back_url.blank?
|
||||||
begin
|
begin
|
||||||
uri = URI.parse(back_url)
|
uri = URI.parse(back_url)
|
||||||
|
|
|
@ -174,7 +174,7 @@ class UsersController < ApplicationController
|
||||||
def destroy
|
def destroy
|
||||||
@user.destroy
|
@user.destroy
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.html { redirect_back_or_default(users_url) }
|
format.html { redirect_to_referer_or(users_url) }
|
||||||
format.api { render_api_ok }
|
format.api { render_api_ok }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -46,7 +46,7 @@
|
||||||
<td class="last_login_on" align="center"><%= format_time(user.last_login_on) unless user.last_login_on.nil? %></td>
|
<td class="last_login_on" align="center"><%= format_time(user.last_login_on) unless user.last_login_on.nil? %></td>
|
||||||
<td class="buttons">
|
<td class="buttons">
|
||||||
<%= change_status_link(user) %>
|
<%= change_status_link(user) %>
|
||||||
<%= delete_link user_path(user, :back_url => users_path(params)) unless User.current == user %>
|
<%= delete_link user_path(user) unless User.current == user %>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<% end -%>
|
<% end -%>
|
||||||
|
|
|
@ -33,12 +33,12 @@ class AccountControllerTest < ActionController::TestCase
|
||||||
|
|
||||||
def test_login_should_redirect_to_back_url_param
|
def test_login_should_redirect_to_back_url_param
|
||||||
# request.uri is "test.host" in test environment
|
# request.uri is "test.host" in test environment
|
||||||
post :login, :username => 'jsmith', :password => 'jsmith', :back_url => 'http://test.host/issues/show/1'
|
post :login, :username => 'jsmith', :password => 'jsmith', :back_url => 'http%3A%2F%2Ftest.host%2Fissues%2Fshow%2F1'
|
||||||
assert_redirected_to '/issues/show/1'
|
assert_redirected_to '/issues/show/1'
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_login_should_not_redirect_to_another_host
|
def test_login_should_not_redirect_to_another_host
|
||||||
post :login, :username => 'jsmith', :password => 'jsmith', :back_url => 'http://test.foo/fake'
|
post :login, :username => 'jsmith', :password => 'jsmith', :back_url => 'http%3A%2F%2Ftest.foo%2Ffake'
|
||||||
assert_redirected_to '/my/page'
|
assert_redirected_to '/my/page'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue