X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/d5f02968f6f2dd153c74844e818a4d2b2ae24991..45c464a69a0fe8c6e68ec7257efa545f74d0297c:/app/models/report.rb?ds=sidebyside diff --git a/app/models/report.rb b/app/models/report.rb index f997215a8..63296a094 100644 --- a/app/models/report.rb +++ b/app/models/report.rb @@ -1,5 +1,42 @@ +# == Schema Information +# +# Table name: reports +# +# id :integer not null, primary key +# issue_id :integer not null +# user_id :integer not null +# details :text not null +# category :string not null +# created_at :datetime not null +# updated_at :datetime not null +# +# Indexes +# +# index_reports_on_issue_id (issue_id) +# index_reports_on_user_id (user_id) +# +# Foreign Keys +# +# reports_issue_id_fkey (issue_id => issues.id) +# reports_user_id_fkey (user_id => users.id) +# + class Report < ActiveRecord::Base - belongs_to :issue - belongs_to :user, :class_name => "User", :foreign_key => :reporter_user_id - + belongs_to :issue, :counter_cache => true + belongs_to :user + + validates :issue, :presence => true + validates :user, :presence => true + validates :details, :presence => true + validates :category, :presence => true + + def self.categories_for(reportable) + case reportable.class.name + when "DiaryEntry" then %w[spam offensive threat other] + when "DiaryComment" then %w[spam offensive threat other] + when "User" then %w[spam offensive threat vandal other] + when "Note" then %w[spam personal abusive other] + else %w[other] + end + end end