X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/b7335940e21bfe4fc9ac688130687398e677cfae..1522ed275c3efceb9629438e0272f2f2d4adf5ba:/app/models/way.rb diff --git a/app/models/way.rb b/app/models/way.rb index 92b69ed7d..86b25e08e 100644 --- a/app/models/way.rb +++ b/app/models/way.rb @@ -228,7 +228,7 @@ class Way < ActiveRecord::Base self.nds.each do |n| node = Node.find(:first, :conditions => ["id = ?", n]) unless node and node.visible - return false + raise OSM::APIPreconditionFailedError.new("The node with id #{n} either does not exist, or is not visible") end end return true @@ -257,30 +257,6 @@ class Way < ActiveRecord::Base end end - # delete a way and its nodes that aren't part of other ways, with history - - # FIXME: merge the potlatch code to delete the relations - # and refactor to use delete_with_history! - # This really needs the ids and versions of the nodes/relations to be passed in too - # so that we can do the version checking before the delete - 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.changeset_id = changeset_id - n.visible = false - # FIXME next line is bad - n.save_with_history! - end - - self.changeset_id = changeset_id - self.tags = [] - self.nds = [] - self.visible = false - # FIXME next line is bad - self.save_with_history! - end - # Find nodes that belong to this way only def unshared_node_ids node_ids = self.nodes.collect { |node| node.id }