aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/app/controllers/manual_rules_controller.rb63
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/app/views/manual_rules/_create_form.html.erb48
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/app/views/manual_rules/_edit_form.html.erb50
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/app/views/manual_rules/index.html.erb4
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? %>
- <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();
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
index 60943af002b..de72b676c02 100644
--- 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
@@ -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();
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 9a593636f55..43cd4f5ac40 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
@@ -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'),