Patching better 412 error messages from mis-commit on old api06 branch.
[rails.git] / app / controllers / way_controller.rb
index 25d535d79e1e396bca2d4e98049efaf7da5bc07b..ab83d4ec3cbb1a2ea334e0e8b9936450a60972f3 100644 (file)
@@ -3,8 +3,9 @@ class WayController < ApplicationController
 
   session :off
   before_filter :authorize, :only => [:create, :update, :delete]
-  before_filter :check_write_availability, :only => [:create, :update, :delete]
-  before_filter :check_read_availability, :except => [:create, :update, :delete]
+  before_filter :require_public_data, :only => [:create, :update, :delete]
+  before_filter :check_api_writable, :only => [:create, :update, :delete]
+  before_filter :check_api_readable, :except => [:create, :update, :delete]
   after_filter :compress_output
 
   def create
@@ -22,6 +23,7 @@ class WayController < ApplicationController
         render :nothing => true, :status => :method_not_allowed
       end
     rescue OSM::APIError => ex
+      logger.warn request.raw_post
       render ex.render_opts
     end
   end
@@ -56,6 +58,7 @@ class WayController < ApplicationController
         render :nothing => true, :status => :bad_request
       end
     rescue OSM::APIError => ex
+      logger.warn request.raw_post
       render ex.render_opts
     rescue ActiveRecord::RecordNotFound
       render :nothing => true, :status => :not_found
@@ -87,7 +90,7 @@ class WayController < ApplicationController
 
       if way.visible
         nd_ids = way.nds + [-1]
-        nodes = Node.find(:all, :conditions => "visible = 1 AND id IN (#{nd_ids.join(',')})")
+        nodes = Node.find(:all, :conditions => ["visible = ? AND id IN (#{nd_ids.join(',')})", true])
 
         # Render
         doc = OSM::API.new.get_xml_doc