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

View file

@ -1,4 +1,5 @@
class UserPreference < ActiveRecord::Base class UserPreference < ActiveRecord::Base
set_primary_keys :user_id, :k
belongs_to :user belongs_to :user
# Turn this Node in to an XML Node without the <osm> wrapper. # 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/: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", :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 => '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}/user/gpx_files", :controller => 'user', :action => 'api_gpx_files'
map.connect "api/#{API_VERSION}/gpx/create", :controller => 'trace', :action => 'api_create' 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