Merge remote-tracking branch 'tootsuite/master' into glitchsoc/master

This commit is contained in:
Jenkins
2018-04-03 19:17:20 +00:00
70 changed files with 924 additions and 271 deletions

View File

@ -97,6 +97,8 @@ class Account < ApplicationRecord
has_many :reports
has_many :targeted_reports, class_name: 'Report', foreign_key: :target_account_id
has_many :report_notes, dependent: :destroy
# Moderation notes
has_many :account_moderation_notes, dependent: :destroy
has_many :targeted_moderation_notes, class_name: 'AccountModerationNote', foreign_key: :target_account_id, dependent: :destroy

View File

@ -12,12 +12,16 @@
# account_id :integer not null
# action_taken_by_account_id :integer
# target_account_id :integer not null
# assigned_account_id :integer
#
class Report < ApplicationRecord
belongs_to :account
belongs_to :target_account, class_name: 'Account'
belongs_to :action_taken_by_account, class_name: 'Account', optional: true
belongs_to :assigned_account, class_name: 'Account', optional: true
has_many :notes, class_name: 'ReportNote', foreign_key: :report_id, inverse_of: :report, dependent: :destroy
scope :unresolved, -> { where(action_taken: false) }
scope :resolved, -> { where(action_taken: true) }

21
app/models/report_note.rb Normal file
View File

@ -0,0 +1,21 @@
# frozen_string_literal: true
# == Schema Information
#
# Table name: report_notes
#
# id :integer not null, primary key
# content :text not null
# report_id :integer not null
# account_id :integer not null
# created_at :datetime not null
# updated_at :datetime not null
#
class ReportNote < ApplicationRecord
belongs_to :account
belongs_to :report, inverse_of: :notes
scope :latest, -> { reorder('created_at ASC') }
validates :content, presence: true, length: { maximum: 500 }
end