X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/814822120a6becb634a22e872094b8fa16c3ea4f..b051dd11afd42e2ae6fc8ec99982ddfc26788fe8:/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 }