]> git.openstreetmap.org Git - rails.git/blobdiff - app/models/issue.rb
Allow reporting of anonymous notes
[rails.git] / app / models / issue.rb
index 7294b07f50c2ad8da02084873d68631ff511dc76..9eb6aac4c73455dcf3901307535dabc956e26da7 100644 (file)
@@ -5,7 +5,7 @@
 #  id               :integer          not null, primary key
 #  reportable_type  :string           not null
 #  reportable_id    :integer          not null
 #  id               :integer          not null, primary key
 #  reportable_type  :string           not null
 #  reportable_id    :integer          not null
-#  reported_user_id :integer          not null
+#  reported_user_id :integer
 #  status           :integer
 #  assigned_role    :enum             not null
 #  resolved_at      :datetime
 #  status           :integer
 #  assigned_role    :enum             not null
 #  resolved_at      :datetime
@@ -36,14 +36,15 @@ class Issue < ActiveRecord::Base
   has_many :comments, :class_name => "IssueComment", :dependent => :destroy
 
   validates :reportable_id, :uniqueness => { :scope => [:reportable_type] }
   has_many :comments, :class_name => "IssueComment", :dependent => :destroy
 
   validates :reportable_id, :uniqueness => { :scope => [:reportable_type] }
-  validates :reported_user_id, :presence => true
+
+  ASSIGNED_ROLES = %w[administrator moderator].freeze
+  validates :assigned_role, :presence => true, :inclusion => ASSIGNED_ROLES
 
   before_validation :set_default_assigned_role
   before_validation :set_reported_user
 
   # Check if more statuses are needed
   enum :status => %w[open ignored resolved]
 
   before_validation :set_default_assigned_role
   before_validation :set_reported_user
 
   # Check if more statuses are needed
   enum :status => %w[open ignored resolved]
-  enum :type => %w[administrator moderator]
 
   scope :with_status, ->(issue_status) { where(:status => statuses[issue_status]) }
 
 
   scope :with_status, ->(issue_status) { where(:status => statuses[issue_status]) }