diff options
Diffstat (limited to 'app/services/issuable_base_service.rb')
-rw-r--r-- | app/services/issuable_base_service.rb | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/app/services/issuable_base_service.rb b/app/services/issuable_base_service.rb index 18062bd60da..38b10996f44 100644 --- a/app/services/issuable_base_service.rb +++ b/app/services/issuable_base_service.rb @@ -129,15 +129,11 @@ class IssuableBaseService < BaseService add_label_ids = attributes.delete(:add_label_ids) remove_label_ids = attributes.delete(:remove_label_ids) - new_label_ids = existing_label_ids || label_ids || [] + new_label_ids = label_ids || existing_label_ids || [] new_label_ids |= extra_label_ids - if add_label_ids.blank? && remove_label_ids.blank? - new_label_ids = label_ids if label_ids - else - new_label_ids |= add_label_ids if add_label_ids - new_label_ids -= remove_label_ids if remove_label_ids - end + new_label_ids |= add_label_ids if add_label_ids + new_label_ids -= remove_label_ids if remove_label_ids new_label_ids.uniq end @@ -350,7 +346,7 @@ class IssuableBaseService < BaseService todo_service.mark_todo(issuable, current_user) when 'done' todo = TodosFinder.new(current_user).find_by(target: issuable) - todo_service.mark_todos_as_done_by_ids(todo, current_user) if todo + todo_service.resolve_todo(todo, current_user) if todo end end # rubocop: enable CodeReuse/ActiveRecord |