Commit dc3912f86e9517353d71c9f430a02ae9fd0bc665
1 parent
f2e97688
Exists in
master
and in
29 other branches
change-password: fixed bug in change password error
AI3012
Showing
2 changed files
with
13 additions
and
0 deletions
Show diff stats
app/controllers/public/account_controller.rb
@@ -135,6 +135,9 @@ class AccountController < ApplicationController | @@ -135,6 +135,9 @@ class AccountController < ApplicationController | ||
135 | rescue User::IncorrectPassword => e | 135 | rescue User::IncorrectPassword => e |
136 | session[:notice] = _('The supplied current password is incorrect.') | 136 | session[:notice] = _('The supplied current password is incorrect.') |
137 | render :action => 'change_password' | 137 | render :action => 'change_password' |
138 | + rescue ActiveRecord::RecordInvalid | ||
139 | + session[:notice] = _("Passwords don't match!") | ||
140 | + render :action => 'change_password' | ||
138 | end | 141 | end |
139 | else | 142 | else |
140 | render :action => 'change_password' | 143 | render :action => 'change_password' |
test/functional/account_controller_test.rb
@@ -203,6 +203,16 @@ class AccountControllerTest < ActionController::TestCase | @@ -203,6 +203,16 @@ class AccountControllerTest < ActionController::TestCase | ||
203 | assert_equal users(:ze), @controller.send(:current_user) | 203 | assert_equal users(:ze), @controller.send(:current_user) |
204 | end | 204 | end |
205 | 205 | ||
206 | + should "not change password when new password and new password confirmation don't match" do | ||
207 | + login_as 'ze' | ||
208 | + post :change_password, :current_password => 'test', :new_password => 'blabla', :new_password_confirmation => 'blibli' | ||
209 | + assert_response :success | ||
210 | + assert_template 'change_password' | ||
211 | + assert !assigns(:current_user).authenticated?('blabla') | ||
212 | + assert !assigns(:current_user).authenticated?('blibli') | ||
213 | + assert_equal users(:ze), @controller.send(:current_user) | ||
214 | + end | ||
215 | + | ||
206 | should 'provide a "I forget my password" link at the login page' do | 216 | should 'provide a "I forget my password" link at the login page' do |
207 | get :login | 217 | get :login |
208 | assert_tag :tag => 'a', :attributes => { | 218 | assert_tag :tag => 'a', :attributes => { |