From b82081b353645dd87222596cb0688dbe559acfa6 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Vilain Date: Fri, 21 Jun 2013 18:04:07 +0200 Subject: [PATCH] SONAR-4136 Fixed routing issue on dashboard deletion - Fixed error on SonarQube dashboard update --- .../app/controllers/dashboards_controller.rb | 14 +++++++------- .../main/webapp/WEB-INF/app/models/dashboard.rb | 2 +- .../app/views/dashboards/_delete_form.html.erb | 14 +++++++++++++- 3 files changed, 21 insertions(+), 9 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 aa6beb0f624..758d93d43e2 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 @@ -100,23 +100,23 @@ class DashboardsController < ApplicationController if @dashboard.editable_by?(current_user) render :partial => 'delete_form', :resource => params[:resource] else - redirect_to :action => 'index', :resource => params[:resource] + access_denied end end def delete verify_post_request - dashboard=Dashboard.find(params[:id]) + @dashboard=Dashboard.find(params[:id]) - access_denied unless dashboard.editable_by?(current_user) + access_denied unless @dashboard.editable_by?(current_user) - if dashboard.destroy + if @dashboard.destroy flash[:warning]=Api::Utils.message('dashboard.default_restored') if ActiveDashboard.count(:conditions => {:user_id => current_user.id})==0 + render :text => params[:resource], :status => 200 else - flash[:error]=Api::Utils.message('dashboard.error_delete_default') + @dashboard.errors.add(message('dashboard.error_delete_default'), ' ') + render :partial => 'dashboards/delete_form', :status => 400, :resource => params[:resource] end - - redirect_to :action => 'index', :resource => params[:resource] end def down diff --git a/sonar-server/src/main/webapp/WEB-INF/app/models/dashboard.rb b/sonar-server/src/main/webapp/WEB-INF/app/models/dashboard.rb index 1ee10af6bf7..55f5266c30d 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/models/dashboard.rb +++ b/sonar-server/src/main/webapp/WEB-INF/app/models/dashboard.rb @@ -46,7 +46,7 @@ class Dashboard < ActiveRecord::Base end def user_rights_consistency - if shared? && !user.has_role?(:sharedashboard) + if shared? && user && !user.has_role?(:sharedashboard) errors.add(:user, "cannot own this dashboard because it has insufficient rights") end end diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/dashboards/_delete_form.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/dashboards/_delete_form.html.erb index cdc4ea42cc5..9d37e5015ff 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/views/dashboards/_delete_form.html.erb +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/dashboards/_delete_form.html.erb @@ -1,5 +1,10 @@
- + + <% if @dashboard.global %> + + <% else %> + + <% end %>
+ + -- 2.39.5