]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-4568 Fix issue when updating rule param value many times
authorJulien Lancelot <julien.lancelot@gmail.com>
Wed, 14 Aug 2013 08:42:10 +0000 (10:42 +0200)
committerJulien Lancelot <julien.lancelot@gmail.com>
Wed, 14 Aug 2013 08:42:10 +0000 (10:42 +0200)
sonar-server/src/main/webapp/WEB-INF/app/controllers/rules_configuration_controller.rb

index b0b9dab865963ca6fec97b478126be2d56046912..02c2d6f89e7cae7793c28fcd59089c194cd84127 100644 (file)
@@ -311,7 +311,8 @@ class RulesConfigurationController < ApplicationController
     profile = Profile.find(params[:profile_id].to_i)
     rule_param = RulesParameter.find(params[:param_id].to_i)
     active_rule = ActiveRule.find(params[:active_rule_id].to_i)
-    active_param = ActiveRuleParameter.find(params[:id].to_i) if params[:id].to_i > 0
+    # As the active param can be null, we should not raise a RecordNotFound exception when it's not found (as it would be done when using find(:id) function)
+    active_param = ActiveRuleParameter.first(params[:id].to_i) if params[:id].to_i > 0
     value = params[:value]
     if value != ""
       active_param = ActiveRuleParameter.new(:rules_parameter => rule_param, :active_rule => active_rule) if active_param.nil?
@@ -324,7 +325,6 @@ class RulesConfigurationController < ApplicationController
     elsif !active_param.nil?
       old_value = active_param.value
       active_param.destroy
-      active_param = nil
       java_facade.ruleParamChanged(profile.id, active_rule.id, rule_param.name, old_value, nil, current_user.name)
     end