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:
authorBob Van Landuyt <bob@vanlanduyt.co>2016-12-22 15:31:12 +0300
committerBob Van Landuyt <bob@gitlab.com>2017-03-13 10:27:51 +0300
commit0267b83898d604181e70c5ea8ac4a84108d2e6d6 (patch)
tree3ce8cc81ba90185c976f3b19b7e548c67856370f /app/services/issues/create_service.rb
parent9ed3db915026c6e0cd266a1c276386e3e96d2151 (diff)
Delegate a single discussion to a new issue
Delegate a discussion in a merge request into a new issue. The discussion wil be marked as resolved and a system note will be added linking to the newly created issue.
Diffstat (limited to 'app/services/issues/create_service.rb')
-rw-r--r--app/services/issues/create_service.rb17
1 files changed, 10 insertions, 7 deletions
diff --git a/app/services/issues/create_service.rb b/app/services/issues/create_service.rb
index 85b6eb3fe3d..d2cc70ed0dc 100644
--- a/app/services/issues/create_service.rb
+++ b/app/services/issues/create_service.rb
@@ -5,7 +5,11 @@ module Issues
def execute
filter_spam_check_params
- issue_attributes = params.merge(merge_request_for_resolving_discussions: merge_request_for_resolving_discussions)
+ issue_attributes = params.merge(
+ merge_request_for_resolving_discussions: merge_request_for_resolving_discussions,
+ discussion_to_resolve: discussion_to_resolve
+ )
+
@issue = BuildService.new(project, current_user, issue_attributes).execute
create(@issue)
@@ -21,17 +25,16 @@ module Issues
notification_service.new_issue(issuable, current_user)
todo_service.new_issue(issuable, current_user)
user_agent_detail_service.create
-
- if merge_request_for_resolving_discussions.try(:discussions_can_be_resolved_by?, current_user)
- resolve_discussions_in_merge_request(issuable)
- end
+ resolve_discussions_with_issue(issuable)
end
- def resolve_discussions_in_merge_request(issue)
+ def resolve_discussions_with_issue(issue)
+ return if discussions_to_resolve.empty?
+
Discussions::ResolveService.new(project, current_user,
merge_request: merge_request_for_resolving_discussions,
follow_up_issue: issue).
- execute(merge_request_for_resolving_discussions.resolvable_discussions)
+ execute(discussions_to_resolve)
end
private