Expose redactions through the node history API calls
Add the show_redactions=true parameter to the old_node_controller and add a redacted attribute in node XML output.
This commit is contained in:
parent
67182f824e
commit
7d41b926cf
2 changed files with 18 additions and 11 deletions
|
@ -17,7 +17,7 @@ class OldNodeController < ApplicationController
|
|||
|
||||
doc = OSM::API.new.get_xml_doc
|
||||
|
||||
visible_nodes = if @user and @user.moderator?
|
||||
visible_nodes = if @user and @user.moderator? and params[:show_redactions] == "true"
|
||||
node.old_nodes
|
||||
else
|
||||
node.old_nodes.unredacted
|
||||
|
@ -31,10 +31,10 @@ class OldNodeController < ApplicationController
|
|||
end
|
||||
|
||||
def version
|
||||
if @old_node.redacted? and (@user.nil? or not @user.moderator?)
|
||||
if @old_node.redacted? and (@user.nil? or not @user.moderator?) and not params[:show_redactions] == "true"
|
||||
render :nothing => true, :status => :forbidden
|
||||
else
|
||||
|
||||
else
|
||||
response.last_modified = @old_node.timestamp
|
||||
|
||||
doc = OSM::API.new.get_xml_doc
|
||||
|
|
|
@ -45,24 +45,31 @@ class OldNode < ActiveRecord::Base
|
|||
def to_xml_node
|
||||
el1 = XML::Node.new 'node'
|
||||
el1['id'] = self.node_id.to_s
|
||||
el1['lat'] = self.lat.to_s
|
||||
el1['lon'] = self.lon.to_s
|
||||
el1['changeset'] = self.changeset.id.to_s
|
||||
if self.changeset.user.data_public?
|
||||
el1['user'] = self.changeset.user.display_name
|
||||
el1['uid'] = self.changeset.user.id.to_s
|
||||
end
|
||||
|
||||
unless self.redacted? and (@user.nil? or not @user.moderator?)
|
||||
self.tags.each do |k,v|
|
||||
el2 = XML::Node.new('tag')
|
||||
el2['k'] = k.to_s
|
||||
el2['v'] = v.to_s
|
||||
el1 << el2
|
||||
end
|
||||
el1['lat'] = self.lat.to_s
|
||||
el1['lon'] = self.lon.to_s
|
||||
end
|
||||
|
||||
el1['changeset'] = self.changeset.id.to_s
|
||||
if self.changeset.user.data_public?
|
||||
el1['user'] = self.changeset.user.display_name
|
||||
el1['uid'] = self.changeset.user.id.to_s
|
||||
end
|
||||
|
||||
|
||||
|
||||
el1['visible'] = self.visible.to_s
|
||||
el1['timestamp'] = self.timestamp.xmlschema
|
||||
el1['version'] = self.version.to_s
|
||||
if self.redacted?
|
||||
el1['redacted'] = self.redaction.title
|
||||
end
|
||||
return el1
|
||||
end
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue