From ed577004fe47daa335abcdd2287231400fb0dcb4 Mon Sep 17 00:00:00 2001 From: David Gageot Date: Wed, 16 May 2012 15:58:58 +0200 Subject: SONAR-3482 Prevent removing a filter which is used by a widget --- .../src/main/webapp/WEB-INF/app/controllers/filters_controller.rb | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/sonar-server/src/main/webapp/WEB-INF/app/controllers/filters_controller.rb b/sonar-server/src/main/webapp/WEB-INF/app/controllers/filters_controller.rb index 7d08bc89a95..d5097476165 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/controllers/filters_controller.rb +++ b/sonar-server/src/main/webapp/WEB-INF/app/controllers/filters_controller.rb @@ -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' -- cgit v1.2.3