]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-3482 Prevent removing a filter which is used by a widget
authorDavid Gageot <david@gageot.net>
Wed, 16 May 2012 13:58:58 +0000 (15:58 +0200)
committerDavid Gageot <david@gageot.net>
Wed, 16 May 2012 13:58:58 +0000 (15:58 +0200)
sonar-server/src/main/webapp/WEB-INF/app/controllers/filters_controller.rb

index 7d08bc89a95a607c15e0a881891e1b7290b7e0cd..d50974761655ccbf70b1e33809d0c9ac1321e083 100644 (file)
@@ -104,8 +104,12 @@ class FiltersController < ApplicationController
     access_denied unless @filter.authorized_to_edit?(self)
 
     if @filter
-      @filter.destroy
-      flash[:notice]='Filter deleted'
+      if WidgetProperty.find(:first, :conditions => { :kee => 'filter', :text_value => @filter.id.to_s})
+        flash[:error]='The filter is used in at least one dashboard. It cannot be deleted'
+      else
+        @filter.destroy
+        flash[:notice]='Filter deleted'
+      end
     end
 
     redirect_to :action => 'manage'