diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2012-10-11 17:17:30 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2012-10-11 17:17:30 +0000 |
commit | 3e706adddddf189060d16c0770a625d6d7065f8b (patch) | |
tree | a7018256d89af0dce96d7c813b1b0c8e2146697a | |
parent | 5344a35f723bf1501bb6274ef80195154c3e061f (diff) | |
download | redmine-3e706adddddf189060d16c0770a625d6d7065f8b.tar.gz redmine-3e706adddddf189060d16c0770a625d6d7065f8b.zip |
Preserve username when authentification failed (#11846).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@10609 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r-- | app/views/account/login.html.erb | 9 | ||||
-rw-r--r-- | test/functional/account_controller_test.rb | 17 |
2 files changed, 21 insertions, 5 deletions
diff --git a/app/views/account/login.html.erb b/app/views/account/login.html.erb index 6c76ab2e8..05a9f61f7 100644 --- a/app/views/account/login.html.erb +++ b/app/views/account/login.html.erb @@ -5,7 +5,7 @@ <table> <tr> <td align="right"><label for="username"><%=l(:field_login)%>:</label></td> - <td align="left"><%= text_field_tag 'username', nil, :tabindex => '1' %></td> + <td align="left"><%= text_field_tag 'username', params[:username], :tabindex => '1' %></td> </tr> <tr> <td align="right"><label for="password"><%=l(:field_password)%>:</label></td> @@ -36,7 +36,12 @@ </td> </tr> </table> -<%= javascript_tag "$('#username').focus();" %> <% end %> </div> <%= call_hook :view_account_login_bottom %> + +<% if params[:username].present? %> +<%= javascript_tag "$('#password').focus();" %> +<% else %> +<%= javascript_tag "$('#username').focus();" %> +<% end %> diff --git a/test/functional/account_controller_test.rb b/test/functional/account_controller_test.rb index 7b5a449e5..05c3b047b 100644 --- a/test/functional/account_controller_test.rb +++ b/test/functional/account_controller_test.rb @@ -31,6 +31,15 @@ class AccountControllerTest < ActionController::TestCase User.current = nil end + def test_get_login + get :login + assert_response :success + assert_template 'login' + + assert_select 'input[name=username]' + assert_select 'input[name=password]' + end + def test_login_should_redirect_to_back_url_param # request.uri is "test.host" in test environment post :login, :username => 'jsmith', :password => 'jsmith', :back_url => 'http://test.host/issues/show/1' @@ -46,9 +55,11 @@ class AccountControllerTest < ActionController::TestCase post :login, :username => 'admin', :password => 'bad' assert_response :success assert_template 'login' - assert_tag 'div', - :attributes => { :class => "flash error" }, - :content => /Invalid user or password/ + + assert_select 'div.flash.error', :text => /Invalid user or password/ + assert_select 'input[name=username][value=admin]' + assert_select 'input[name=password]' + assert_select 'input[name=password][value]', 0 end def test_login_should_rescue_auth_source_exception |