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?
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