@@ -101,7 +101,7 class UsersController < ApplicationController | |||
|
101 | 101 | @user.safe_attributes = params[:user] |
|
102 | 102 | @user.admin = params[:user][:admin] || false |
|
103 | 103 | @user.login = params[:user][:login] |
|
104 | @user.password, @user.password_confirmation = params[:password], params[:password_confirmation] unless @user.auth_source_id | |
|
104 | @user.password, @user.password_confirmation = params[:user][:password], params[:user][:password_confirmation] unless @user.auth_source_id | |
|
105 | 105 | |
|
106 | 106 | # TODO: Similar to My#account |
|
107 | 107 | @user.mail_notification = params[:notification_option] || 'only_my_events' |
@@ -127,6 +127,8 class UsersController < ApplicationController | |||
|
127 | 127 | else |
|
128 | 128 | @auth_sources = AuthSource.find(:all) |
|
129 | 129 | @notification_option = @user.mail_notification |
|
130 | # Clear password input | |
|
131 | @user.password = @user.password_confirmation = nil | |
|
130 | 132 | |
|
131 | 133 | respond_to do |format| |
|
132 | 134 | format.html { render :action => 'new' } |
@@ -152,8 +154,8 class UsersController < ApplicationController | |||
|
152 | 154 | |
|
153 | 155 | @user.admin = params[:user][:admin] if params[:user][:admin] |
|
154 | 156 | @user.login = params[:user][:login] if params[:user][:login] |
|
155 | if params[:password].present? && (@user.auth_source_id.nil? || params[:user][:auth_source_id].blank?) | |
|
156 | @user.password, @user.password_confirmation = params[:password], params[:password_confirmation] | |
|
157 | if params[:user][:password].present? && (@user.auth_source_id.nil? || params[:user][:auth_source_id].blank?) | |
|
158 | @user.password, @user.password_confirmation = params[:user][:password], params[:user][:password_confirmation] | |
|
157 | 159 | end |
|
158 | 160 | @user.group_ids = params[:user][:group_ids] if params[:user][:group_ids] |
|
159 | 161 | @user.safe_attributes = params[:user] |
@@ -170,8 +172,8 class UsersController < ApplicationController | |||
|
170 | 172 | |
|
171 | 173 | if was_activated |
|
172 | 174 | Mailer.deliver_account_activated(@user) |
|
173 | elsif @user.active? && params[:send_information] && !params[:password].blank? && @user.auth_source_id.nil? | |
|
174 | Mailer.deliver_account_information(@user, params[:password]) | |
|
175 | elsif @user.active? && params[:send_information] && !params[:user][:password].blank? && @user.auth_source_id.nil? | |
|
176 | Mailer.deliver_account_information(@user, params[:user][:password]) | |
|
175 | 177 | end |
|
176 | 178 | |
|
177 | 179 | respond_to do |format| |
@@ -184,6 +186,8 class UsersController < ApplicationController | |||
|
184 | 186 | else |
|
185 | 187 | @auth_sources = AuthSource.find(:all) |
|
186 | 188 | @membership ||= Member.new |
|
189 | # Clear password input | |
|
190 | @user.password = @user.password_confirmation = nil | |
|
187 | 191 | |
|
188 | 192 | respond_to do |format| |
|
189 | 193 | format.html { render :action => :edit } |
@@ -25,11 +25,9 | |||
|
25 | 25 | <p><%= f.select :auth_source_id, ([[l(:label_internal), ""]] + @auth_sources.collect { |a| [a.name, a.id] }), {}, :onchange => "if (this.value=='') {Element.show('password_fields');} else {Element.hide('password_fields');}" %></p> |
|
26 | 26 | <% end %> |
|
27 | 27 | <div id="password_fields" style="<%= 'display:none;' if @user.auth_source %>"> |
|
28 | <p><label for="password"><%=l(:field_password)%><span class="required"> *</span></label> | |
|
29 | <%= password_field_tag 'password', nil, :size => 25 %><br /> | |
|
28 | <p><%= f.password_field :password, :required => true, :size => 25 %><br /> | |
|
30 | 29 | <em><%= l(:text_caracters_minimum, :count => Setting.password_min_length) %></em></p> |
|
31 | <p><label for="password_confirmation"><%=l(:field_password_confirmation)%><span class="required"> *</span></label> | |
|
32 | <%= password_field_tag 'password_confirmation', nil, :size => 25 %></p> | |
|
30 | <p><%= f.password_field :password_confirmation, :required => true, :size => 25 %></p> | |
|
33 | 31 | </div> |
|
34 | 32 | </div> |
|
35 | 33 |
@@ -152,6 +152,11 class UsersControllerTest < ActionController::TestCase | |||
|
152 | 152 | user = User.last |
|
153 | 153 | assert_equal 'none', user.mail_notification |
|
154 | 154 | end |
|
155 | ||
|
156 | should 'set the password' do | |
|
157 | user = User.first(:order => 'id DESC') | |
|
158 | assert user.check_password?('test') | |
|
159 | end | |
|
155 | 160 | end |
|
156 | 161 | |
|
157 | 162 | context "when unsuccessful" do |
@@ -194,13 +199,13 class UsersControllerTest < ActionController::TestCase | |||
|
194 | 199 | assert mail.body.include?(ll('fr', :notice_account_activated)) |
|
195 | 200 | end |
|
196 | 201 | |
|
197 | def test_updat_with_password_change_should_send_a_notification | |
|
202 | def test_update_with_password_change_should_send_a_notification | |
|
198 | 203 | ActionMailer::Base.deliveries.clear |
|
199 | 204 | Setting.bcc_recipients = '1' |
|
200 | 205 | |
|
206 | put :update, :id => 2, :user => {:password => 'newpass', :password_confirmation => 'newpass'}, :send_information => '1' | |
|
201 | 207 | u = User.find(2) |
|
202 | put :update, :id => u.id, :user => {}, :password => 'newpass', :password_confirmation => 'newpass', :send_information => '1' | |
|
203 | assert_equal User.hash_password('newpass'), u.reload.hashed_password | |
|
208 | assert u.check_password?('newpass') | |
|
204 | 209 | |
|
205 | 210 | mail = ActionMailer::Base.deliveries.last |
|
206 | 211 | assert_not_nil mail |
@@ -214,10 +219,10 class UsersControllerTest < ActionController::TestCase | |||
|
214 | 219 | u.auth_source = AuthSource.find(1) |
|
215 | 220 | u.save! |
|
216 | 221 | |
|
217 |
put :update, :id => u.id, :user => {:auth_source_id => '' |
|
|
222 | put :update, :id => u.id, :user => {:auth_source_id => '', :password => 'newpass'}, :password_confirmation => 'newpass' | |
|
218 | 223 | |
|
219 | 224 | assert_equal nil, u.reload.auth_source |
|
220 | assert_equal User.hash_password('newpass'), u.reload.hashed_password | |
|
225 | assert u.check_password?('newpass') | |
|
221 | 226 | end |
|
222 | 227 | |
|
223 | 228 | def test_edit_membership |
@@ -54,13 +54,13 class ApiTest::UsersTest < ActionController::IntegrationTest | |||
|
54 | 54 | context "POST /users" do |
|
55 | 55 | context "with valid parameters" do |
|
56 | 56 | setup do |
|
57 | @parameters = {:user => {:login => 'foo', :firstname => 'Firstname', :lastname => 'Lastname', :mail => 'foo@example.net'}} | |
|
57 | @parameters = {:user => {:login => 'foo', :firstname => 'Firstname', :lastname => 'Lastname', :mail => 'foo@example.net', :password => 'secret'}} | |
|
58 | 58 | end |
|
59 | 59 | |
|
60 | 60 | context ".xml" do |
|
61 | 61 | should_allow_api_authentication(:post, |
|
62 | 62 | '/users.xml', |
|
63 | {:user => {:login => 'foo', :firstname => 'Firstname', :lastname => 'Lastname', :mail => 'foo@example.net'}}, | |
|
63 | {:user => {:login => 'foo', :firstname => 'Firstname', :lastname => 'Lastname', :mail => 'foo@example.net', :password => 'secret'}}, | |
|
64 | 64 | {:success_code => :created}) |
|
65 | 65 | |
|
66 | 66 | should "create a user with the attributes" do |
@@ -74,6 +74,7 class ApiTest::UsersTest < ActionController::IntegrationTest | |||
|
74 | 74 | assert_equal 'Lastname', user.lastname |
|
75 | 75 | assert_equal 'foo@example.net', user.mail |
|
76 | 76 | assert !user.admin? |
|
77 | assert user.check_password?('secret') | |
|
77 | 78 | |
|
78 | 79 | assert_response :created |
|
79 | 80 | assert_equal 'application/xml', @response.content_type |
General Comments 0
You need to be logged in to leave comments.
Login now