diff options
author | Stan Hu <stanhu@gmail.com> | 2016-04-06 21:10:24 -0700 |
---|---|---|
committer | Stan Hu <stanhu@gmail.com> | 2016-04-06 21:11:10 -0700 |
commit | 924e4b370013ae3a8448a2a68e6a4d353b23b699 (patch) | |
tree | a39ea1e7e6a0b11d3a04cc963e8525e3c0df9762 /app/controllers | |
parent | 8f0945311b8f5fe30b0b57739ee9f3262499f375 (diff) | |
download | gitlab-ce-924e4b370013ae3a8448a2a68e6a4d353b23b699.tar.gz |
Return status code 303 after a branch DELETE operation to avoid project deletion
Closes #14994
Diffstat (limited to 'app/controllers')
-rw-r--r-- | app/controllers/projects/application_controller.rb | 4 | ||||
-rw-r--r-- | app/controllers/projects/branches_controller.rb | 2 |
2 files changed, 4 insertions, 2 deletions
diff --git a/app/controllers/projects/application_controller.rb b/app/controllers/projects/application_controller.rb index 657ee94cfd7..74150ad606b 100644 --- a/app/controllers/projects/application_controller.rb +++ b/app/controllers/projects/application_controller.rb @@ -68,7 +68,9 @@ class Projects::ApplicationController < ApplicationController end def require_non_empty_project - redirect_to namespace_project_path(@project.namespace, @project) if @project.empty_repo? + # Be sure to return status code 303 to avoid a double DELETE: + # http://api.rubyonrails.org/classes/ActionController/Redirecting.html + redirect_to namespace_project_path(@project.namespace, @project), status: 303 if @project.empty_repo? end def require_branch_head diff --git a/app/controllers/projects/branches_controller.rb b/app/controllers/projects/branches_controller.rb index c0a53734921..d09e7375b67 100644 --- a/app/controllers/projects/branches_controller.rb +++ b/app/controllers/projects/branches_controller.rb @@ -48,7 +48,7 @@ class Projects::BranchesController < Projects::ApplicationController respond_to do |format| format.html do redirect_to namespace_project_branches_path(@project.namespace, - @project) + @project), status: 303 end format.js { render status: status[:return_code] } end |