From 51174f7f3434fc5c422ebf84e20f7984762f3bdd Mon Sep 17 00:00:00 2001 From: stephenbroyer Date: Wed, 16 Oct 2013 11:53:41 +0200 Subject: [PATCH] SONAR-4758 Use modal windows in Users pages (delete user) --- .../app/controllers/users_controller.rb | 24 +++++++++++---- .../app/views/users/_delete_form.html.erb | 29 +++++++++++++++++++ .../WEB-INF/app/views/users/index.html.erb | 3 +- 3 files changed, 48 insertions(+), 8 deletions(-) create mode 100644 sonar-server/src/main/webapp/WEB-INF/app/views/users/_delete_form.html.erb 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 1d42a422405..b4a0f071e05 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 @@ -163,21 +163,33 @@ class UsersController < ApplicationController end end + def delete_form + user = User.find(params[:id]) + if user + @user=user + render :partial => 'users/delete_form' + else + redirect_to(:action => 'index', :id => nil) + end + end + def destroy begin user = User.find(params[:id]) + @user =user Api.users.deactivate(user.login) flash[:notice] = 'User is deleted.' + render :text => 'ok', :status => 200 rescue NativeException => exception + @errors = [] if exception.cause.java_kind_of? Java::OrgSonarServerExceptions::HttpException error = exception.cause - flash[:error] = (error.getMessage ? error.getMessage : Api::Utils.message(error.l10nKey, :params => error.l10nParams.to_a)) - else - flash[:error] = 'Error when deleting this user.' - end + @errors = (error.getMessage ? error.getMessage : Api::Utils.message(error.l10nKey, :params => error.l10nParams.to_a)) + else + @errors << 'Error when deleting this user.' + end + render :partial => 'users/delete_form',:status => 400 end - - redirect_to(:action => 'index', :id => nil) end def select_group diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/users/_delete_form.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/users/_delete_form.html.erb new file mode 100644 index 00000000000..aafa4a3c538 --- /dev/null +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/users/_delete_form.html.erb @@ -0,0 +1,29 @@ +
+
+ + + +
+
+ \ No newline at end of file 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 dd6cee25cf0..ff2a1450ca7 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 @@ -36,8 +36,7 @@   <%= link_to "Change password", { :id => user.id, :action => 'change_password_form'}, {:id => "change-password-#{u user.login}", :class => 'open-modal link-action'} %>   - <%= link_to "Delete", {:action => 'destroy', :id => user.id}, {:confirm => "Warning : are you sure to delete this user?", :method => 'delete', - :id => "delete-#{u user.login}", :class => 'link-action link-red'} %> + Delete <% end %> -- 2.39.5