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:
authorRyan Scott <ryan@ryan-scott.me>2017-04-05 05:31:48 +0300
committerSean McGivern <sean@gitlab.com>2017-07-20 17:33:24 +0300
commit7e3d34595c3e090fe505b4fbd49cde2a303b1b6f (patch)
tree17a81203a5e9b224c4974a991c5fce81b44953b4 /app/services/issuable_base_service.rb
parent01c9488f4a559063eba77074ba2d369de87b8018 (diff)
Changes based on MR feedback.
Marking an issue as a duplicate will now also add an upvote on behalf of the author on the original issue.
Diffstat (limited to 'app/services/issuable_base_service.rb')
-rw-r--r--app/services/issuable_base_service.rb20
1 files changed, 10 insertions, 10 deletions
diff --git a/app/services/issuable_base_service.rb b/app/services/issuable_base_service.rb
index c7e646222bb..f57fbaca836 100644
--- a/app/services/issuable_base_service.rb
+++ b/app/services/issuable_base_service.rb
@@ -50,10 +50,6 @@ class IssuableBaseService < BaseService
SystemNoteService.mark_duplicate_issue(issuable, issuable.project, current_user, original_issue)
end
- def create_cross_reference_note(noteable, mentioner)
- SystemNoteService.cross_reference(noteable, mentioner, current_user)
- end
-
def filter_params(issuable)
ability_name = :"admin_#{issuable.to_ability_name}"
@@ -303,14 +299,18 @@ class IssuableBaseService < BaseService
def change_issue_duplicate(issuable)
original_issue_id = params.delete(:original_issue_id)
- return if original_issue_id.nil?
+ return unless original_issue_id
- original_issue = IssuesFinder.new(current_user).find(original_issue_id)
- if original_issue.present?
- create_issue_duplicate_note(issuable, original_issue)
- close_service.new(project, current_user, {}).execute(issuable)
- create_cross_reference_note(original_issue, issuable)
+ begin
+ original_issue = IssuesFinder.new(current_user).find(original_issue_id)
+ rescue ActiveRecord::RecordNotFound
+ return
end
+
+ note = create_issue_duplicate_note(issuable, original_issue)
+ note.create_cross_references!
+ close_service.new(project, current_user, {}).execute(issuable)
+ original_issue.create_award_emoji(AwardEmoji::UPVOTE_NAME, issuable.author)
end
def toggle_award(issuable)