From: Matt Amos Date: Wed, 4 Apr 2012 18:13:07 +0000 (+0100) Subject: Removed lookup of current element in calls to history X-Git-Tag: live~5567 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/0093db5ffba2c05c5f48824531cd72130b0ba5b1?ds=sidebyside Removed lookup of current element in calls to history --- diff --git a/app/controllers/old_controller.rb b/app/controllers/old_controller.rb index 0aef6123d..c23df70df 100644 --- a/app/controllers/old_controller.rb +++ b/app/controllers/old_controller.rb @@ -14,9 +14,14 @@ class OldController < ApplicationController after_filter :compress_output around_filter :api_call_handle_error, :api_call_timeout before_filter :lookup_old_element, :except => [ :history ] - before_filter :lookup_old_elements_via_current, :only => [ :history ] + before_filter :lookup_old_element_versions, :only => [ :history ] def history + # the .where() method used in the lookup_old_element_versions + # call won't throw an error if no records are found, so we have + # to do that ourselves. + raise OSM::APINotFoundError.new if @elements.empty? + doc = OSM::API.new.get_xml_doc visible_elements = if show_redactions? diff --git a/app/controllers/old_node_controller.rb b/app/controllers/old_node_controller.rb index 7055c031c..16f33013e 100644 --- a/app/controllers/old_node_controller.rb +++ b/app/controllers/old_node_controller.rb @@ -6,8 +6,7 @@ class OldNodeController < OldController @old_element = OldNode.find([params[:id], params[:version]]) end - def lookup_old_elements_via_current - node = Node.find(params[:id]) - @elements = node.old_nodes + def lookup_old_element_versions + @elements = OldNode.where(:node_id => params[:id]).order(:version) end end diff --git a/app/controllers/old_relation_controller.rb b/app/controllers/old_relation_controller.rb index ffb06bf5e..0cb3b2747 100644 --- a/app/controllers/old_relation_controller.rb +++ b/app/controllers/old_relation_controller.rb @@ -6,8 +6,7 @@ class OldRelationController < OldController @old_element = OldRelation.find([params[:id], params[:version]]) end - def lookup_old_elements_via_current - relation = Relation.find(params[:id]) - @elements = relation.old_relations + def lookup_old_element_versions + @elements = OldRelation.where(:relation_id => params[:id]).order(:version) end end diff --git a/app/controllers/old_way_controller.rb b/app/controllers/old_way_controller.rb index dae0957b3..f6f282309 100644 --- a/app/controllers/old_way_controller.rb +++ b/app/controllers/old_way_controller.rb @@ -6,8 +6,7 @@ class OldWayController < OldController @old_element = OldWay.find([params[:id], params[:version]]) end - def lookup_old_elements_via_current - way = Way.find(params[:id]) - @elements = way.old_ways + def lookup_old_element_versions + @elements = OldWay.where(:way_id => params[:id]).order(:version) end end