X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/dc2a2c8ebd1a11e4a64555fda22c6859a51defff..957d75295b2c379b17e61a2a22ee28fb5f701589:/app/models/node.rb?ds=sidebyside diff --git a/app/models/node.rb b/app/models/node.rb index 1b81cc823..f1a89e0e2 100644 --- a/app/models/node.rb +++ b/app/models/node.rb @@ -23,14 +23,21 @@ class Node < ActiveRecord::Base has_many :containing_relation_members, :class_name => "RelationMember", :as => :member has_many :containing_relations, :class_name => "Relation", :through => :containing_relation_members, :source => :relation - validates_presence_of :id, :on => :update - validates_presence_of :timestamp, :version, :changeset_id - validates_uniqueness_of :id - validates_inclusion_of :visible, :in => [true, false] - validates_numericality_of :latitude, :longitude, :changeset_id, :version, :integer_only => true - validates_numericality_of :id, :on => :update, :integer_only => true + validates :id, :uniqueness => true, :presence => { :on => :update }, + :numericality => { :on => :update, :integer_only => true } + validates :version, :presence => true, + :numericality => { :integer_only => true } + validates :changeset_id, :presence => true, + :numericality => { :integer_only => true } + validates :latitude, :presence => true, + :numericality => { :integer_only => true } + validates :longitude, :presence => true, + :numericality => { :integer_only => true } + validates :timestamp, :presence => true + validates :changeset, :associated => true + validates :visible, :inclusion => [true, false] + validate :validate_position - validates_associated :changeset scope :visible, -> { where(:visible => true) } scope :invisible, -> { where(:visible => false) } @@ -141,7 +148,7 @@ class Node < ActiveRecord::Base # update changeset bbox with *old* position first changeset.update_bbox!(bbox) - # FIXME logic needs to be double checked + # FIXME: logic needs to be double checked self.latitude = new_node.latitude self.longitude = new_node.longitude self.tags = new_node.tags