Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-11-06 18:07:37 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2023-11-06 18:07:37 +0300
commit31e17bdaabfc530fa0358f4a86800865011a0b23 (patch)
tree5e8da12639723772316db3db2e6e34edff20334f /app/controllers
parenta661ba47633234590e88004462212e63cc1f658d (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/controllers')
-rw-r--r--app/controllers/projects/merge_requests/drafts_controller.rb20
1 files changed, 19 insertions, 1 deletions
diff --git a/app/controllers/projects/merge_requests/drafts_controller.rb b/app/controllers/projects/merge_requests/drafts_controller.rb
index 74c495261a3..1ec25d44bfa 100644
--- a/app/controllers/projects/merge_requests/drafts_controller.rb
+++ b/app/controllers/projects/merge_requests/drafts_controller.rb
@@ -61,7 +61,9 @@ class Projects::MergeRequests::DraftsController < Projects::MergeRequests::Appli
merge_request_activity_counter.track_submit_review_comment(user: current_user)
end
- if Gitlab::Utils.to_boolean(approve_params[:approve])
+ if Feature.enabled?(:mr_request_changes, current_user) && reviewer_state_params[:reviewer_state]
+ update_reviewer_state
+ elsif Gitlab::Utils.to_boolean(approve_params[:approve])
unless merge_request.approved_by?(current_user)
success = ::MergeRequests::ApprovalService
.new(project: @project, current_user: current_user, params: approve_params)
@@ -144,6 +146,10 @@ class Projects::MergeRequests::DraftsController < Projects::MergeRequests::Appli
params.permit(:approve)
end
+ def reviewer_state_params
+ params.permit(:reviewer_state)
+ end
+
def prepare_notes_for_rendering(notes)
return [] unless notes
@@ -180,6 +186,18 @@ class Projects::MergeRequests::DraftsController < Projects::MergeRequests::Appli
def merge_request_activity_counter
Gitlab::UsageDataCounters::MergeRequestActivityUniqueCounter
end
+
+ def update_reviewer_state
+ if reviewer_state_params[:reviewer_state] === 'approved'
+ ::MergeRequests::ApprovalService
+ .new(project: @project, current_user: current_user)
+ .execute(merge_request)
+ else
+ ::MergeRequests::UpdateReviewerStateService
+ .new(project: @project, current_user: current_user)
+ .execute(merge_request, reviewer_state_params[:reviewer_state])
+ end
+ end
end
Projects::MergeRequests::DraftsController.prepend_mod