]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-4193 Provide a way in a rule description to inject a link to another rule descr...
authorJulien Lancelot <julien.lancelot@gmail.com>
Tue, 12 Mar 2013 10:01:26 +0000 (11:01 +0100)
committerJulien Lancelot <julien.lancelot@gmail.com>
Tue, 12 Mar 2013 10:01:26 +0000 (11:01 +0100)
sonar-server/src/main/webapp/WEB-INF/app/helpers/application_helper.rb
sonar-server/src/main/webapp/WEB-INF/app/views/rules/show.html.erb
sonar-server/src/main/webapp/WEB-INF/app/views/rules_configuration/_rule_note.html.erb
sonar-server/src/main/webapp/javascripts/application.js

index 9dadd00f5ec48a2923f0a08d5c4fe5abcc4d1240..09f84f096f5ef50ea7d976ca99b4cdf34092bcc2 100644 (file)
@@ -757,4 +757,9 @@ module ApplicationHelper
     html += '</div></td></tr></tfoot>'
     html
   end
+
+  def process_rule_description(rule)
+    description = rule.description
+    description.gsub(/\{toRule (.+):(.+)\}/, "<a class='open-modal' href='#{ApplicationController.root_context}/rules/show/"+ '\1:\2' +"?layout=false'>"+ '\1:\2' +"</a>")
+  end
 end
index 2cd0c9b02cf417547f493feb354edf404f74f34d..5c01437d43e412d5cf33edb7180270989083fe1d 100644 (file)
@@ -5,7 +5,7 @@
 
 <div class="doc">
   <% if @rule.description.strip.start_with?('<p>') %>
-    <%= @rule.description %>
+    <%= process_rule_description @rule %>
   <% else %>
     <p><%= @rule.description %></p>
   <% end %>
index 6a68642261bdc9f4d29a402926d01365b04660b9..02ae709e83971f6807d6d01df65d4fc0704d8b3e 100644 (file)
@@ -9,7 +9,7 @@
 
 <div id="<%= note_detail_div_id -%>">
   <% if rule.description.strip.start_with?('<p>') %>
-    <%= rule.description %>
+    <%= process_rule_description rule %>
   <% else %>
     <p><%= rule.description %></p>
   <% end %>
index c687803fe4b69ec12f7c6915c58b5742bf82acda..15444bd420daf55242243f6cf0511199a4fa188d 100644 (file)
@@ -320,7 +320,7 @@ function supports_html5_storage() {
   }
 }
 
-//******************* HANDLING OF WORKING VIEWS [BEGIN] ******************* //
+//******************* HANDLING OF ACCORDION NAVIGATION [BEGIN] ******************* //
 
 function openAccordionItem(url, elt, updateCurrentElement) {
   var htmlClass = 'accordion-item';
@@ -408,7 +408,7 @@ function expandAccordionItem(elt) {
   currentElement.find('.accordion-item-body').removeClass("accordion-item-body-medium");
 }
 
-//******************* HANDLING OF WORKING VIEWS [END] ******************* //
+//******************* HANDLING OF ACCORDION NAVIGATION [END] ******************* //
 
 
 //******************* HANDLING OF DROPDOWN MENUS [BEGIN] ******************* //
@@ -450,3 +450,4 @@ function showDropdownMenu(menuId) {
 }
 
 //******************* HANDLING OF DROPDOWN MENUS [END] ******************* //
+