##// END OF EJS Templates
Fixed that preferences are not preserved when adding a user fails (#15552)....
Jean-Philippe Lang -
r12099:6032263d9b10
parent child
Show More
@@ -90,11 +90,9 class UsersController < ApplicationController
90 @user.admin = params[:user][:admin] || false
90 @user.admin = params[:user][:admin] || false
91 @user.login = params[:user][:login]
91 @user.login = params[:user][:login]
92 @user.password, @user.password_confirmation = params[:user][:password], params[:user][:password_confirmation] unless @user.auth_source_id
92 @user.password, @user.password_confirmation = params[:user][:password], params[:user][:password_confirmation] unless @user.auth_source_id
93 @user.pref.attributes = params[:pref]
93
94
94 if @user.save
95 if @user.save
95 @user.pref.attributes = params[:pref]
96 @user.pref.save
97
98 Mailer.account_information(@user, @user.password).deliver if params[:send_information]
96 Mailer.account_information(@user, @user.password).deliver if params[:send_information]
99
97
100 respond_to do |format|
98 respond_to do |format|
@@ -250,6 +250,25 class UsersControllerTest < ActionController::TestCase
250 assert_template 'new'
250 assert_template 'new'
251 end
251 end
252
252
253 def test_create_with_failure_sould_preserve_preference
254 assert_no_difference 'User.count' do
255 post :create,
256 :user => {},
257 :pref => {
258 'no_self_notified' => '1',
259 'hide_mail' => '1',
260 'time_zone' => 'Paris',
261 'comments_sorting' => 'desc',
262 'warn_on_leaving_unsaved' => '0'
263 }
264 end
265 assert_response :success
266 assert_template 'new'
267
268 assert_select 'select#pref_time_zone option[selected=selected]', :text => /Paris/
269 assert_select 'input#pref_no_self_notified[value=1][checked=checked]'
270 end
271
253 def test_edit
272 def test_edit
254 get :edit, :id => 2
273 get :edit, :id => 2
255 assert_response :success
274 assert_response :success
General Comments 0
You need to be logged in to leave comments. Login now