summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRubén Dávila <ruben@gitlab.com>2015-12-03 19:11:06 -0500
committerRobert Speicher <rspeicher@gmail.com>2016-02-19 13:14:48 -0500
commitd3c243732869ca927406020bc5088b1931e4dc0c (patch)
tree0cdf11ad857a83389b7afc6e4edf8bf68a07157d
parent96158aa6b377d6f683d560689562293c36e05002 (diff)
downloadgitlab-ce-d3c243732869ca927406020bc5088b1931e4dc0c.tar.gz
Add new endpoint and button to revert merge. #3409
-rw-r--r--app/controllers/projects/merge_requests_controller.rb4
-rw-r--r--app/views/projects/merge_requests/show/_mr_title.html.haml4
-rw-r--r--config/routes.rb1
3 files changed, 8 insertions, 1 deletions
diff --git a/app/controllers/projects/merge_requests_controller.rb b/app/controllers/projects/merge_requests_controller.rb
index 9d588c370aa..525bd79aea7 100644
--- a/app/controllers/projects/merge_requests_controller.rb
+++ b/app/controllers/projects/merge_requests_controller.rb
@@ -191,6 +191,10 @@ class Projects::MergeRequestsController < Projects::ApplicationController
end
end
+ def revert
+ redirect_to new_namespace_project_merge_request_url(@project.namespace, @project)
+ end
+
def branch_from
#This is always source
@source_project = @merge_request.nil? ? @project : @merge_request.source_project
diff --git a/app/views/projects/merge_requests/show/_mr_title.html.haml b/app/views/projects/merge_requests/show/_mr_title.html.haml
index 473fbff721b..e6be1a5a19b 100644
--- a/app/views/projects/merge_requests/show/_mr_title.html.haml
+++ b/app/views/projects/merge_requests/show/_mr_title.html.haml
@@ -17,4 +17,6 @@
%i.fa.fa-pencil-square-o
Edit
- if @merge_request.closed?
- = link_to 'Reopen', merge_request_path(@merge_request, merge_request: {state_event: :reopen }), method: :put, class: 'btn btn-nr btn-grouped btn-reopen reopen-mr-link', title: 'Reopen merge request'
+ = link_to 'Reopen', merge_request_path(@merge_request, merge_request: {state_event: :reopen }), method: :put, class: 'btn btn-nr btn-grouped btn-reopen reopen-mr-link', title: "Reopen merge request"
+ - if @merge_request.merged?
+ = link_to 'Revert', revert_namespace_project_merge_request_path(@project.namespace, @project, @merge_request), method: :post, class: "btn btn-grouped btn-close", title: "Revert merge request"
diff --git a/config/routes.rb b/config/routes.rb
index c6541a8979c..3bd9610834f 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -590,6 +590,7 @@ Rails.application.routes.draw do
post :cancel_merge_when_build_succeeds
get :ci_status
post :toggle_subscription
+ post :revert
end
collection do