0
0
Fork 0

Add user notes on accounts (#14148)

* Add UserNote model

* Add UI for user notes

* Put comment in relationships entity

* Add API to create user notes

* Copy user notes to new account when receiving a Move activity

* Address some of the review remarks

* Replace modal by inline edition

* Please CodeClimate

* Button design changes

* Change design again

* Cancel note edition when pressing Escape

* Fixes

* Tweak design again

* Move “Add note” item, and allow users to add notes to themselves

* Rename UserNote into AccountNote, rename “comment” Relationship attribute to “note”
This commit is contained in:
ThibG 2020-06-30 19:19:50 +02:00 committed by GitHub
parent ce9ae9aa50
commit 65506bac3f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
22 changed files with 485 additions and 4 deletions

View file

@ -12,6 +12,8 @@ class MoveWorker
else
queue_follow_unfollows!
end
copy_account_notes!
rescue ActiveRecord::RecordNotFound
true
end
@ -34,4 +36,19 @@ class MoveWorker
UnfollowFollowWorker.push_bulk(accounts.map(&:id)) { |follower_id| [follower_id, @source_account.id, @target_account.id, bypass_locked] }
end
end
def copy_account_notes!
AccountNote.where(target_account: @source_account).find_each do |note|
text = I18n.with_locale(note.account.user.locale || I18n.default_locale) do
I18n.t('move_handler.copy_account_note_text', acct: @source_account.acct)
end
new_note = AccountNote.find_by(account: note.account, target_account: @target_account)
if new_note.nil?
AccountNote.create!(account: note.account, target_account: @target_account, comment: [text, note.comment].join('\n'))
else
new_note.update!(comment: [text, note.comment, '\n', new_note.comment].join('\n'))
end
end
end
end