]> git.openstreetmap.org Git - rails.git/blobdiff - app/models/way.rb
update nodes/ways/relation XML to include user id as well as display name
[rails.git] / app / models / way.rb
index 4143291c1f47eda44189fe803b855edd3e616612..da7b8d733fbf877867d7e27124b0f75ce6bc66e6 100644 (file)
@@ -101,7 +101,10 @@ class Way < ActiveRecord::Base
       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 = []
@@ -113,7 +116,7 @@ class Way < ActiveRecord::Base
         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
@@ -274,7 +277,7 @@ class Way < ActiveRecord::Base
     check_consistency(self, new_way, user)
     if self.visible
       if RelationMember.find(:first, :joins => "INNER JOIN current_relations ON current_relations.id=current_relation_members.id",
-                             :conditions => [ "visible = 1 AND member_type='way' and member_id=? ", self.id])
+                             :conditions => [ "visible = ? AND member_type='way' and member_id=? ", true, self.id])
         raise OSM::APIPreconditionFailedError
       else
         self.changeset_id = new_way.changeset_id