Remember whether the user set the public checkbox on GPX upload as a user preference. Closes #827

This commit is contained in:
Shaun McDonald 2008-11-18 20:22:09 +00:00
parent b7b2b502cf
commit 55d511bf21
2 changed files with 21 additions and 0 deletions

View file

@ -79,6 +79,12 @@ class TraceController < ApplicationController
def mine
if @user
@trace = Trace.new
unless @user.trace_public_default.nil?
@trace.public = true
else
@trace.public = false
end
list(@user, "mine") unless @user.nil?
else
redirect_to :controller => 'user', :action => 'login', :referer => request.request_uri
@ -312,6 +318,17 @@ private
else
FileUtils.rm_f(filename)
end
# Finally save whether the user marked the trace as being public
if @trace.public?
if @user.trace_public_default.nil?
@user.preferences.create(:k => "gps.trace.public", :v => "default")
end
else
pref = @user.trace_public_default
pref.destroy unless pref.nil?
end
end
end

View file

@ -106,4 +106,8 @@ class User < ActiveRecord::Base
return false
end
def trace_public_default
return self.preferences.find(:first, :conditions => {:k => "gps.trace.public", :v => "default"})
end
end