diff options
author | Brett Walker <bwalker@gitlab.com> | 2019-01-22 18:05:38 -0600 |
---|---|---|
committer | Fatih Acet <acetfatih@gmail.com> | 2019-01-30 23:18:16 +0100 |
commit | d9c5668d2915d64cbd91880e1ff1c0c743e8aa99 (patch) | |
tree | 50b2362104953265170ae25a9026c6ad102e0b0d /app/services/issuable_base_service.rb | |
parent | 6243c04e20b480c8353ac820ac4eb7ea43b92718 (diff) | |
download | gitlab-ce-d9c5668d2915d64cbd91880e1ff1c0c743e8aa99.tar.gz |
Refactor toggling of task list item
Diffstat (limited to 'app/services/issuable_base_service.rb')
-rw-r--r-- | app/services/issuable_base_service.rb | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/app/services/issuable_base_service.rb b/app/services/issuable_base_service.rb index 805bb5b510d..90f971faedb 100644 --- a/app/services/issuable_base_service.rb +++ b/app/services/issuable_base_service.rb @@ -235,6 +235,34 @@ class IssuableBaseService < BaseService issuable end + def update_task(issuable) + filter_params(issuable) + # old_associations = associations_before_update(issuable) + if issuable.changed? || params.present? + issuable.assign_attributes(params.merge(updated_by: current_user)) + issuable.assign_attributes(last_edited_at: Time.now, last_edited_by: current_user) + + before_update(issuable) + + if issuable.with_transaction_returning_status { issuable.save } + # We do not touch as it will affect a update on updated_at field + ActiveRecord::Base.no_touching do + Issuable::CommonSystemNotesService.new(project, current_user).execute(issuable, old_labels: nil) + end + + handle_task_changes(issuable) + + invalidate_cache_counts(issuable, users: issuable.assignees.to_a) + + after_update(issuable) + + # execute_hooks(issuable, 'update', old_associations: old_associations) + end + end + + issuable + end + def labels_changing?(old_label_ids, new_label_ids) old_label_ids.sort != new_label_ids.sort end @@ -318,6 +346,10 @@ class IssuableBaseService < BaseService end # override if needed + def handle_task_changes(issuable) + end + + # override if needed def execute_hooks(issuable, action = 'open', params = {}) end |