X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/860887de5272c3e2a39cb7e0c9db6f0acba1b4c6..ff97501ed01488f8ff8e9d2e7b93b4f295f71725:/app/controllers/changeset_controller.rb diff --git a/app/controllers/changeset_controller.rb b/app/controllers/changeset_controller.rb index 89ba5d131..185a3bd19 100644 --- a/app/controllers/changeset_controller.rb +++ b/app/controllers/changeset_controller.rb @@ -34,7 +34,7 @@ class ChangesetController < ApplicationController # Subscribe user to changeset comments cs.subscribers << @user - render :text => cs.id.to_s, :content_type => "text/plain" + render :plain => cs.id.to_s end ## @@ -43,7 +43,7 @@ class ChangesetController < ApplicationController def read changeset = Changeset.find(params[:id]) - render :text => changeset.to_xml(params[:include_discussion].presence).to_s, :content_type => "text/xml" + render :xml => changeset.to_xml(params[:include_discussion].presence).to_s end ## @@ -61,7 +61,7 @@ class ChangesetController < ApplicationController changeset.set_closed_time_now changeset.save! - render :text => "" + render :nothing => true end ## @@ -83,7 +83,7 @@ class ChangesetController < ApplicationController # the request is in pseudo-osm format... this is kind-of an # abuse, maybe should change to some other format? - doc = XML::Parser.string(request.raw_post).parse + doc = XML::Parser.string(request.raw_post, :options => XML::Parser::Options::NOERROR).parse doc.find("//osm/node").each do |n| lon << n["lon"].to_f * GeoRecord::SCALE lat << n["lat"].to_f * GeoRecord::SCALE @@ -104,7 +104,7 @@ class ChangesetController < ApplicationController # save the larger bounding box and return the changeset, which # will include the bigger bounding box. cs.save! - render :text => cs.to_xml.to_s, :content_type => "text/xml" + render :xml => cs.to_xml.to_s end ## @@ -132,7 +132,7 @@ class ChangesetController < ApplicationController diff_reader = DiffReader.new(request.raw_post, changeset) Changeset.transaction do result = diff_reader.commit - render :text => result.to_s, :content_type => "text/xml" + render :xml => result.to_s end end @@ -197,7 +197,7 @@ class ChangesetController < ApplicationController end end - render :text => result.to_s, :content_type => "text/xml" + render :xml => result.to_s end ## @@ -224,7 +224,7 @@ class ChangesetController < ApplicationController results.root << cs.to_xml_node end - render :text => results.to_s, :content_type => "text/xml" + render :xml => results.to_s end ## @@ -244,11 +244,11 @@ class ChangesetController < ApplicationController check_changeset_consistency(changeset, @user) changeset.update_from(new_changeset, @user) - render :text => changeset.to_xml, :mime_type => "text/xml" + render :xml => changeset.to_xml end ## - # list edits (open changesets) in reverse chronological order + # list non-empty changesets in reverse chronological order def list if request.format == :atom && params[:max_id] redirect_to url_for(params.merge(:max_id => nil)), :status => :moved_permanently @@ -256,7 +256,7 @@ class ChangesetController < ApplicationController end if params[:display_name] - user = User.find_by_display_name(params[:display_name]) + user = User.find_by(:display_name => params[:display_name]) if !user || !user.active? render_unknown_user params[:display_name] return @@ -335,7 +335,7 @@ class ChangesetController < ApplicationController changeset.subscribers << @user unless changeset.subscribers.exists?(@user.id) # Return a copy of the updated changeset - render :text => changeset.to_xml.to_s, :content_type => "text/xml" + render :xml => changeset.to_xml.to_s end ## @@ -356,7 +356,7 @@ class ChangesetController < ApplicationController changeset.subscribers << @user # Return a copy of the updated changeset - render :text => changeset.to_xml.to_s, :content_type => "text/xml" + render :xml => changeset.to_xml.to_s end ## @@ -377,7 +377,7 @@ class ChangesetController < ApplicationController changeset.subscribers.delete(@user) # Return a copy of the updated changeset - render :text => changeset.to_xml.to_s, :content_type => "text/xml" + render :xml => changeset.to_xml.to_s end ## @@ -396,7 +396,7 @@ class ChangesetController < ApplicationController comment.update(:visible => false) # Return a copy of the updated changeset - render :text => comment.changeset.to_xml.to_s, :content_type => "text/xml" + render :xml => comment.changeset.to_xml.to_s end ## @@ -415,7 +415,7 @@ class ChangesetController < ApplicationController comment.update(:visible => true) # Return a copy of the updated changeset - render :text => comment.changeset.to_xml.to_s, :content_type => "text/xml" + render :xml => comment.changeset.to_xml.to_s end ## @@ -440,7 +440,7 @@ class ChangesetController < ApplicationController format.rss end rescue OSM::APIBadUserInput - render :text => "", :status => :bad_request + head :bad_request end private @@ -481,7 +481,7 @@ class ChangesetController < ApplicationController raise OSM::APIBadUserInput.new("invalid user ID") if user.to_i < 1 u = User.find(user.to_i) else - u = User.find_by_display_name(name) + u = User.find_by(:display_name => name) end # make sure we found a user @@ -535,10 +535,10 @@ class ChangesetController < ApplicationController # if parameter 'open' is nill then open and closed changesets are returned def conditions_open(changesets, open) if open.nil? - return changesets + changesets else - return changesets.where("closed_at >= ? and num_changes <= ?", - Time.now.getutc, Changeset::MAX_ELEMENTS) + changesets.where("closed_at >= ? and num_changes <= ?", + Time.now.getutc, Changeset::MAX_ELEMENTS) end end @@ -547,10 +547,10 @@ class ChangesetController < ApplicationController # ('closed at' time has passed or changes limit is hit) def conditions_closed(changesets, closed) if closed.nil? - return changesets + changesets else - return changesets.where("closed_at < ? or num_changes > ?", - Time.now.getutc, Changeset::MAX_ELEMENTS) + changesets.where("closed_at < ? or num_changes > ?", + Time.now.getutc, Changeset::MAX_ELEMENTS) end end @@ -559,12 +559,12 @@ class ChangesetController < ApplicationController # (either specified as array or comma-separated string) def conditions_ids(changesets, ids) if ids.nil? - return changesets + changesets elsif ids.empty? raise OSM::APIBadUserInput.new("No changesets were given to search for") else ids = ids.split(",").collect(&:to_i) - return changesets.where(:id => ids) + changesets.where(:id => ids) end end