Skip to content
Snippets Groups Projects
Commit f8114954 authored by Jacob Carlborg's avatar Jacob Carlborg
Browse files

Add button for removing source branch for merged MR's.

parent 8fb9dccd
No related branches found
No related tags found
No related merge requests found
Loading
@@ -57,6 +57,18 @@ class MergeRequest
Loading
@@ -57,6 +57,18 @@ class MergeRequest
$('.automerge_widget.can_be_merged').hide() $('.automerge_widget.can_be_merged').hide()
$('.merge-in-progress').show() $('.merge-in-progress').show()
   
this.$('.remove_source_branch').on 'click', ->
$('.remove_source_branch_widget').hide()
$('.remove_source_branch_in_progress').show()
this.$(".remove_source_branch").on "ajax:success", (e, data, status, xhr) ->
location.reload()
this.$(".remove_source_branch").on "ajax:error", (e, data, status, xhr) =>
this.$('.remove_source_branch_widget').hide()
this.$('.remove_source_branch_in_progress').hide()
this.$('.remove_source_branch_widget.failed').show()
activateTab: (action) -> activateTab: (action) ->
this.$('.nav-tabs li').removeClass 'active' this.$('.nav-tabs li').removeClass 'active'
this.$('.tab-content').hide() this.$('.tab-content').hide()
Loading
Loading
Loading
@@ -53,7 +53,7 @@
Loading
@@ -53,7 +53,7 @@
} }
} }
   
.merge-in-progress { .merge-in-progress, .remove_source_branch_in_progress {
@extend .padded; @extend .padded;
@extend .append-bottom-10; @extend .append-bottom-10;
} }
Loading
Loading
Loading
@@ -199,6 +199,8 @@ class Projects::MergeRequestsController < Projects::ApplicationController
Loading
@@ -199,6 +199,8 @@ class Projects::MergeRequestsController < Projects::ApplicationController
@commits = @merge_request.commits @commits = @merge_request.commits
   
@allowed_to_merge = allowed_to_merge? @allowed_to_merge = 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)
@show_merge_controls = @merge_request.opened? && @commits.any? && @allowed_to_merge @show_merge_controls = @merge_request.opened? && @commits.any? && @allowed_to_merge
   
@target_type = :merge_request @target_type = :merge_request
Loading
@@ -206,6 +208,19 @@ class Projects::MergeRequestsController < Projects::ApplicationController
Loading
@@ -206,6 +208,19 @@ class Projects::MergeRequestsController < Projects::ApplicationController
end end
   
def allowed_to_merge? def allowed_to_merge?
allowed_to_push_code?(project)
end
def invalid_mr
# Render special view for MR with removed source or target branch
render 'invalid'
end
def allowed_to_remove_source_branch?
allowed_to_push_code?(@merge_request.source_project)
end
def allowed_to_push_code? (project)
action = if project.protected_branch?(@merge_request.target_branch) action = if project.protected_branch?(@merge_request.target_branch)
:push_code_to_protected_branches :push_code_to_protected_branches
else else
Loading
@@ -214,9 +229,4 @@ class Projects::MergeRequestsController < Projects::ApplicationController
Loading
@@ -214,9 +229,4 @@ class Projects::MergeRequestsController < Projects::ApplicationController
   
can?(current_user, action, @project) can?(current_user, action, @project)
end end
def invalid_mr
# Render special view for MR with removed source or target branch
render 'invalid'
end
end end
Loading
@@ -7,6 +7,7 @@
Loading
@@ -7,6 +7,7 @@
= render "projects/merge_requests/show/mr_accept" = render "projects/merge_requests/show/mr_accept"
- else - else
= render "projects/merge_requests/show/no_accept" = render "projects/merge_requests/show/no_accept"
= render "projects/merge_requests/show/remove_source_branch"
- if @merge_request.source_project.gitlab_ci? - if @merge_request.source_project.gitlab_ci?
= render "projects/merge_requests/show/mr_ci" = render "projects/merge_requests/show/mr_ci"
= render "projects/merge_requests/show/commits" = render "projects/merge_requests/show/commits"
Loading
Loading
- if @source_branch.blank?
.alert.alert-info Source branch has been removed
- elsif @allowed_to_remove_source_branch && @merge_request.merged?
.remove_source_branch_widget
.alert.alert-info
= link_to project_branch_path(@merge_request.source_project, @source_branch), remote: true, method: :delete, class: "btn remove_source_branch" do
%i.icon-remove
Remove Source Branch
.remove_source_branch_widget.failed.hide
.alert.alert-error Failed to remove source branch '#{@merge_request.source_branch}'
.remove_source_branch_in_progress.hide
%span.cgray
%i.icon-refresh.icon-spin
&nbsp;
Removing source branch '#{@merge_request.source_branch}'. Please wait. Page will be automatically reloaded. &nbsp;
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment