- FileUtils.mv(filename, @trace.trace_name)
- unless @trace.save
- FileUtils.rm_f(@trace.trace_name)
+ if @trace.save
+ FileUtils.mv(filename, @trace.trace_name)
+ 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?