]> git.openstreetmap.org Git - rails.git/blobdiff - app/controllers/changeset_controller.rb
api06: Fix typo.
[rails.git] / app / controllers / changeset_controller.rb
index f91ae09bfe7bdd1ef1dddcd357c37e564c4a8f8e..db3a2629512b0251d0c645d751914be380675dc4 100644 (file)
@@ -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