X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/be8164cf1573a79487b94f1a7667de2ffdac2d17..b705af948bc863ba37a49d6e33e868f5a63f65d3:/app/controllers/changeset_controller.rb diff --git a/app/controllers/changeset_controller.rb b/app/controllers/changeset_controller.rb index 5c4201354..9fc2bc320 100644 --- a/app/controllers/changeset_controller.rb +++ b/app/controllers/changeset_controller.rb @@ -5,17 +5,17 @@ class ChangesetController < ApplicationController require 'xml/libxml' skip_before_filter :verify_authenticity_token, :except => [:list] - before_filter :authorize_web, :only => [:list] - before_filter :set_locale, :only => [:list] + before_filter :authorize_web, :only => [:list, :feed] + before_filter :set_locale, :only => [:list, :feed] before_filter :authorize, :only => [:create, :update, :delete, :upload, :include, :close] before_filter :require_allow_write_api, :only => [:create, :update, :delete, :upload, :include, :close] before_filter :require_public_data, :only => [:create, :update, :delete, :upload, :include, :close] before_filter :check_api_writable, :only => [:create, :update, :delete, :upload, :include] - before_filter :check_api_readable, :except => [:create, :update, :delete, :upload, :download, :query, :list] - before_filter(:only => [:list]) { |c| c.check_database_readable(true) } + before_filter :check_api_readable, :except => [:create, :update, :delete, :upload, :download, :query, :list, :feed] + before_filter(:only => [:list, :feed]) { |c| c.check_database_readable(true) } after_filter :compress_output - around_filter :api_call_handle_error, :except => [:list] - around_filter :web_timeout, :only => [:list] + around_filter :api_call_handle_error, :except => [:list, :feed] + around_filter :web_timeout, :only => [:list, :feed] # Helper methods for checking consistency include ConsistencyValidations @@ -174,16 +174,12 @@ class ChangesetController < ApplicationController created = XML::Node.new "create" created << elt.to_xml_node else - # get the previous version from the element history - prev_elt = elt.class.find([elt.id, elt.version]) unless elt.visible - # if the element isn't visible then it must have been deleted, so - # output the *previous* XML + # if the element isn't visible then it must have been deleted deleted = XML::Node.new "delete" - deleted << prev_elt.to_xml_node + deleted << elt.to_xml_node else - # must be a modify, for which we don't need the previous version - # yet... + # must be a modify modified = XML::Node.new "modify" modified << elt.to_xml_node end