From: Shaun McDonald Date: Thu, 11 Dec 2008 10:38:36 +0000 (+0000) Subject: some more progress towards making amf_controller do version checking of nodes before... X-Git-Tag: live~7573^2~104 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/8bf0a3197c53b8671f4dcf65855e38d2a2143035 some more progress towards making amf_controller do version checking of nodes before deleting them --- diff --git a/app/controllers/amf_controller.rb b/app/controllers/amf_controller.rb index 0dca302ed..14ad2147a 100644 --- a/app/controllers/amf_controller.rb +++ b/app/controllers/amf_controller.rb @@ -702,7 +702,17 @@ class AmfController < ApplicationController end deleteitemrelations(way_id, 'way') - way.delete_with_relations_and_nodes_and_history(changeset_id.to_i) + + #way.delete_with_relations_and_nodes_and_history(changeset_id.to_i) + way.unshared_node_ids.each do |node_id| + # delete the node + node = Node.find(node_id) + delete_node = Node.new + delete_node.id = node_id + delete_node.version = node_id_version[node_id] + node.delete_with_history!(delete_node, user) + end + # delete the way end [0, way_id] end @@ -711,6 +721,11 @@ class AmfController < ApplicationController # ==================================================================== # Support functions + # delete a way and its nodes that aren't part of other ways + # this functionality used to be in the model, however it is specific to amf + # controller + #def delete_unshared_nodes(changeset_id, way_id) + # Remove a node or way from all relations # FIXME needs version, changeset, and user def deleteitemrelations(objid, type, version) #:doc: