]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-4514 Settings -> Manual Rules page now uses Java service
authorJulien Lancelot <julien.lancelot@sonarsource.com>
Tue, 17 Jun 2014 09:24:28 +0000 (11:24 +0200)
committerJulien Lancelot <julien.lancelot@sonarsource.com>
Tue, 17 Jun 2014 09:24:28 +0000 (11:24 +0200)
sonar-server/src/main/webapp/WEB-INF/app/controllers/manual_rules_controller.rb
sonar-server/src/main/webapp/WEB-INF/app/views/manual_rules/_create_form.html.erb
sonar-server/src/main/webapp/WEB-INF/app/views/manual_rules/_edit_form.html.erb
sonar-server/src/main/webapp/WEB-INF/app/views/manual_rules/index.html.erb

index 0b5c10ec2e97fda4c8e3596272e4e23d7afbe886..e71fcfafaf70ecb4b709feb56f29cdd679e763e6 100644 (file)
@@ -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
index 11d27c00b6ec00492b1dbe34cd6d4b8ef6eacabc..03539debbc92d9eab260b969a4608f5c1b5a4320 100644 (file)
@@ -1,32 +1,28 @@
-<% if is_admin? %>
-  <form action="<%= ApplicationController.root_context -%>/manual_rules/create" method="POST" id="manual-rules-form">
-      <fieldset>
-          <div class="modal-head">
-              <h2>Create Manual Rule</h2>
-          </div>
+<form action="<%= ApplicationController.root_context -%>/manual_rules/create" method="POST" id="manual-rules-form">
+    <fieldset>
+        <div class="modal-head">
+            <h2>Create Manual Rule</h2>
+        </div>
 
-          <div class="modal-body">
-              <% if @error  %>
-                  <p class="error"><%= h @error -%></p>
-              <% end %>
-            <div class="modal-field">
-              <label for="manual_rules[]">Name <em class="mandatory">*</em></label>
-              <input type="text" name="name" value=""/>
-            </div>
-            <div class="modal-field">
-              <label for="manual_rules[]">Description <em class="mandatory">*</em></label>
-              <textarea rows="5" cols="50" name="description"></textarea>
-              <br/>
-            </div>
+        <div class="modal-body">
+          <div class="modal-error"/>
+          <div class="modal-field">
+            <label for="manual_rules[]">Name <em class="mandatory">*</em></label>
+            <input type="text" name="name" value=""/>
           </div>
-
-          <div class="modal-foot">
-              <input type="submit" value="<%= message('create') -%>">
-              <%= link_to 'Cancel', { :controller => 'manual_rules', :action => 'index'}, { :class => 'action' } %><br/>
+          <div class="modal-field">
+            <label for="manual_rules[]">Description <em class="mandatory">*</em></label>
+            <textarea rows="5" cols="50" name="description"></textarea>
+            <br/>
           </div>
-      </fieldset>
-  </form>
-<% end %>
+        </div>
+
+        <div class="modal-foot">
+            <input type="submit" value="<%= message('create') -%>">
+            <%= link_to 'Cancel', { :controller => 'manual_rules', :action => 'index'}, { :class => 'action' } %><br/>
+        </div>
+    </fieldset>
+</form>
 
 <script>
   $j("#manual-rules-form").modalForm();
index 60943af002b5969f8560226821fc641aa1e8d720..de72b676c02556dcaaeefd8ed12bd0ee594511bb 100644 (file)
@@ -1,33 +1,29 @@
-<% if is_admin? %>
-  <form action="<%= ApplicationController.root_context -%>/manual_rules/edit" method="POST" id="manual-rules-form">
-    <fieldset>
-      <div class="modal-head">
-          <h2>Edit Manual Rule: <%= h @rule.name -%></h2>
-      </div>
+<form action="<%= ApplicationController.root_context -%>/manual_rules/edit" method="POST" id="manual-rules-form">
+  <fieldset>
+    <div class="modal-head">
+        <h2>Edit Manual Rule: <%= h @rule.name() -%></h2>
+    </div>
 
-      <div class="modal-body">
-          <% if @error  %>
-            <p class="error"><%= h @error -%></p>
-          <% end %>
-        <input type="hidden" name="id" value="<%= @rule.id -%>"/>
-        <div class="modal-field">
-          <label for="manual_rules[]">Name <em class="mandatory">*</em></label>
-          <input type="text" name="name" value="<%= h @rule.name -%>"/>
-        </div>
-        <div class="modal-field">
-          <label for="manual_rules[]">Description <em class="mandatory">*</em></label>
-          <textarea rows="5" cols="50" name="description"><%= h @rule.description -%></textarea>
-          <br/>
-        </div>
+    <div class="modal-body">
+      <div class="modal-error"/>
+      <input type="hidden" name="key" value="<%= @rule.key().to_s -%>"/>
+      <div class="modal-field">
+        <label for="manual_rules[]">Name <em class="mandatory">*</em></label>
+        <input type="text" name="name" value="<%= h @rule.name() -%>"/>
       </div>
-
-      <div class="modal-foot">
-        <input type="submit" value="<%= message('save') -%>">
-        <%= link_to 'Cancel', { :controller => 'manual_rules', :action => 'index'}, { :class => 'action' } %><br/>
+      <div class="modal-field">
+        <label for="manual_rules[]">Description <em class="mandatory">*</em></label>
+        <textarea rows="5" cols="50" name="description"><%= h @rule.htmlDescription() -%></textarea>
+        <br/>
       </div>
-    </fieldset>
-  </form>
-<% end %>
+    </div>
+
+    <div class="modal-foot">
+      <input type="submit" value="<%= message('save') -%>">
+      <%= link_to 'Cancel', { :controller => 'manual_rules', :action => 'index'}, { :class => 'action' } %><br/>
+    </div>
+  </fieldset>
+</form>
 
 <script>
   $j("#manual-rules-form").modalForm();
index 9a593636f55d5b30a4b8b4303da091d364d00122..43cd4f5ac4010f0de0718db1d33a32659c725d88 100644 (file)
@@ -34,8 +34,8 @@
               <span class="note"><%= h rule.description -%></span>
             </td>
             <td class="right thin nowrap">
-              <a id="edit-<%= u(rule.key) -%>" class="open-modal link-action" href="<%=ApplicationController.root_context-%>/manual_rules/edit_form/<%= h rule.id -%>">Edit</a>&nbsp;
-              <%= link_to_action message('delete'), "#{ApplicationController.root_context}/manual_rules/delete/#{rule.id}",
+              <a id="edit-<%= u(rule.key) -%>" class="open-modal link-action" href="<%=ApplicationController.root_context-%>/manual_rules/edit_form?key=<%= h rule.key -%>">Edit</a>&nbsp;
+              <%= link_to_action message('delete'), "#{ApplicationController.root_context}/manual_rules/delete?key=#{rule.key}",
                  :class => 'link-action link-red',
                  :id => "delete_#{rule.key.parameterize}",
                  :confirm_button => message('delete'),