]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-3825 allow to edit system filters
authorSimon Brandhof <simon.brandhof@gmail.com>
Mon, 10 Dec 2012 15:39:58 +0000 (16:39 +0100)
committerSimon Brandhof <simon.brandhof@gmail.com>
Mon, 10 Dec 2012 17:22:24 +0000 (18:22 +0100)
sonar-server/src/main/webapp/WEB-INF/app/models/measure_filter.rb
sonar-server/src/main/webapp/stylesheets/style.css

index db90a4b585310d87a98a82e3cd6f99c20c7d301f..d24cfa46ed759b554108c6bce283110b188b19f9 100644 (file)
@@ -82,7 +82,7 @@ class MeasureFilter < ActiveRecord::Base
 
   # Set the metrics of the result measures to load. Array of Metric or String.
   def metrics=(array=[])
-    @metrics = array.map{|m| m.is_a?(Metric) ? m : Metric.by_key(m)}.compact
+    @metrics = array.map { |m| m.is_a?(Metric) ? m : Metric.by_key(m) }.compact
   end
 
   # Enable the loading of result links. False by default
@@ -282,7 +282,11 @@ class MeasureFilter < ActiveRecord::Base
     # validate uniqueness of name
     if id
       # update existing filter
-      count = MeasureFilter.count('id', :conditions => ['name=? and user_id=? and id<>?', name, user_id, id])
+      if user_id
+        count = MeasureFilter.count('id', :conditions => ['name=? and user_id=? and id<>?', name, user_id, id])
+      else
+        count = MeasureFilter.count('id', :conditions => ['name=? and user_id is null and id<>?', name, id])
+      end
     else
       # new filter
       count = MeasureFilter.count('id', :conditions => ['name=? and user_id=?', name, user_id])
@@ -290,7 +294,11 @@ class MeasureFilter < ActiveRecord::Base
     errors.add_to_base('Name already exists') if count>0
 
     if shared
-      count = MeasureFilter.count('id', :conditions => ['name=? and shared=? and (user_id is null or user_id<>?)', name, true, user_id])
+      if id
+        count = MeasureFilter.count('id', :conditions => ['name=? and shared=? and (user_id is null or user_id<>?) and id<>?', name, true, user_id, id])
+      else
+        count = MeasureFilter.count('id', :conditions => ['name=? and shared=? and (user_id is null or user_id<>?)', name, true, user_id])
+      end
       errors.add_to_base('Other users already share filters with the same name') if count>0
     elsif system?
       errors.add_to_base("System filters can't be unshared")
index a3c9e9da837715226bdc486b4e6d2bf65e0efd6c..967ba3be1f45b8b023aa59044017dc1697b8d809 100644 (file)
@@ -86,6 +86,10 @@ code {
   font-size: 85%;
 }
 
+input[type].small {
+
+}
+
 small {
   color: #AAA;
   font-size: 85%;
@@ -213,7 +217,7 @@ button[disabled], .button[disabled], input[type="submit"][disabled], input[type=
 }
 
 /* ------------------- PAGE ------------------- */
-h1 {
+h1, .h1 {
   color: #444;
   font-size: 16px;
 }