From e9f9423ff8f3dab1d93ae7baebc43eb5c9b885be Mon Sep 17 00:00:00 2001 From: Julien Lancelot Date: Thu, 7 Mar 2013 19:55:30 +0100 Subject: [PATCH] SONAR-4191 Refactor the Quality Profile search engine to use Select2 components --- .../resources/org/sonar/l10n/core.properties | 1 + .../rules_configuration_controller.rb | 26 ++++++------ .../main/webapp/WEB-INF/app/models/rule.rb | 4 +- .../views/rules_configuration/index.html.erb | 42 ++++++++++++++----- 4 files changed, 48 insertions(+), 25 deletions(-) diff --git a/plugins/sonar-core-plugin/src/main/resources/org/sonar/l10n/core.properties b/plugins/sonar-core-plugin/src/main/resources/org/sonar/l10n/core.properties index b5e083cd8c0..4539d9429d3 100644 --- a/plugins/sonar-core-plugin/src/main/resources/org/sonar/l10n/core.properties +++ b/plugins/sonar-core-plugin/src/main/resources/org/sonar/l10n/core.properties @@ -5,6 +5,7 @@ #------------------------------------------------------------------------------ action=Action +activation=Activation active=Active add_verb=Add age=Age diff --git a/sonar-server/src/main/webapp/WEB-INF/app/controllers/rules_configuration_controller.rb b/sonar-server/src/main/webapp/WEB-INF/app/controllers/rules_configuration_controller.rb index 3a21131b6e4..624326e005a 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/controllers/rules_configuration_controller.rb +++ b/sonar-server/src/main/webapp/WEB-INF/app/controllers/rules_configuration_controller.rb @@ -45,20 +45,20 @@ class RulesConfigurationController < ApplicationController @select_plugins = ANY_SELECTION + java_facade.getRuleRepositoriesByLanguage(@profile.language).collect { |repo| [repo.getName(true), repo.getKey()] }.sort @select_priority = ANY_SELECTION + RULE_PRIORITIES - @select_status = [[message('any'), ''], [message('active'), STATUS_ACTIVE], [message('inactive'), STATUS_INACTIVE]] - @select_inheritance = [[message('any'), ''], [message('rules_configuration.not_inherited'), 'NOT'], [message('rules_configuration.inherited'), 'INHERITED'], [message('rules_configuration.overrides'), 'OVERRIDES']] + @select_activation = [[message('any'), 'any'], [message('active'), STATUS_ACTIVE], [message('inactive'), STATUS_INACTIVE]] + @select_inheritance = [[message('any'), 'any'], [message('rules_configuration.not_inherited'), 'NOT'], [message('rules_configuration.inherited'), 'INHERITED'], [message('rules_configuration.overrides'), 'OVERRIDES']] @rules = Rule.search(java_facade, { - :profile => @profile, :status => @status, :priorities => @priorities, :inheritance => @inheritance, + :profile => @profile, :status => @activation, :priorities => @priorities, :inheritance => @inheritance, :plugins => @plugins, :searchtext => @searchtext, :include_parameters_and_notes => true, :language => @profile.language}) unless @searchtext.blank? - if @status==STATUS_ACTIVE + if @activation==STATUS_ACTIVE @hidden_inactives=Rule.search(java_facade, { :profile => @profile, :status => STATUS_INACTIVE, :priorities => @priorities, :plugins => @plugins, :language => @profile.language, :searchtext => @searchtext, :include_parameters_and_notes => false}).size - elsif @status==STATUS_INACTIVE + elsif @activation==STATUS_INACTIVE @hidden_actives=Rule.search(java_facade, { :profile => @profile, :status => STATUS_ACTIVE, :priorities => @priorities, :plugins => @plugins, :language => @profile.language, :searchtext => @searchtext, :include_parameters_and_notes => false}).size @@ -171,7 +171,7 @@ class RulesConfigurationController < ApplicationController end if rule.save - redirect_to :action => 'index', :id => params[:id], :searchtext => rule.name, :rule_status => 'INACTIVE', "plugins[]" => rule.plugin_name + redirect_to :action => 'index', :id => params[:id], :searchtext => rule.name, :rule_activation => 'INACTIVE', "plugins[]" => rule.plugin_name else flash[:error]=message('rules_configuration.rule_not_valid_message_x', :params => rule.errors.full_messages.join('
')) @@ -215,7 +215,7 @@ class RulesConfigurationController < ApplicationController parameter.save end if rule.save - redirect_to :action => 'index', :id => params[:id], :searchtext => rule.name, :rule_status => '', "plugins[]" => rule.plugin_name + redirect_to :action => 'index', :id => params[:id], :searchtext => rule.name, :rule_activation => '', "plugins[]" => rule.plugin_name else flash[:error]=message('rules_configuration.rule_not_valid_message_x', :params => rule.errors.full_messages.join('
')) redirect_to :action => 'new', :id => params[:id], :rule_id => params[:rule_id] @@ -260,21 +260,21 @@ class RulesConfigurationController < ApplicationController def bulk_edit profile = Profile.find(params[:id].to_i) rule_ids = params[:bulk_rule_ids].split(',').map { |id| id.to_i } - status=params[:rule_status] + activation=params[:rule_activation] case params[:bulk_action] when 'activate' count=activate_rules(profile, rule_ids) flash[:notice]=message('rules_configuration.x_rules_have_been_activated', :params => count) - status=STATUS_ACTIVE if status==STATUS_INACTIVE + activation=STATUS_ACTIVE if activation==STATUS_INACTIVE when 'deactivate' count=deactivate_rules(profile, rule_ids) flash[:notice]=message('rules_configuration.x_rules_have_been_deactivated', :params => count) - status=STATUS_INACTIVE if status==STATUS_ACTIVE + activation=STATUS_INACTIVE if activation==STATUS_ACTIVE end - url_parameters=request.query_parameters.merge({:action => 'index', :bulk_action => nil, :bulk_rule_ids => nil, :id => profile.id, :rule_status => status}) + url_parameters=request.query_parameters.merge({:action => 'index', :bulk_action => nil, :bulk_rule_ids => nil, :id => profile.id, :rule_activation => activation}) redirect_to url_parameters end @@ -377,8 +377,8 @@ class RulesConfigurationController < ApplicationController @id = params[:id] @priorities = filter_any(params[:priorities]) || [''] @plugins=filter_any(params[:plugins]) || [''] - @status=params[:rule_status] || STATUS_ACTIVE - @inheritance=params[:inheritance] || '' + @activation=params[:rule_activation] || STATUS_ACTIVE + @inheritance=params[:inheritance] || 'any' @searchtext=params[:searchtext] end diff --git a/sonar-server/src/main/webapp/WEB-INF/app/models/rule.rb b/sonar-server/src/main/webapp/WEB-INF/app/models/rule.rb index bba01c56a70..116256d9ff9 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/models/rule.rb +++ b/sonar-server/src/main/webapp/WEB-INF/app/models/rule.rb @@ -278,7 +278,7 @@ class Rule < ActiveRecord::Base end includes=(options[:include_parameters_and_notes] ? [:rules_parameters, :rule_note] : nil) - rules = Rule.find(:all, :include => includes, :conditions => [conditions.join(" AND "), values]).sort + rules = Rule.all(:include => includes, :conditions => [conditions.join(" AND "), values]).sort filter(rules, options) end @@ -317,7 +317,7 @@ class Rule < ActiveRecord::Base active_rule = profile.active_by_rule_id(rule.id) (active_rule.nil? || active_rule.inheritance.blank?) end - elsif inheritance.present? + elsif inheritance.present? && inheritance != 'any' rules = rules.select do |rule| active_rule = profile.active_by_rule_id(rule.id) (active_rule && active_rule.inheritance==inheritance) diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/rules_configuration/index.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/rules_configuration/index.html.erb index 4b82c3d0509..4958b79eed7 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/views/rules_configuration/index.html.erb +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/rules_configuration/index.html.erb @@ -52,8 +52,8 @@ <%= select_tag "priorities", options_for_select(@select_priority, @priorities), :id => 'search_priority', :multiple => true, :size => 6 %> - <%= message('status') -%>
- <%= select_tag "rule_status", options_for_select(@select_status, @status), :id => 'search_status', :size => 6 %> + <%= message('activation') -%>
+ <%= select_tag "rule_activation", options_for_select(@select_activation, @activation), :id => 'search_activation', :size => 6 %> <% if @profile.inherited? %> @@ -73,7 +73,9 @@

- <% if @hidden_actives && @hidden_actives>0 %>+<%= message('rules_configuration.x_found_in_active_rules', :params => @hidden_actives) -%><% end %> - <% if @hidden_inactives && @hidden_inactives>0 %>+<%= message('rules_configuration.x_found_in_inactive_rules', :params => @hidden_inactives) -%><% end %> + <% if @hidden_actives && @hidden_actives>0 %>+<%= message('rules_configuration.x_found_in_active_rules', :params => @hidden_actives) -%><% end %> + <% if @hidden_inactives && @hidden_inactives>0 %>+<%= message('rules_configuration.x_found_in_inactive_rules', :params => @hidden_inactives) -%><% end %>

@@ -125,9 +127,29 @@
\ No newline at end of file -- 2.39.5