]> git.openstreetmap.org Git - rails.git/blobdiff - app/controllers/trace_controller.rb
Fixed bug in changeset idle timeout. Fixed another with a spurious require.
[rails.git] / app / controllers / trace_controller.rb
index f0d8033f2e15834a4f0ce3582364fd71f459cd09..06ae5dc3b7e1910d6614295d9f5e791b0ec876dc 100644 (file)
@@ -51,7 +51,8 @@ class TraceController < ApplicationController
       conditions << @tag
     end
     
-    conditions[0] += " AND gpx_files.visible = 1"   #FIXME: use boolean true as parameter to active record
+    conditions[0] += " AND gpx_files.visible = ?"
+    conditions << true
 
     @trace_pages, @traces = paginate(:traces,
                                      :include => [:user, :tags],
@@ -78,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
@@ -196,7 +203,7 @@ class TraceController < ApplicationController
   end
 
   def georss
-    conditions = ["gpx_files.public = 1"] # fixme pass boolean true as parameter
+    conditions = ["gpx_files.public = ?", true]
 
     if params[:display_name]
       conditions[0] += " AND users.display_name = ?"
@@ -311,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