Merge remote-tracking branch 'openstreetmap/pull/891'
[rails.git] / app / models / redaction.rb
index 28a4512425fa8816a225290d1535b4b8e6406239..49de3177a127af1a0bbe260aaf1feaa15b716109 100644 (file)
@@ -1,14 +1,25 @@
 ##
 # Redaction represents a record associated with a particular
 # action on the database to hide revisions from the history
-# which are not appropriate to redistribute any more. 
+# which are not appropriate to redistribute any more.
 #
 # The circumstances of the redaction can be recorded in the
-# record's title and description fields, which can be 
+# record's title and description fields, which can be
 # displayed linked from the redacted records.
 #
 class Redaction < ActiveRecord::Base
-  has_many :nodes
-  has_many :ways
-  has_many :relations
+  belongs_to :user
+
+  has_many :old_nodes
+  has_many :old_ways
+  has_many :old_relations
+
+  validates :description, :presence => true
+  validates :description_format, :inclusion => { :in => %w(text html markdown) }
+
+  # this method overrides the AR default to provide the rich
+  # text object for the description field.
+  def description
+    RichText.new(self[:description_format], self[:description])
+  end
 end