Merge 7649:7673 from trunk.

This commit is contained in:
Tom Hughes 2008-05-04 11:26:36 +00:00
commit cf304fe60f
4 changed files with 13 additions and 20 deletions

View file

@ -3,7 +3,7 @@ class UserPreferenceController < ApplicationController
before_filter :authorize
def read_one
pref = UserPreference.find(:first, :conditions => ['user_id = ? AND k = ?', @user.id, params[:preference_key]])
pref = UserPreference.find(@user.id, params[:preference_key])
if pref
render :text => pref.v.to_s
@ -13,20 +13,26 @@ class UserPreferenceController < ApplicationController
end
def update_one
pref = UserPreference.find(:first, :conditions => ['user_id = ? AND k = ?', @user.id, params[:preference_key]])
if pref
begin
pref = UserPreference.find(@user.id, params[:preference_key])
pref.v = request.raw_post.chomp
pref.save
else
rescue ActiveRecord::RecordNotFound
pref = UserPreference.new
pref.user = @user
pref.k = params[:preference_key]
pref.v = request.raw_post.chomp
pref.save
end
render :nothing => true
end
def delete_one
UserPreference.delete(@user.id, params[:preference_key])
render :nothing => true
end
# print out all the preferences as a big xml block
def read
@ -91,5 +97,4 @@ class UserPreferenceController < ApplicationController
render :nothing => true
end
end

View file

@ -1,4 +1,5 @@
class UserPreference < ActiveRecord::Base
set_primary_keys :user_id, :k
belongs_to :user
# Turn this Node in to an XML Node without the <osm> wrapper.

View file

@ -47,6 +47,7 @@ ActionController::Routing::Routes.draw do |map|
map.connect "api/#{API_VERSION}/user/preferences/:preference_key", :controller => 'user_preference', :action => 'read_one', :conditions => { :method => :get }
map.connect "api/#{API_VERSION}/user/preferences", :controller => 'user_preference', :action => 'update', :conditions => { :method => :put }
map.connect "api/#{API_VERSION}/user/preferences/:preference_key", :controller => 'user_preference', :action => 'update_one', :conditions => { :method => :put }
map.connect "api/#{API_VERSION}/user/preferences/:preference_key", :controller => 'user_preference', :action => 'delete_one', :conditions => { :method => :delete }
map.connect "api/#{API_VERSION}/user/gpx_files", :controller => 'user', :action => 'api_gpx_files'
map.connect "api/#{API_VERSION}/gpx/create", :controller => 'trace', :action => 'api_create'

View file

@ -1,14 +0,0 @@
class AddUserPreferenceId < ActiveRecord::Migration
def self.up
remove_primary_key 'user_preferences'
add_column "user_preferences", "id", :bigint, :limit => 64, :null => false
add_primary_key "user_preferences", ["id"]
change_column "user_preferences", "id", :bigint, :limit => 64, :null => false, :options => "AUTO_INCREMENT"
add_index "user_preferences", ["id"], :name => "user_preferences_id_idx"
end
def self.down
remove_index 'user_preferences', 'id'
remove_column 'user_preferences', 'id'
end
end