]> git.openstreetmap.org Git - rails.git/blobdiff - app/models/way.rb
Migration to add close-time to changesets. This replaces the boolean 'open' attribute...
[rails.git] / app / models / way.rb
index da7b8d733fbf877867d7e27124b0f75ce6bc66e6..3b3f9243283e64eee1ec27b7d34ac97e2db7d0df 100644 (file)
@@ -27,7 +27,7 @@ class Way < ActiveRecord::Base
       doc = p.parse
 
       doc.find('//osm/way').each do |pt|
-       return Way.from_xml_node(pt, create)
+        return Way.from_xml_node(pt, create)
       end
     rescue
       return nil
@@ -233,6 +233,10 @@ class Way < ActiveRecord::Base
       # update and commit the bounding box, now that way nodes 
       # have been updated and we're in a transaction.
       changeset.update_bbox!(bbox) unless nodes.empty?
+
+      # tell the changeset we updated one element only
+      changeset.add_changes! 1
+
       changeset.save!
     end
   end
@@ -291,22 +295,24 @@ class Way < ActiveRecord::Base
     end
   end
 
-  # delete a way and it's nodes that aren't part of other ways, with history
+  # delete a way and its nodes that aren't part of other ways, with history
 
   # FIXME: merge the potlatch code to delete the relations
-  def delete_with_relations_and_nodes_and_history(user)
+  #        and refactor to use delete_with_history!
+  def delete_with_relations_and_nodes_and_history(changeset_id)
     # delete the nodes not used by other ways
     self.unshared_node_ids.each do |node_id|
       n = Node.find(node_id)
-      n.user_id = user.id
+      n.changeset_id = changeset_id
       n.visible = false
       n.save_with_history!
     end
     
-    # FIXME needs more information passed in so that the changeset can be updated
-    self.user_id = user.id
-
-    self.delete_with_history(user)
+    self.changeset_id = changeset_id
+    self.tags = []
+    self.nds = []
+    self.visible = false
+    self.save_with_history!
   end
 
   # Find nodes that belong to this way only