adding the controller code to be able to get a specific version of a node, way or...
[rails.git] / app / controllers / old_relation_controller.rb
1 class OldRelationController < ApplicationController
2   require 'xml/libxml'
3
4   session :off
5   before_filter :check_read_availability
6   after_filter :compress_output
7
8   def history
9     begin
10       relation = Relation.find(params[:id])
11       doc = OSM::API.new.get_xml_doc
12
13       relation.old_relations.each do |old_relation|
14         doc.root << old_relation.to_xml_node
15       end
16
17       render :text => doc.to_s, :content_type => "text/xml"
18     rescue ActiveRecord::RecordNotFound
19       render :nothing => true, :status => :not_found
20     rescue
21       render :nothing => true, :status => :internal_server_error
22     end
23   end
24   
25   def version
26     begin
27       old_relation = OldRelation.find(:first, :conditions => {:id => params[:id], :version => params[:version]} )
28
29       doc = OSM::API.new.get_xml_doc
30       doc.root << old_relation.to_xml_node
31
32       render :text => doc.to_s, :content_type => "text/xml"
33     rescue ActiveRecord::RecordNotFound
34       render :nothing => true, :status => :not_found
35     rescue
36       render :nothing => true, :status => :internetal_service_error
37     end
38   end
39 end