waycreated=revdates[0]
revdates.uniq!
revdates.sort!
- revdates.reverse!
+ revdates.reverse!
# Remove any dates (from nodes) before first revision date of way
revdates.delete_if { |d| d<waycreated }
# We're deleting the relation
relation.delete_with_history!(new_relation, user)
end
+ updatetimeout(changeset_id)
end # transaction
if relid <= 0
new_node = Node.new
new_node.changeset_id = changeset_id
new_node.version = v.to_i
- node.delete_with_history_unless_used!(new_node, user)
+ begin
+ node.delete_with_history!(new_node, user)
+ rescue OSM::APIPreconditionFailedError => ex
+ # We don't do anything here as the node is being used elsewhere
+ # and we don't want to delete it
+ end
end
+ updatetimeout(changeset_id)
end # transaction
# We're deleting the node
node.delete_with_history!(new_node, user)
end
- end # transaction
+ updatetimeout(changeset_id)
+
+ end # transaction
if id <= 0
return [0, id, new_node.id, new_node.version]
new_node = Node.new
new_node.changeset_id = changeset_id
new_node.version = v.to_i
- node.delete_with_history_unless_used!(new_node, user)
+ begin
+ node.delete_with_history!(new_node, user)
+ rescue OSM::APIPreconditionFailedError => ex
+ # We don't do anything with the exception as the node is in use
+ # elsewhere and we don't want to delete it
+ end
end
+ updatetimeout(changeset_id)
end # transaction
[0, way_id]
return user
end
+ # save the changeset identified by +changeset_id+. this
+ # automatically sets the close timeout appropriately.
+ def updatetimeout(changeset_id)
+ cs = Changeset.find(changeset_id)
+ cs.save!
+ end
+
# Send AMF response
def sendresponse(results)