@@ -95,7 +95,9 class UsersController < ApplicationController | |||
|
95 | 95 | if request.post? |
|
96 | 96 | @user.admin = params[:user][:admin] if params[:user][:admin] |
|
97 | 97 | @user.login = params[:user][:login] if params[:user][:login] |
|
98 | @user.password, @user.password_confirmation = params[:password], params[:password_confirmation] unless params[:password].nil? or params[:password].empty? or @user.auth_source_id | |
|
98 | if params[:password].present? && (@user.auth_source_id.nil? || params[:user][:auth_source_id].blank?) | |
|
99 | @user.password, @user.password_confirmation = params[:password], params[:password_confirmation] | |
|
100 | end | |
|
99 | 101 | @user.group_ids = params[:user][:group_ids] if params[:user][:group_ids] |
|
100 | 102 | @user.attributes = params[:user] |
|
101 | 103 | # Was the account actived ? (do it before User#save clears the change) |
@@ -143,6 +143,18 class UsersControllerTest < ActionController::TestCase | |||
|
143 | 143 | assert_equal [u.mail], mail.bcc |
|
144 | 144 | assert mail.body.include?('newpass') |
|
145 | 145 | end |
|
146 | ||
|
147 | test "POST :edit with a password change to an AuthSource user switching to Internal authentication" do | |
|
148 | # Configure as auth source | |
|
149 | u = User.find(2) | |
|
150 | u.auth_source = AuthSource.find(1) | |
|
151 | u.save! | |
|
152 | ||
|
153 | post :edit, :id => u.id, :user => {:auth_source_id => ''}, :password => 'newpass', :password_confirmation => 'newpass' | |
|
154 | ||
|
155 | assert_equal nil, u.reload.auth_source | |
|
156 | assert_equal User.hash_password('newpass'), u.reload.hashed_password | |
|
157 | end | |
|
146 | 158 | |
|
147 | 159 | def test_edit_membership |
|
148 | 160 | post :edit_membership, :id => 2, :membership_id => 1, |
General Comments 0
You need to be logged in to leave comments.
Login now