]> git.openstreetmap.org Git - rails.git/blobdiff - app/controllers/api/user_preferences_controller.rb
Merge remote-tracking branch 'upstream/pull/2651'
[rails.git] / app / controllers / api / user_preferences_controller.rb
index 9b117a4d92c2583d17894c20d5ac9c2bfb4a23db..ddc5d7f430a9eff0c085bedaf40cf3a9d70a76b5 100644 (file)
@@ -10,18 +10,9 @@ module Api
     ##
     # return all the preferences as an XML document
     def index
-      doc = OSM::API.new.get_xml_doc
+      @user_preferences = current_user.preferences
 
-      prefs = current_user.preferences
-
-      el1 = XML::Node.new "preferences"
-
-      prefs.each do |pref|
-        el1 << pref.to_xml_node
-      end
-
-      doc.root << el1
-      render :xml => doc.to_s
+      render :formats => [:xml]
     end
 
     ##
@@ -34,9 +25,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 = {}