From 5a376063af608eb2817cf272a3a18c999a277541 Mon Sep 17 00:00:00 2001 From: Toon Claes Date: Thu, 27 Sep 2018 10:46:26 +0200 Subject: [PATCH] Allow /copy_metadata for new issues Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/50181 --- app/services/quick_actions/interpret_service.rb | 3 +-- changelogs/unreleased/toon-copy-meta-data-fix.yml | 5 +++++ spec/services/quick_actions/interpret_service_spec.rb | 9 +++++++++ 3 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 changelogs/unreleased/toon-copy-meta-data-fix.yml diff --git a/app/services/quick_actions/interpret_service.rb b/app/services/quick_actions/interpret_service.rb index 02d68c3add3..dd733f646e7 100644 --- a/app/services/quick_actions/interpret_service.rb +++ b/app/services/quick_actions/interpret_service.rb @@ -290,8 +290,7 @@ module QuickActions end params '#issue | !merge_request' condition do - issuable.persisted? && - current_user.can?(:"update_#{issuable.to_ability_name}", issuable) + current_user.can?(:"update_#{issuable.to_ability_name}", issuable) end parse_params do |issuable_param| extract_references(issuable_param, :issue).first || diff --git a/changelogs/unreleased/toon-copy-meta-data-fix.yml b/changelogs/unreleased/toon-copy-meta-data-fix.yml new file mode 100644 index 00000000000..f2f8a1a82a4 --- /dev/null +++ b/changelogs/unreleased/toon-copy-meta-data-fix.yml @@ -0,0 +1,5 @@ +--- +title: Allow /copy_metadata for new issues and MRs +merge_request: 21953 +author: +type: changed diff --git a/spec/services/quick_actions/interpret_service_spec.rb b/spec/services/quick_actions/interpret_service_spec.rb index 06cad9c00d2..ac0ca1f33a5 100644 --- a/spec/services/quick_actions/interpret_service_spec.rb +++ b/spec/services/quick_actions/interpret_service_spec.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'spec_helper' describe QuickActions::InterpretService do @@ -859,6 +861,13 @@ describe QuickActions::InterpretService do let(:issuable) { issue } end + it_behaves_like 'copy_metadata command' do + let(:source_issuable) { create(:labeled_issue, project: project, labels: [inreview_label, todo_label]) } + + let(:content) { "/copy_metadata #{source_issuable.to_reference}" } + let(:issuable) { build(:issue, project: project) } + end + it_behaves_like 'copy_metadata command' do let(:source_issuable) { create(:labeled_issue, project: project, labels: [inreview_label, todo_label]) }