summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-05-27 18:49:18 +0000
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-05-27 18:49:18 +0000
commit6bd114a700b90a9686294e91b7c5a6bee25f0cdf (patch)
treeb2763235bf65e66246de244422b8338773f9b8bb
parent3682e72619ab4dcccada2aeb14031e519fa3ce66 (diff)
parentaffd376f7a36df4a80369bc1c7c8557dd4822b7d (diff)
downloadgitlab-ce-6bd114a700b90a9686294e91b7c5a6bee25f0cdf.tar.gz
Merge branch 'remove-branch-btn' into 'master'
Don't show remove branch button if you are not allowed to remove it Fixes #1213
-rw-r--r--app/controllers/projects/merge_requests_controller.rb6
-rw-r--r--app/models/merge_request.rb4
-rw-r--r--app/views/projects/merge_requests/show/_mr_accept.html.haml2
-rw-r--r--app/views/projects/merge_requests/show/_remove_source_branch.html.haml2
4 files changed, 2 insertions, 12 deletions
diff --git a/app/controllers/projects/merge_requests_controller.rb b/app/controllers/projects/merge_requests_controller.rb
index d8551db7b01..a0a8aa059ec 100644
--- a/app/controllers/projects/merge_requests_controller.rb
+++ b/app/controllers/projects/merge_requests_controller.rb
@@ -225,7 +225,6 @@ class Projects::MergeRequestsController < Projects::ApplicationController
@merge_request_diff = @merge_request.merge_request_diff
@allowed_to_merge = allowed_to_merge?
@show_merge_controls = @merge_request.open? && @commits.any? && @allowed_to_merge
- @allowed_to_remove_source_branch = allowed_to_remove_source_branch?
@source_branch = @merge_request.source_project.repository.find_branch(@merge_request.source_branch).try(:name)
end
@@ -238,11 +237,6 @@ class Projects::MergeRequestsController < Projects::ApplicationController
render 'invalid'
end
- def allowed_to_remove_source_branch?
- allowed_to_push_code?(@merge_request.source_project, @merge_request.source_branch) &&
- !@merge_request.disallow_source_branch_removal?
- end
-
def allowed_to_push_code?(project, branch)
action = if project.protected_branch?(branch)
:push_code_to_protected_branches
diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb
index 061537132b3..b7c4a2a923c 100644
--- a/app/models/merge_request.rb
+++ b/app/models/merge_request.rb
@@ -212,10 +212,6 @@ class MergeRequest < ActiveRecord::Base
target_project != source_project
end
- def disallow_source_branch_removal?
- source_project.root_ref?(source_branch) || source_project.protected_branches.include?(source_branch)
- end
-
def project
target_project
end
diff --git a/app/views/projects/merge_requests/show/_mr_accept.html.haml b/app/views/projects/merge_requests/show/_mr_accept.html.haml
index 1276489c2d9..07e05f55012 100644
--- a/app/views/projects/merge_requests/show/_mr_accept.html.haml
+++ b/app/views/projects/merge_requests/show/_mr_accept.html.haml
@@ -38,7 +38,7 @@
.accept-group
.pull-left
= f.submit "Accept Merge Request", class: "btn btn-create accept_merge_request"
- - unless @merge_request.disallow_source_branch_removal?
+ - if can_remove_branch?(@merge_request.source_project, @merge_request.source_branch)
.remove_branch_holder.pull-left
= label_tag :should_remove_source_branch, class: "checkbox" do
= check_box_tag :should_remove_source_branch
diff --git a/app/views/projects/merge_requests/show/_remove_source_branch.html.haml b/app/views/projects/merge_requests/show/_remove_source_branch.html.haml
index f8f8b71f21d..491360af1bb 100644
--- a/app/views/projects/merge_requests/show/_remove_source_branch.html.haml
+++ b/app/views/projects/merge_requests/show/_remove_source_branch.html.haml
@@ -1,7 +1,7 @@
- if @source_branch.blank?
Source branch has been removed
-- elsif @allowed_to_remove_source_branch && @merge_request.merged?
+- elsif can_remove_branch?(@merge_request.source_project, @merge_request.source_branch) && @merge_request.merged?
.remove_source_branch_widget
%p Changes merged into #{@merge_request.target_branch}. You can remove source branch now
= link_to project_branch_path(@merge_request.source_project, @source_branch), remote: true, method: :delete, class: "btn btn-primary btn-small remove_source_branch" do