From 0aeb1a216077e37f71ab769feb625b55d4281a17 Mon Sep 17 00:00:00 2001 From: Julien Lancelot Date: Tue, 17 Jun 2014 11:24:28 +0200 Subject: [PATCH] SONAR-4514 Settings -> Manual Rules page now uses Java service --- .../controllers/manual_rules_controller.rb | 63 +++++++------------ .../views/manual_rules/_create_form.html.erb | 48 +++++++------- .../views/manual_rules/_edit_form.html.erb | 50 +++++++-------- .../app/views/manual_rules/index.html.erb | 4 +- 4 files changed, 71 insertions(+), 94 deletions(-) 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 0b5c10ec2e9..e71fcfafaf7 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 @@ -25,69 +25,54 @@ class ManualRulesController < ApplicationController def index @rules = Rule.manual_rules() - @rule=Rule.new render :action => 'index' end def edit 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' + call_backend do + rule_update = { + 'ruleKey' => params[:key], + 'name' => params[:name], + 'htmlDescription' => params[:description] + } + Internal.rules.updateManualRule(rule_update) render :text => 'ok', :status => 200 end - end + # Information : if the key already exists but is removed, it will be automatically reactivated without any message to the user def create verify_post_request - access_denied unless is_admin? - begin - # Create rule - Rule.create_manual_rule(params) - rescue Exception => e - @error= e.message - end - if @error - render :partial => 'manual_rules/create_form', :status => 400 - else - flash[:notice] = 'Manual rule created' + require_parameters 'name' + + call_backend do + manual_key = params[:name].strip.downcase.gsub(/\s/, '_') + new_rule = { + 'manualKey' => manual_key, + 'name' => params[:name], + 'htmlDescription' => params[:description] + } + Internal.rules.createManualRule(new_rule) 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 + @rule = Internal.rules.findByKey(params['key']) + render :partial => 'manual_rules/edit_form', :status => 200 end def delete verify_post_request - access_denied unless is_admin? - rule=Rule.manual_rule(params['id'].to_i) - bad_request('Missing rule id') unless rule - rule.status=Rule::STATUS_REMOVED - unless rule.save - flash[:error]=rule.errors.to_s + + call_backend do + Internal.rules.deleteManualRule(params['key']) + redirect_to :action => 'index' end - redirect_to :action => 'index' end end 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 index 11d27c00b6e..03539debbc9 100644 --- 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 @@ -1,32 +1,28 @@ -<% if is_admin? %> -
-
- + +
+ -
- -<% end %> + + + +
+