From ee5fe9ad9530ac5a63be6f8916df67bf778fb869 Mon Sep 17 00:00:00 2001 From: stephenbroyer Date: Fri, 11 Oct 2013 18:29:01 +0200 Subject: [PATCH] SONAR-4760 Use modal windows in Manual Rules pages --- .../controllers/manual_rules_controller.rb | 52 +++++++++++++------ .../views/manual_rules/_create_form.html.erb | 35 +++++++++++++ .../views/manual_rules/_edit_form.html.erb | 36 +++++++++++++ .../app/views/manual_rules/index.html.erb | 49 +++++------------ 4 files changed, 121 insertions(+), 51 deletions(-) create mode 100644 sonar-server/src/main/webapp/WEB-INF/app/views/manual_rules/_create_form.html.erb create mode 100644 sonar-server/src/main/webapp/WEB-INF/app/views/manual_rules/_edit_form.html.erb diff --git a/sonar-server/src/main/webapp/WEB-INF/app/controllers/manual_rules_controller.rb b/sonar-server/src/main/webapp/WEB-INF/app/controllers/manual_rules_controller.rb index 4207b14337f..29f2ab1b8bd 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/controllers/manual_rules_controller.rb +++ b/sonar-server/src/main/webapp/WEB-INF/app/controllers/manual_rules_controller.rb @@ -31,31 +31,53 @@ class ManualRulesController < ApplicationController end def edit - @rules = Rule.manual_rules() - @rule=Rule.manual_rule(params['id'].to_i) - bad_request('Missing rule id') unless @rule - render :action => 'index' + verify_post_request + access_denied unless is_admin? + begin + # Update rule + rule=Rule.manual_rule(params['id'].to_i) + bad_request('Unknown rule') unless rule + rule.name=(params[:name]) + rule.description=params[:description] + rule.save! + rescue Exception => e + @error= e.message + end + @rule = rule + if @error + render :partial => 'manual_rules/edit_form', :status => 400 + else + flash[:notice] = 'Manual rule saved' + render :text => 'ok', :status => 200 + end + end def create verify_post_request access_denied unless is_admin? begin - if params[:id].to_i>0 - # Update rule - rule=Rule.manual_rule(params['id'].to_i) - bad_request('Unknown rule') unless rule - rule.name=(params[:name]) - rule.description=params[:description] - rule.save! - else # Create rule Rule.create_manual_rule(params) - end rescue Exception => e - flash[:error]= e.message + @error= e.message end - redirect_to :action => 'index' + if @error + render :partial => 'manual_rules/create_form', :status => 400 + else + flash[:notice] = 'Manual rule created' + render :text => 'ok', :status => 200 + end + end + + def create_form + @rule = Rule.new + render :partial => 'manual_rules/create_form' + end + + def edit_form + @rule=Rule.manual_rule(params['id'].to_i) + render :partial => 'manual_rules/edit_form', :status => 200 end def delete diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/manual_rules/_create_form.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/manual_rules/_create_form.html.erb new file mode 100644 index 00000000000..3a7350ae605 --- /dev/null +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/manual_rules/_create_form.html.erb @@ -0,0 +1,35 @@ +<% if is_admin? %> +
+
+ + + + + +
+
+<% end %> + + \ No newline at end of file diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/manual_rules/_edit_form.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/manual_rules/_edit_form.html.erb new file mode 100644 index 00000000000..ddf0b708c98 --- /dev/null +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/manual_rules/_edit_form.html.erb @@ -0,0 +1,36 @@ +<% if is_admin? %> +
+
+ + + + + +
+
+<% end %> + + \ No newline at end of file diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/manual_rules/index.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/manual_rules/index.html.erb index 590ee37467d..1c7ad51f159 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/views/manual_rules/index.html.erb +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/manual_rules/index.html.erb @@ -1,7 +1,17 @@ +
+ <% if profiles_administrator? %> + + <% end %> +

<%= message('manual_rules.page') -%>

+
+ - <% if is_admin? %> - - - <% end %>
-

<%= message('manual_rules.page') -%>

@@ -23,8 +33,8 @@ <%= h rule.description -%> @@ -32,38 +42,5 @@
- <%= link_to 'Edit', {:action => 'edit', :id => rule.id}, {:id => "edit_#{u(rule.key)}", :class => 'link-action'} %> -   + Edit +   <%= link_to 'Delete', {:action => 'delete', :id => rule.id}, {:confirm => message('are_you_sure'), :id => "delete_#{u(rule.key)}", :class => 'link-action link-red', :method => 'delete'} %>
-
- - - - - - - - - - - - - - -

<%= @rule && @rule.id.nil? ? 'Create Manual Rule' : 'Edit Manual Rule' -%>

- Name:
-
- Ex. : Performance -
- Description:
- -
-
- - <%= link_to 'Cancel', { :controller => 'manual_rules', :action => 'index'}, { :class => 'action' } %>
-
-
-
-- 2.39.5