]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-1941 improve the select box of periods
authorsimonbrandhof <simon.brandhof@gmail.com>
Wed, 8 Dec 2010 16:29:52 +0000 (16:29 +0000)
committersimonbrandhof <simon.brandhof@gmail.com>
Wed, 8 Dec 2010 16:29:52 +0000 (16:29 +0000)
plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/CorePlugin.java
sonar-server/src/main/webapp/WEB-INF/app/helpers/application_helper.rb
sonar-server/src/main/webapp/WEB-INF/app/helpers/dashboard_helper.rb
sonar-server/src/main/webapp/WEB-INF/app/helpers/drilldown_helper.rb
sonar-server/src/main/webapp/WEB-INF/app/models/snapshot.rb
sonar-server/src/main/webapp/WEB-INF/app/views/dashboard/_header.html.erb
sonar-server/src/main/webapp/WEB-INF/app/views/drilldown/violations.html.erb

index 2f67910eb81eb1e384c79fae4f66d039bcc807d1..5e994281585fc009909b85d2476a49919db1b37f 100644 (file)
@@ -116,7 +116,7 @@ import java.util.List;
     @Property(
         key = "sonar.timemachine.variation1",
         name = "Variation 1",
-        description = "To be defined. For the moment the number of days",
+        description = "Period used to compare measures and track new violations. Values are : <ul><li>Number of days before analysis, for example 5.</li><li>A custom date. Format is yyyy-MM-dd, for example 2010-12-25</li><li>'previous_analysis' to compare to previous analysis</li><li>A version, for example 1.2</li></ul>",
         project = false,
         global = true
     ),
index 191370f66aca04abe64fe57c58d23015b2dbaa06..d240996c7c0901d5aad5ae0f5cb4a4cebd9eff85 100644 (file)
@@ -390,7 +390,6 @@ module ApplicationHelper
   # Display the trend icon :
   #
   # === Optional parameters
-  # * big: true|false. Default is false.
   # * empty: true|false. Show an empty transparent image when no trend or no measure. Default is false.
   #
   # === Examples
@@ -405,9 +404,8 @@ module ApplicationHelper
       m = @snapshot.measure(metric_or_measure)
     end
 
-    big=options[:big]||false
     if m.nil? || m.tendency.nil? || m.tendency==0
-      return options[:empty] ? image_tag("transparent.gif", :width => big ? "18" : "16", :alt => "") : nil
+      return options[:empty] ? image_tag("transparent.gif", :width => "16", :alt => "") : nil
     end
     filename = m.tendency.to_s
 
@@ -419,8 +417,7 @@ module ApplicationHelper
     when 1
       filename+= '-green'
     end
-    suffix = (big ? '' : '-small')
-    image_tag("tendency/#{filename}#{suffix}.png")
+    image_tag("tendency/#{filename}-small.png")
   end
 
   #
@@ -428,7 +425,7 @@ module ApplicationHelper
   # Numeric value of variation
   #
   # === Optional parameters
-  # * index: integer between 1 and 3. By default the index is defined by the dashboard variation select-box
+  # * index: integer between 1 and 5. By default the index is defined by the dashboard variation select-box
   #
   # === Examples
   # variation_value('ncloc')
@@ -457,7 +454,7 @@ module ApplicationHelper
   #
   # === Optional parameters
   # * color: true|false. Default is true.
-  # * index: integer between 1 and 3. By default the index is defined by the dashboard variation select-box
+  # * index: integer between 1 and 5. By default the index is defined by the dashboard variation select-box
   #
   # === Examples
   # format_variation('ncloc')
index 2f97370f9db654a0b7ae22bbe9ffd9f6fc58b2d4..4a4ebbe441d035dc8f5fc6f66aeccc773cccb953 100644 (file)
@@ -35,13 +35,13 @@ module DashboardHelper
 
     if mode
       if mode=='days'
-        label = "Last %s days" % mode_param
+        label = "Compare to %s previous days" % mode_param
       elsif mode=='version'
-        label = "Version %s" % mode_param
+        label = "Compare to version %s" % mode_param
       elsif mode=='previous_analysis'
-        label = "Previous analysis (%s)" % localize(Date.parse(mode_param))
+        label = "Compare to previous analysis (%s)" % localize(Date.parse(mode_param))
       elsif mode=='date'
-        label = localize(Date.parse(mode_param))
+        label = "Compare to #{localize(Date.parse(mode_param))}"
       end
       if label
         selected=(params[:var]==index.to_s ? 'selected' : '')
@@ -50,6 +50,5 @@ module DashboardHelper
     else
       nil
     end
-
   end
 end
\ No newline at end of file
index 7820bc175032bb24a81bd2f2962d3496748a379c..8f39c47864209ef7b168695df6eb089bf74adf3d 100644 (file)
  # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02
  #
 module DrilldownHelper
