aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/app/controllers/users_controller.rb13
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/app/views/users/index.html.erb10
2 files changed, 22 insertions, 1 deletions
diff --git a/sonar-server/src/main/webapp/WEB-INF/app/controllers/users_controller.rb b/sonar-server/src/main/webapp/WEB-INF/app/controllers/users_controller.rb
index bd04170ee35..d39d7fda380 100644
--- a/sonar-server/src/main/webapp/WEB-INF/app/controllers/users_controller.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/app/controllers/users_controller.rb
@@ -74,6 +74,19 @@ class UsersController < ApplicationController
render :action => 'index', :id => params[:id]
end
+ def update_password
+ user = User.find(params[:id])
+
+ if params[:user][:password].blank?
+ flash[:error] = 'Password required.'
+
+ elsif user.update_attributes(:password => params[:user][:password], :password_confirmation => params[:user][:password_confirmation])
+ flash[:notice] = 'Password was successfully updated.'
+ end
+
+ to_index(user.errors, nil);
+ end
+
def update
user = User.find(params[:id])
diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/users/index.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/users/index.html.erb
index a3856382d2b..15fad13ebab 100644
--- a/sonar-server/src/main/webapp/WEB-INF/app/views/users/index.html.erb
+++ b/sonar-server/src/main/webapp/WEB-INF/app/views/users/index.html.erb
@@ -42,6 +42,7 @@
action_name = 'update'
title = 'Edit user'
if params[:action] == 'change_password'
+ action_name = 'update_password'
title = 'Change password'
end
end
@@ -69,13 +70,20 @@
<td class="left" valign="top">Email:<br/><%= f.text_field :email, :size => 30, :maxLength => 100 %></td>
</tr>
<% end %>
- <% if params[:action] == 'change_password' || !@user.id %>
+ <% if !@user.id %>
<tr>
<td class="left" valign="top">Password:<br/><%= f.password_field :password, :size => 30, :maxLength => 50 %></td>
</tr>
<tr>
<td class="left" valign="top">Confirm password:<br/><%= f.password_field :password_confirmation, :size => 30, :maxLength => 50 %></td>
</tr>
+ <% elsif params[:action] == 'change_password' %>
+ <tr>
+ <td class="left" valign="top">New password:<br/><%= f.password_field :password, :size => 30, :maxLength => 50 %></td>
+ </tr>
+ <tr>
+ <td class="left" valign="top">Confirm new password:<br/><%= f.password_field :password_confirmation, :size => 30, :maxLength => 50 %></td>
+ </tr>
<% end %>
<tr>
<td class="left" nowrap="nowrap" valign="top" colspan="2">