X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/124ec2e9d560e0df291e5a8e5aa67ef5db2f5d46..d5e6acaaceb5e74a76369bdfb9413d26ba99e721:/app/controllers/relation_controller.rb diff --git a/app/controllers/relation_controller.rb b/app/controllers/relation_controller.rb index 846d623f2..059fb8d7e 100644 --- a/app/controllers/relation_controller.rb +++ b/app/controllers/relation_controller.rb @@ -15,7 +15,7 @@ class RelationController < ApplicationController relation = Relation.from_xml(request.raw_post, true) # Assume that Relation.from_xml has thrown an exception if there is an error parsing the xml - relation.create_with_history @user + relation.create_with_history current_user render :plain => relation.id.to_s end @@ -35,11 +35,9 @@ class RelationController < ApplicationController relation = Relation.find(params[:id]) new_relation = Relation.from_xml(request.raw_post) - unless new_relation && new_relation.id == relation.id - raise OSM::APIBadUserInput.new("The id in the url (#{relation.id}) is not the same as provided in the xml (#{new_relation.id})") - end + raise OSM::APIBadUserInput, "The id in the url (#{relation.id}) is not the same as provided in the xml (#{new_relation.id})" unless new_relation && new_relation.id == relation.id - relation.update_from new_relation, @user + relation.update_from new_relation, current_user render :plain => relation.version.to_s end @@ -47,7 +45,7 @@ class RelationController < ApplicationController relation = Relation.find(params[:id]) new_relation = Relation.from_xml(request.raw_post) if new_relation && new_relation.id == relation.id - relation.delete_with_history!(new_relation, @user) + relation.delete_with_history!(new_relation, current_user) render :plain => relation.version.to_s else head :bad_request @@ -91,7 +89,6 @@ class RelationController < ApplicationController # create XML. doc = OSM::API.new.get_xml_doc visible_nodes = {} - visible_members = { "Node" => {}, "Way" => {}, "Relation" => {} } changeset_cache = {} user_display_name_cache = {} @@ -100,25 +97,22 @@ class RelationController < ApplicationController doc.root << node.to_xml_node(changeset_cache, user_display_name_cache) visible_nodes[node.id] = node - visible_members["Node"][node.id] = true end ways.each do |way| next unless way.visible? # should be unnecessary if data is consistent. doc.root << way.to_xml_node(visible_nodes, changeset_cache, user_display_name_cache) - visible_members["Way"][way.id] = true end relations.each do |rel| next unless rel.visible? # should be unnecessary if data is consistent. - doc.root << rel.to_xml_node(nil, changeset_cache, user_display_name_cache) - visible_members["Relation"][rel.id] = true + doc.root << rel.to_xml_node(changeset_cache, user_display_name_cache) end # finally add self and output - doc.root << relation.to_xml_node(visible_members, changeset_cache, user_display_name_cache) + doc.root << relation.to_xml_node(changeset_cache, user_display_name_cache) render :xml => doc.to_s else @@ -127,15 +121,11 @@ class RelationController < ApplicationController end def relations - unless params["relations"] - raise OSM::APIBadUserInput.new("The parameter relations is required, and must be of the form relations=id[,id[,id...]]") - end + raise OSM::APIBadUserInput, "The parameter relations is required, and must be of the form relations=id[,id[,id...]]" unless params["relations"] ids = params["relations"].split(",").collect(&:to_i) - if ids.empty? - raise OSM::APIBadUserInput.new("No relations were given to search for") - end + raise OSM::APIBadUserInput, "No relations were given to search for" if ids.empty? doc = OSM::API.new.get_xml_doc