X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/7901811752faea37a9fb0f5f05405a5cfbd63b7e..d19ca7c44bc4811cb0cca046a10af31d534de86f:/app/controllers/way_controller.rb diff --git a/app/controllers/way_controller.rb b/app/controllers/way_controller.rb index ea22206a3..935ff3a72 100644 --- a/app/controllers/way_controller.rb +++ b/app/controllers/way_controller.rb @@ -1,7 +1,9 @@ class WayController < ApplicationController require 'xml/libxml' + session :off before_filter :authorize, :only => [:create, :update, :delete] + before_filter :check_availability, :only => [:create, :update, :delete] after_filter :compress_output def create @@ -13,12 +15,9 @@ class WayController < ApplicationController render :nothing => true, :status => :precondition_failed else way.user_id = @user.id + way.save_with_history! - if way.save_with_history - render :text => way.id.to_s, :content_type => "text/plain" - else - render :nothing => true, :status => :internal_server_error - end + render :text => way.id.to_s, :content_type => "text/plain" end else render :nothing => true, :status => :bad_request @@ -39,8 +38,6 @@ class WayController < ApplicationController end rescue ActiveRecord::RecordNotFound render :nothing => true, :status => :not_found - rescue - render :nothing => true, :status => :internal_server_error end end @@ -59,12 +56,9 @@ class WayController < ApplicationController way.tags = new_way.tags way.segs = new_way.segs way.visible = true + way.save_with_history! - if way.save_with_history - render :nothing => true - else - render :nothing => true, :status => :internal_server_error - end + render :nothing => true end else render :nothing => true, :status => :bad_request @@ -74,8 +68,6 @@ class WayController < ApplicationController end rescue ActiveRecord::RecordNotFound render :nothing => true, :status => :not_found - rescue - render :nothing => true, :status => :internal_server_error end end @@ -88,19 +80,14 @@ class WayController < ApplicationController way.tags = [] way.segs = [] way.visible = false + way.save_with_history! - if way.save_with_history - render :nothing => true - else - render :nothing => true, :status => :internal_server_error - end + render :nothing => true else render :nothing => true, :status => :gone end rescue ActiveRecord::RecordNotFound render :nothing => true, :status => :not_found - rescue - render :nothing => true, :status => :internal_server_error end end @@ -134,13 +121,15 @@ class WayController < ApplicationController end rescue ActiveRecord::RecordNotFound render :nothing => true, :status => :not_found - rescue - render :nothing => true, :status => :internal_server_error end end def ways - ids = params['ways'].split(',').collect { |w| w.to_i } + begin + ids = params['ways'].split(',').collect { |w| w.to_i } + rescue + ids = [] + end if ids.length > 0 doc = OSM::API.new.get_xml_doc