diff options
Diffstat (limited to 'app/services')
-rw-r--r-- | app/services/issuable_base_service.rb | 4 | ||||
-rw-r--r-- | app/services/merge_requests/build_service.rb | 4 | ||||
-rw-r--r-- | app/services/quick_actions/interpret_service.rb | 4 |
3 files changed, 7 insertions, 5 deletions
diff --git a/app/services/issuable_base_service.rb b/app/services/issuable_base_service.rb index c388913ae65..e32e262ac31 100644 --- a/app/services/issuable_base_service.rb +++ b/app/services/issuable_base_service.rb @@ -126,12 +126,12 @@ class IssuableBaseService < BaseService merge_quick_actions_into_params!(issuable) end - def merge_quick_actions_into_params!(issuable) + def merge_quick_actions_into_params!(issuable, only: nil) original_description = params.fetch(:description, issuable.description) description, command_params = QuickActions::InterpretService.new(project, current_user) - .execute(original_description, issuable) + .execute(original_description, issuable, only: only) # Avoid a description already set on an issuable to be overwritten by a nil params[:description] = description if description diff --git a/app/services/merge_requests/build_service.rb b/app/services/merge_requests/build_service.rb index 6c9e566109a..6c69452e2ab 100644 --- a/app/services/merge_requests/build_service.rb +++ b/app/services/merge_requests/build_service.rb @@ -7,7 +7,9 @@ module MergeRequests def execute @params_issue_iid = params.delete(:issue_iid) self.merge_request = MergeRequest.new - merge_quick_actions_into_params!(merge_request) + # TODO: this should handle all quick actions that don't have side effects + # https://gitlab.com/gitlab-org/gitlab-ce/issues/53658 + merge_quick_actions_into_params!(merge_request, only: [:target_branch]) merge_request.assign_attributes(params) merge_request.author = current_user diff --git a/app/services/quick_actions/interpret_service.rb b/app/services/quick_actions/interpret_service.rb index eb431c36807..9c81de7e90e 100644 --- a/app/services/quick_actions/interpret_service.rb +++ b/app/services/quick_actions/interpret_service.rb @@ -23,13 +23,13 @@ module QuickActions # Takes a text and interprets the commands that are extracted from it. # Returns the content without commands, and hash of changes to be applied to a record. - def execute(content, issuable) + def execute(content, issuable, only: nil) return [content, {}] unless current_user.can?(:use_quick_actions) @issuable = issuable @updates = {} - content, commands = extractor.extract_commands(content) + content, commands = extractor.extract_commands(content, only: only) extract_updates(commands) [content, @updates] |