summaryrefslogtreecommitdiffstats
path: root/sonar-server
diff options
context:
space:
mode:
authorsimonbrandhof <simon.brandhof@gmail.com>2010-11-03 12:23:11 +0000
committersimonbrandhof <simon.brandhof@gmail.com>2010-11-03 12:23:11 +0000
commit4d82935705f55a8f3cfac0fa20f7c8930f5d9111 (patch)
tree46f4e09f52ff69bfe1c24b9d2e75f068bf26420b /sonar-server
parent0ea1701668dcabd5b36a13c0b359151f70cf898f (diff)
downloadsonarqube-4d82935705f55a8f3cfac0fa20f7c8930f5d9111.tar.gz
sonarqube-4d82935705f55a8f3cfac0fa20f7c8930f5d9111.zip
SONAR-1643 do not delete the last default dashboard
Diffstat (limited to 'sonar-server')
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/app/controllers/dashboards_controller.rb6
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/app/controllers/project_controller.rb2
2 files changed, 7 insertions, 1 deletions
diff --git a/sonar-server/src/main/webapp/WEB-INF/app/controllers/dashboards_controller.rb b/sonar-server/src/main/webapp/WEB-INF/app/controllers/dashboards_controller.rb
index a27e5c595dc..290a1499dee 100644
--- a/sonar-server/src/main/webapp/WEB-INF/app/controllers/dashboards_controller.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/app/controllers/dashboards_controller.rb
@@ -86,14 +86,20 @@ class DashboardsController < ApplicationController
def delete
dashboard=Dashboard.find(params[:id])
+ default_dashboards=ActiveDashboard.default_dashboards
if current_user.active_dashboards.size<=1
flash[:error]='At least one dashboard must be defined'
redirect_to :action => 'index', :resource => params[:resource]
+ elsif default_dashboards.size==1 && default_dashboards[0].dashboard_id==dashboard.id
+ flash[:error]='At least one default dashboard must be defined'
+ redirect_to :action => 'index', :resource => params[:resource]
+
elsif dashboard.owner?(current_user)
dashboard.destroy
flash[:notice]='Dashboard deleted'
redirect_to :action => 'index', :resource => params[:resource]
+
else
# TODO explicit error
redirect_to home_path
diff --git a/sonar-server/src/main/webapp/WEB-INF/app/controllers/project_controller.rb b/sonar-server/src/main/webapp/WEB-INF/app/controllers/project_controller.rb
index 64be4e9ccb7..11392d50464 100644
--- a/sonar-server/src/main/webapp/WEB-INF/app/controllers/project_controller.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/app/controllers/project_controller.rb
@@ -24,7 +24,7 @@ class ProjectController < ApplicationController
SECTION=Navigation::SECTION_RESOURCE
def index
- redirect_to :overwrite_params => {:controller => :dashboard, :action => 'index', :resource => params[:id], :id => nil }
+ redirect_to :overwrite_params => {:controller => :dashboard, :action => 'index'}
end
def show_reviews