Merge 7649:7673 from trunk.
This commit is contained in:
commit
cf304fe60f
4 changed files with 13 additions and 20 deletions
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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'
|
||||
|
|
|
@ -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
|
Loading…
Add table
Reference in a new issue