diff options
author | simonbrandhof <simon.brandhof@gmail.com> | 2010-11-03 12:23:11 +0000 |
---|---|---|
committer | simonbrandhof <simon.brandhof@gmail.com> | 2010-11-03 12:23:11 +0000 |
commit | 4d82935705f55a8f3cfac0fa20f7c8930f5d9111 (patch) | |
tree | 46f4e09f52ff69bfe1c24b9d2e75f068bf26420b /sonar-server | |
parent | 0ea1701668dcabd5b36a13c0b359151f70cf898f (diff) | |
download | sonarqube-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.rb | 6 | ||||
-rw-r--r-- | sonar-server/src/main/webapp/WEB-INF/app/controllers/project_controller.rb | 2 |
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 |