diff options
author | Sean McGivern <sean@gitlab.com> | 2017-05-05 22:00:36 +0100 |
---|---|---|
committer | Sean McGivern <sean@gitlab.com> | 2017-05-05 22:00:36 +0100 |
commit | 86e75ae09238c7f73347c0e310c47f6070c005b9 (patch) | |
tree | e2ce5edb596eb8b35cf530669f34bf1cb034b05a /app/services/issuable_base_service.rb | |
parent | c1d5af67d3743b12718939c9d60c38035d388176 (diff) | |
parent | 8c4c40d09b6947f4ac652dd76cc422fea2a6443d (diff) | |
download | gitlab-ce-86e75ae09238c7f73347c0e310c47f6070c005b9.tar.gz |
Merge branch 'blackst0ne/gitlab-ce-add_system_note_for_editing_issuable'
Diffstat (limited to 'app/services/issuable_base_service.rb')
-rw-r--r-- | app/services/issuable_base_service.rb | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/app/services/issuable_base_service.rb b/app/services/issuable_base_service.rb index 6c2777a8d2d..c1e532b504a 100644 --- a/app/services/issuable_base_service.rb +++ b/app/services/issuable_base_service.rb @@ -19,6 +19,10 @@ class IssuableBaseService < BaseService issuable, issuable.project, current_user, old_title) end + def create_description_change_note(issuable) + SystemNoteService.change_description(issuable, issuable.project, current_user) + end + def create_branch_change_note(issuable, branch_type, old_branch, new_branch) SystemNoteService.change_branch( issuable, issuable.project, current_user, branch_type, @@ -211,6 +215,10 @@ class IssuableBaseService < BaseService if issuable.changed? || params.present? issuable.assign_attributes(params.merge(updated_by: current_user)) + if has_title_or_description_changed?(issuable) + issuable.assign_attributes(last_edited_at: Time.now, last_edited_by: current_user) + end + before_update(issuable) if issuable.with_transaction_returning_status { issuable.save } @@ -239,6 +247,10 @@ class IssuableBaseService < BaseService old_label_ids.sort != new_label_ids.sort end + def has_title_or_description_changed?(issuable) + issuable.title_changed? || issuable.description_changed? + end + def change_state(issuable) case params.delete(:state_event) when 'reopen' @@ -294,6 +306,10 @@ class IssuableBaseService < BaseService create_title_change_note(issuable, issuable.previous_changes['title'].first) end + if issuable.previous_changes.include?('description') + create_description_change_note(issuable) + end + if issuable.previous_changes.include?('description') && issuable.tasks? create_task_status_note(issuable) end |