Remember whether the user set the public checkbox on GPX upload as a user preference. Closes #827
This commit is contained in:
parent
b7b2b502cf
commit
55d511bf21
2 changed files with 21 additions and 0 deletions
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue