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

@ -0,0 +1,13 @@
class CreateAccountNotes < ActiveRecord::Migration[5.2]
def change
create_table :account_notes do |t|
t.references :account, foreign_key: { on_delete: :cascade }, index: false
t.references :target_account, foreign_key: { to_table: :accounts, on_delete: :cascade }
t.text :comment, null: false
t.index [:account_id, :target_account_id], unique: true
t.timestamps
end
end
end

View file

@ -10,7 +10,7 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 2020_06_27_125810) do
ActiveRecord::Schema.define(version: 2020_06_28_133322) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@ -833,6 +833,16 @@ ActiveRecord::Schema.define(version: 2020_06_27_125810) do
t.index ["user_id"], name: "index_user_invite_requests_on_user_id"
end
create_table "account_notes", force: :cascade do |t|
t.bigint "account_id"
t.bigint "target_account_id"
t.text "comment", null: false
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.index ["account_id", "target_account_id"], name: "index_account_notes_on_account_id_and_target_account_id", unique: true
t.index ["target_account_id"], name: "index_account_notes_on_target_account_id"
end
create_table "users", force: :cascade do |t|
t.string "email", default: "", null: false
t.datetime "created_at", null: false
@ -989,6 +999,8 @@ ActiveRecord::Schema.define(version: 2020_06_27_125810) do
add_foreign_key "statuses_tags", "tags", name: "fk_3081861e21", on_delete: :cascade
add_foreign_key "tombstones", "accounts", on_delete: :cascade
add_foreign_key "user_invite_requests", "users", on_delete: :cascade
add_foreign_key "account_notes", "accounts", column: "target_account_id", on_delete: :cascade
add_foreign_key "account_notes", "accounts", on_delete: :cascade
add_foreign_key "users", "accounts", name: "fk_50500f500d", on_delete: :cascade
add_foreign_key "users", "invites", on_delete: :nullify
add_foreign_key "users", "oauth_applications", column: "created_by_application_id", on_delete: :nullify