summaryrefslogtreecommitdiff
path: root/app/services/issuable_base_service.rb
diff options
context:
space:
mode:
authorRémy Coutable <remy@rymai.me>2016-08-09 19:26:45 +0200
committerRémy Coutable <remy@rymai.me>2016-08-13 00:06:11 +0200
commit7cc4ab14b8a2f1d7d374a320b79374764527659f (patch)
tree6dfd4067d98db291f9b8f5db05909967e0c7cd27 /app/services/issuable_base_service.rb
parenta54fdc384fee9daeab1b9fb638dae5dce4e4be15 (diff)
downloadgitlab-ce-7cc4ab14b8a2f1d7d374a320b79374764527659f.tar.gz
New Notes::SlashCommandsService service
Check for update_issuable permission in Notes::SlashCommandsService Signed-off-by: Rémy Coutable <remy@rymai.me>
Diffstat (limited to 'app/services/issuable_base_service.rb')
-rw-r--r--app/services/issuable_base_service.rb18
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)