X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/25ebf87e5aaa2fbe979dcf47d59cfebe08e43ad8..98ff2c0b9c28b7a039b55573540f85ea84eb9fca:/app/controllers/api/user_preferences_controller.rb?ds=inline diff --git a/app/controllers/api/user_preferences_controller.rb b/app/controllers/api/user_preferences_controller.rb index 9b117a4d9..99d224c51 100644 --- a/app/controllers/api/user_preferences_controller.rb +++ b/app/controllers/api/user_preferences_controller.rb @@ -1,4 +1,4 @@ -# Update and read user preferences, which are arbitrayr key/val pairs +# Update and read user preferences, which are arbitrary key/val pairs module Api class UserPreferencesController < ApiController before_action :authorize @@ -7,21 +7,17 @@ module Api around_action :api_call_handle_error + before_action :set_request_formats + ## - # return all the preferences as an XML document + # return all the preferences def index - doc = OSM::API.new.get_xml_doc - - prefs = current_user.preferences - - el1 = XML::Node.new "preferences" + @user_preferences = current_user.preferences - prefs.each do |pref| - el1 << pref.to_xml_node + respond_to do |format| + format.xml + format.json end - - doc.root << el1 - render :xml => doc.to_s end ## @@ -34,9 +30,7 @@ module Api # update the entire set of preferences def update_all - old_preferences = current_user.preferences.each_with_object({}) do |preference, preferences| - preferences[preference.k] = preference - end + old_preferences = current_user.preferences.index_by(&:k) new_preferences = {} @@ -72,7 +66,7 @@ module Api pref.k = params[:preference_key] end - pref.v = request.raw_post.chomp + pref.v = request.raw_post.chomp.force_encoding("UTF-8") pref.save! render :plain => ""