Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorblackst0ne <blackst0ne.ru@gmail.com>2017-05-03 08:32:21 +0300
committerblackst0ne <blackst0ne.ru@gmail.com>2017-05-04 04:58:41 +0300
commit7ad5a1b371f5d319369a6b9d6609c40dea6292c2 (patch)
tree2df1a0335961fde770dd4e8594a60d8d6841123f /app/services
parentb82870afc0031cb830976fb36cd1237c6059397f (diff)
Add last_edited_at and last_edited_by attributes
Diffstat (limited to 'app/services')
-rw-r--r--app/services/issuable_base_service.rb11
-rw-r--r--app/services/notes/update_service.rb4
2 files changed, 15 insertions, 0 deletions
diff --git a/app/services/issuable_base_service.rb b/app/services/issuable_base_service.rb
index 7072d78b28d..889e4508758 100644
--- a/app/services/issuable_base_service.rb
+++ b/app/services/issuable_base_service.rb
@@ -218,6 +218,13 @@ 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(params.merge(
+ last_edited_at: Time.now,
+ last_edited_by: current_user
+ ))
+ end
+
before_update(issuable)
if issuable.with_transaction_returning_status { issuable.save }
@@ -240,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'
diff --git a/app/services/notes/update_service.rb b/app/services/notes/update_service.rb
index 75fd08ea0a9..4b4f383abf2 100644
--- a/app/services/notes/update_service.rb
+++ b/app/services/notes/update_service.rb
@@ -5,7 +5,11 @@ module Notes
old_mentioned_users = note.mentioned_users.to_a
+ note.assign_attributes(params)
+ params.merge!(last_edited_at: Time.now, last_edited_by: current_user) if note.note_changed?
+
note.update_attributes(params.merge(updated_by: current_user))
+
note.create_new_cross_references!(current_user)
if note.previous_changes.include?('note')