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
|
def mine
|
||||||
if @user
|
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?
|
list(@user, "mine") unless @user.nil?
|
||||||
else
|
else
|
||||||
redirect_to :controller => 'user', :action => 'login', :referer => request.request_uri
|
redirect_to :controller => 'user', :action => 'login', :referer => request.request_uri
|
||||||
|
@ -312,6 +318,17 @@ private
|
||||||
else
|
else
|
||||||
FileUtils.rm_f(filename)
|
FileUtils.rm_f(filename)
|
||||||
end
|
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
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -106,4 +106,8 @@ class User < ActiveRecord::Base
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def trace_public_default
|
||||||
|
return self.preferences.find(:first, :conditions => {:k => "gps.trace.public", :v => "default"})
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue