From: Matt Amos Date: Sat, 31 Mar 2012 19:12:25 +0000 (+0100) Subject: Fixed AMF controller methods to hide redacted nodes X-Git-Tag: live~6148 X-Git-Url: https://git.openstreetmap.org./rails.git/commitdiff_plain/7c2ca3efb1831647348fc4a83a8aceaa5fc2f356?hp=9c098816e5aa1a0f503da2877a4556b556058d3d Fixed AMF controller methods to hide redacted nodes --- diff --git a/app/controllers/amf_controller.rb b/app/controllers/amf_controller.rb index 9f38f0dcd..9ef1fbb6b 100644 --- a/app/controllers/amf_controller.rb +++ b/app/controllers/amf_controller.rb @@ -407,7 +407,7 @@ class AmfController < ApplicationController revdates.push(a.timestamp) unless revusers.has_key?(a.timestamp.to_i) then revusers[a.timestamp.to_i]=change_user(a) end a.nds.each do |n| - Node.find(n).old_nodes.collect do |o| + Node.find(n).old_nodes.unredacted.collect do |o| revdates.push(o.timestamp) unless revusers.has_key?(o.timestamp.to_i) then revusers[o.timestamp.to_i]=change_user(o) end end @@ -436,7 +436,7 @@ class AmfController < ApplicationController def getnode_history(nodeid) #:doc: begin - history = Node.find(nodeid).old_nodes.reverse.collect do |old_node| + history = Node.find(nodeid).old_nodes.unredacted.reverse.collect do |old_node| [old_node.timestamp.succ.strftime("%d %b %Y, %H:%M:%S")] + change_user(old_node) end return ['node', nodeid, history] @@ -782,7 +782,7 @@ class AmfController < ApplicationController n = Node.find(id) v = n.version unless timestamp == '' - n = OldNode.where("id = ? AND timestamp <= ?", id, timestamp).order("timestamp DESC").first + n = OldNode.where("node_id = ? AND timestamp <= ? AND redaction_id is NULL", id, timestamp).order("timestamp DESC").first end if n diff --git a/app/models/old_way.rb b/app/models/old_way.rb index 30bc12cc2..6fea12db2 100644 --- a/app/models/old_way.rb +++ b/app/models/old_way.rb @@ -146,7 +146,7 @@ class OldWay < ActiveRecord::Base def get_nodes_revert(timestamp) points=[] self.nds.each do |n| - oldnode = OldNode.where('node_id = ? AND timestamp <= ?', n, timestamp).order("timestamp DESC").first + oldnode = OldNode.where('node_id = ? AND timestamp <= ? AND redaction_id is NULL', n, timestamp).order("timestamp DESC").first curnode = Node.find(n) id = n; reuse = curnode.visible if oldnode.lat != curnode.lat or oldnode.lon != curnode.lon or oldnode.tags != curnode.tags then