-  include DashboardHelper
+
+  def variation_select_option(snapshot, index)
+    return nil if snapshot.nil? || snapshot.project_snapshot.nil?
+    mode=snapshot.project_snapshot.send "variation_mode_#{index}"
+    mode_param=snapshot.project_snapshot.send "variation_param_#{index}"
+
+    if mode
+      if mode=='days'
+        label = "New violations from %s previous days" % mode_param
+      elsif mode=='version'
+        label = "New violations since version %s" % mode_param
+      elsif mode=='previous_analysis'
+        label = "New violations since previous analysis (%s)" % localize(Date.parse(mode_param))
+      elsif mode=='date'
+        label = "New violations since #{localize(Date.parse(mode_param))}"
+      end
+      if label
+        selected=(params[:var]==index.to_s ? 'selected' : '')
+        "<option value='#{index}' #{selected}>#{label}</option>"
+      end
+    else
+      nil
+    end
+
+  end
 
   def measure_or_variation_value(measure)
     if measure
index 94daa90e107a22c3f14a7ed7104e4d0ccc1e014d..f68b78e331dddc87a069def6042b43dae1707455 100644 (file)
@@ -176,6 +176,10 @@ class Snapshot < ActiveRecord::Base
     project
   end
 
+  def variation_modes?
+    (variation_mode_1 || variation_mode_2 || variation_mode_3 || variation_mode_4 || variation_mode_5) != nil
+  end
+
   def resource_id_for_authorization
     root_project_id || project_id
   end
index 331bea8eb7ceb7be7112bf43e97dcf5fec57cd5d..88d39462456498b8c697af1a4c0cb1478b82460d 100644 (file)
    %>
   <%= link_to_favourite(@project) -%> Version <%= @snapshot.version -%> - <%= l @snapshot.created_at %>
   <% if profile_measure %> - Profile <%= link_to profile_measure.data, :controller => '/rules_configuration', :action => 'index', :id => profile_measure.value.to_i %><% end %>
-  - Compare to
-  <form method="GET" action="<%= url_for :only_path=>true, :overwrite_params => {:var => nil} -%>" style="display: inline">
-  <select id="select-comparison" name="var" onchange="submit()" class="small">
-    <option value=""></option>
-    <%= variation_select_option(@snapshot, 1) -%>
-    <%= variation_select_option(@snapshot, 2) -%>
-    <%= variation_select_option(@snapshot, 3) -%>
-    <%= variation_select_option(@snapshot, 4) -%>
-    <%= variation_select_option(@snapshot, 5) -%>
-  </select>
-    </form>
+  <% if @snapshot.project_snapshot.variation_modes? %>
+    -
+    <form method="GET" action="<%= url_for :only_path=>true, :overwrite_params => {:var => nil} -%>" style="display: inline">
+    <select id="select-comparison" name="var" onchange="submit()" class="small">
+      <option value="">Display trends</option>
+      <%= variation_select_option(@snapshot, 1) -%>
+      <%= variation_select_option(@snapshot, 2) -%>
+      <%= variation_select_option(@snapshot, 3) -%>
+      <%= variation_select_option(@snapshot, 4) -%>
+      <%= variation_select_option(@snapshot, 5) -%>
+    </select>
+      </form>
+    <% end %>
   </h4>
   </div>
   <% end %>
index b59824efa91d8770b05a9c14c75b2cb84121b2eb..acf1ff3fccd72761b7f27cb629a976577923823e 100644 (file)
@@ -5,16 +5,18 @@
  %>
 <%= link_to_favourite(@project) -%> Version <%= @snapshot.version -%> - <%= l @snapshot.created_at %>
 <% if profile_measure %> - Profile <%= link_to profile_measure.data, :controller => '/rules_configuration', :action => 'index', :id => profile_measure.value.to_i %><% end %>
+<% if @snapshot.project_snapshot.variation_modes? %>
 - <form method="GET" action="<%= url_for :only_path=>true, :overwrite_params => {:var => nil} -%>" style="display: inline">
-  <select id="select-comparison" name="var" onchange="submit()" class="small">
-    <option value="">All violations</option>
-    <%= variation_select_option(@snapshot, 1) -%>
-    <%= variation_select_option(@snapshot, 2) -%>
-    <%= variation_select_option(@snapshot, 3) -%>
-    <%= variation_select_option(@snapshot, 4) -%>
-    <%= variation_select_option(@snapshot, 5) -%>
-  </select>
-    </form>
+    <select id="select-comparison" name="var" onchange="submit()" class="small">
+      <option value="">All violations</option>
+      <%= variation_select_option(@snapshot, 1) -%>
+      <%= variation_select_option(@snapshot, 2) -%>
+      <%= variation_select_option(@snapshot, 3) -%>
+      <%= variation_select_option(@snapshot, 4) -%>
+      <%= variation_select_option(@snapshot, 5) -%>
+    </select>
+  </form>
+<% end %>
 </h4>
 </div>