]> git.openstreetmap.org Git - rails.git/blobdiff - app/models/node.rb
Preload sender/recipient details for messages
[rails.git] / app / models / node.rb
index 0f176067d75e8aeb218c51ae8eaf3258f36a0e81..2f528076eba632140ac85df651960617c78c5883 100644 (file)
@@ -3,8 +3,9 @@ class Node < ActiveRecord::Base
 
   include GeoRecord
   include ConsistencyValidations
+  include NotRedactable
 
-  set_table_name 'current_nodes'
+  self.table_name = "current_nodes"
 
   belongs_to :changeset
 
@@ -106,6 +107,10 @@ class Node < ActiveRecord::Base
     # and set manually before the actual delete
     node.visible = true
 
+    # Start with no tags
+    node.tags = Hash.new
+
+    # Add in any tags from the XML
     pt.find('tag').each do |tag|
       raise OSM::APIBadXMLError.new("node", pt, "tag is missing key") if tag['k'].nil?
       raise OSM::APIBadXMLError.new("node", pt, "tag is missing value") if tag['v'].nil?
@@ -196,11 +201,14 @@ class Node < ActiveRecord::Base
   def to_xml_node(changeset_cache = {}, user_display_name_cache = {})
     el1 = XML::Node.new 'node'
     el1['id'] = self.id.to_s
-    el1['lat'] = self.lat.to_s
-    el1['lon'] = self.lon.to_s
     el1['version'] = self.version.to_s
     el1['changeset'] = self.changeset_id.to_s
 
+    if self.visible?
+      el1['lat'] = self.lat.to_s
+      el1['lon'] = self.lon.to_s
+    end
+
     if changeset_cache.key?(self.changeset_id)
       # use the cache if available
     else