X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/e7c550cf3fb13e410f49439e569f603836b3d83e..cddded9569d2c5b5c9e82a7bdbb3669be6e23b25:/app/controllers/changeset_controller.rb diff --git a/app/controllers/changeset_controller.rb b/app/controllers/changeset_controller.rb index f91ae09bf..db3a26295 100644 --- a/app/controllers/changeset_controller.rb +++ b/app/controllers/changeset_controller.rb @@ -45,6 +45,30 @@ class ChangesetController < ApplicationController map { |memb| [memb[0], ids[memb[0]][memb[1].to_i] || memb[1], memb[2]] } return r end + + def read + begin + changeset = Changeset.find(params[:id]) + render :text => changeset.to_xml.to_s, :content_type => "text/xml" + rescue ActiveRecord::RecordNotFound + render :nothing => true, :status => :not_found + end + end + + def close + begin + if not request.put? + render :nothing => true, :status => :method_not_allowed + return + end + changeset = Changeset.find(params[:id]) + changeset.open = false + changeset.save + render :nothing => true + rescue ActiveRecord::RecordNotFound + render :nothing => true, :status => :not_found + end + end def upload if not request.put? @@ -143,7 +167,7 @@ class ChangesetController < ApplicationController doc.find('//osm/delete/way').each do |nd| elem = XML::Node.new 'way' way = Way.find(nd['id']) - way.delete_with_relations_and_history(@user) + way.delete_with_history(@user) elem['old_id'] = elem['new_id'] = way.id.to_s elem['new_version'] = way.version.to_s root << elem