# reportable_type :string not null
# reportable_id :integer not null
# reported_user_id :integer
-# status :integer
+# status :enum default(NULL), not null
# assigned_role :enum not null
# resolved_at :datetime
# resolved_by :integer
before_validation :set_default_assigned_role
before_validation :set_reported_user
- # Check if more statuses are needed
- enum :status => %w[open ignored resolved]
-
scope :with_status, ->(issue_status) { where(:status => statuses[issue_status]) }
def read_reports
end
def set_default_assigned_role
- role = %w[Note].include?(reportable.class.name) ? "moderator" : "administrator"
- self.assigned_role = role if assigned_role.blank?
+ if assigned_role.blank?
+ self.assigned_role = case reportable
+ when Note then "moderator"
+ else "administrator"
+ end
+ end
end
end