X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/67dd9e4c9d487bdb5f38a09dc0c99def4989326e..fee3a0836842d32fbeeb8b7e96c5ec77eb356d20:/app/models/redaction.rb?ds=sidebyside diff --git a/app/models/redaction.rb b/app/models/redaction.rb index 28a451242..5e9e0decd 100644 --- a/app/models/redaction.rb +++ b/app/models/redaction.rb @@ -1,14 +1,43 @@ +# == Schema Information +# +# Table name: redactions +# +# id :integer not null, primary key +# title :string not null +# description :text not null +# created_at :datetime +# updated_at :datetime +# user_id :bigint(8) not null +# description_format :enum default("markdown"), not null +# +# Foreign Keys +# +# redactions_user_id_fkey (user_id => users.id) +# + ## # 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 +class Redaction < ApplicationRecord + belongs_to :user + + has_many :old_nodes + has_many :old_ways + has_many :old_relations + + validates :title, :presence => true, :characters => true + validates :description, :presence => true, :characters => 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