]> git.openstreetmap.org Git - rails.git/blobdiff - app/models/way.rb
more diary entry tests, and a minor fix to the relation member that makes the code...
[rails.git] / app / models / way.rb
index c9e695b32e0193855b5e2b0c0cdf5acc59cd08a8..7c29a44b379857574a7327a6b2f458099916bf9a 100644 (file)
@@ -101,7 +101,10 @@ class Way < ActiveRecord::Base
       user_display_name_cache[self.changeset.user_id] = nil
     end
 
       user_display_name_cache[self.changeset.user_id] = nil
     end
 
-    el1['user'] = user_display_name_cache[self.changeset.user_id] unless user_display_name_cache[self.changeset.user_id].nil?
+    if not user_display_name_cache[self.changeset.user_id].nil?
+      el1['user'] = user_display_name_cache[self.changeset.user_id]
+      el1['uid'] = self.changeset.user_id.to_s
+    end
 
     # make sure nodes are output in sequence_id order
     ordered_nodes = []
 
     # make sure nodes are output in sequence_id order
     ordered_nodes = []
@@ -113,7 +116,7 @@ class Way < ActiveRecord::Base
         end
       else
         # otherwise, manually go to the db to check things
         end
       else
         # otherwise, manually go to the db to check things
-        if nd.node.visible? and nd.node.visible?
+        if nd.node and nd.node.visible?
           ordered_nodes[nd.sequence_id] = nd.node_id.to_s
         end
       end
           ordered_nodes[nd.sequence_id] = nd.node_id.to_s
         end
       end
@@ -288,22 +291,24 @@ class Way < ActiveRecord::Base
     end
   end
 
     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
 
   # 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)
     # 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
     
       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
   end
 
   # Find nodes that belong to this way only