diff options
Diffstat (limited to 'app/services/issuable_base_service.rb')
-rw-r--r-- | app/services/issuable_base_service.rb | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/app/services/issuable_base_service.rb b/app/services/issuable_base_service.rb index b365e19c4a8..3512e2b735e 100644 --- a/app/services/issuable_base_service.rb +++ b/app/services/issuable_base_service.rb @@ -81,21 +81,21 @@ class IssuableBaseService < BaseService end def process_label_ids(attributes, base_label_ids: [], merge_all: false) - label_ids = attributes.delete(:label_ids) { [] } - add_label_ids = attributes.delete(:add_label_ids) { [] } - remove_label_ids = attributes.delete(:remove_label_ids) { [] } + label_ids = attributes.delete(:label_ids) + add_label_ids = attributes.delete(:add_label_ids) + remove_label_ids = attributes.delete(:remove_label_ids) new_label_ids = base_label_ids - new_label_ids |= label_ids if merge_all || (add_label_ids.empty? && remove_label_ids.empty?) - new_label_ids |= add_label_ids - new_label_ids -= remove_label_ids + new_label_ids = label_ids if label_ids && (merge_all || (add_label_ids.empty? && remove_label_ids.empty?)) + new_label_ids |= add_label_ids if add_label_ids + new_label_ids -= remove_label_ids if remove_label_ids new_label_ids end - def merge_slash_commands_into_params! + def merge_slash_commands_into_params!(issuable) command_params = SlashCommands::InterpretService.new(project, current_user). - execute(params[:description]) + execute(params[:description], issuable) params.merge!(command_params) end @@ -115,7 +115,7 @@ class IssuableBaseService < BaseService end def create(issuable) - merge_slash_commands_into_params! + merge_slash_commands_into_params!(issuable) filter_params if params.present? && create_issuable(issuable, params) |