]> source.dussan.org Git - sonarqube.git/commitdiff
Improve slow profile page
authorDavid Gageot <david@gageot.net>
Mon, 23 Jul 2012 14:24:33 +0000 (16:24 +0200)
committerDavid Gageot <david@gageot.net>
Mon, 23 Jul 2012 14:50:33 +0000 (16:50 +0200)
sonar-server/src/main/webapp/WEB-INF/app/controllers/rules_configuration_controller.rb
sonar-server/src/main/webapp/WEB-INF/app/models/rules_parameter.rb
sonar-server/src/main/webapp/WEB-INF/app/views/rules_configuration/_active_rule_note.html.erb
sonar-server/src/main/webapp/WEB-INF/app/views/rules_configuration/_rule.html.erb
sonar-server/src/main/webapp/WEB-INF/app/views/rules_configuration/_rule_param.html.erb

index e2a4843aecea447602ed0069f3b8dfb938376fca..d9b6b28a323d54cfdf74c7265a0f6de897b3ed1c 100644 (file)
@@ -342,7 +342,7 @@ class RulesConfigurationController < ApplicationController
     note.text = params[:note]
     note.user_login = current_user.login
     note.save!
-    render :partial => 'active_rule_note', :locals => {:active_rule => active_rule, :is_admin => true } 
+    render :partial => 'active_rule_note', :locals => {:active_rule => active_rule, :is_admin => true, :profile => active_rule.rules_profile }
   end
 
   
@@ -350,7 +350,7 @@ class RulesConfigurationController < ApplicationController
     active_rule = ActiveRule.find(params[:active_rule_id])
     active_rule.note.destroy if active_rule.note
     active_rule.note = nil
-    render :partial => 'active_rule_note', :locals => {:active_rule => active_rule, :is_admin => true }
+    render :partial => 'active_rule_note', :locals => {:active_rule => active_rule, :is_admin => true, :profile => active_rule.rules_profile }
   end
   
   
index 0f0f3d35c7300dea6048226f3a99f65a00bfb8a9..93957d00f079290a11b3b2649b177a4b437e869a 100644 (file)
@@ -34,6 +34,12 @@ class RulesParameter < ActiveRecord::Base
   end
 
   def description
+    description(rule)
+  end
+
+  # We provide the rule as parameter to avoid reloading this rule_parameter's rule.
+  # This hack would be useless if we could use :inverse_of on :rule
+  def description(rule)
     @l10n_description ||=
       begin
         result = Java::OrgSonarServerUi::JRubyFacade.getInstance().getRuleParamDescription(I18n.locale, rule.repository_key, rule.plugin_rule_key, name())
index 19f671eb9687f97f2653045e42fdc355aaf40b69..f961277b52bff603c2c8ee91ff3a8247ea6a47b1 100644 (file)
@@ -1,4 +1,4 @@
-<% #locals = active_rule, is_admin
+<% #locals = active_rule, is_admin, profile
   note = active_rule.note
   active_note_detail_div_id = "and_" + active_rule.id.to_s
   add_active_note_button_id = "aanb_" + active_rule.id.to_s
@@ -28,7 +28,7 @@
       </cite>
       <p><%= note.html_text -%></p>
     </blockquote>
-  <% elsif is_admin && !active_rule.rules_profile.provided? %>
+  <% elsif is_admin && !profile.provided? %>
     <a href="#" onclick="$('<%= active_note_form_div_id -%>').show();$('<%= active_note_detail_div_id -%>').hide();$('<%= active_note_textarea_id -%>').focus(); return false;"
        class="link-action spacer-right" id="<%= add_active_note_button_id -%>"><%= message('rules_configuration.add_note') -%></a>
   <% end %>
index 99b342d9d0db60f415416c79ffcf438b320fcdb7..c89b797500630e341c4860e6db2a32cf0ce94ee9 100644 (file)
@@ -85,7 +85,7 @@
 
     <% if active_rule %>
       <div id="active_rule_note_<%= active_rule.id -%>">
-        <%= render :partial => 'active_rule_note', :locals => {:active_rule => active_rule, :is_admin => is_admin} %>
+        <%= render :partial => 'active_rule_note', :locals => {:active_rule => active_rule, :is_admin => is_admin, :profile => profile} %>
       </div>
     <% end %>
 
index 5d2565854b811b596a62cbf62c2ef59804d58399..e18c9baf4c2e35e8b66a28b606c8d3b64a782da6 100644 (file)
@@ -40,7 +40,7 @@
     <% end %>
   <% end %>
 
-  <div class="form-val-note"><%= h(parameter.description || "") -%> <%= ('(' + readable_type(parameter.param_type) + ')') if !readable_type(parameter.param_type).empty? -%></div>
+  <div class="form-val-note"><%= h(parameter.description(rule) || "") -%> <%= ('(' + readable_type(parameter.param_type) + ')') if !readable_type(parameter.param_type).empty? -%></div>
 
   </form>
 </td>