]> git.openstreetmap.org Git - rails.git/blobdiff - app/controllers/trace_controller.rb
Make traces/mine redirect to the user's traces page instead of rendering
[rails.git] / app / controllers / trace_controller.rb
index 99f11d5469414a1c41c3c1389fe3ad6760c5b21b..4c4ec60a7ab59401785ad98b812a439025c4ade0 100644 (file)
@@ -96,20 +96,11 @@ class TraceController < ApplicationController
     @action = action
     @display_name = target_user.display_name if target_user
     @all_tags = tagset.values
+    @trace = Trace.new(:visibility => default_visibility) if @user
   end
 
   def mine
-    # Load the preference of whether the user set the trace public the last time
-    @trace = Trace.new
-    visibility = @user.preferences.find(:first, :conditions => {:k => "gps.trace.visibility"})
-    if visibility
-      @trace.visibility = visibility.v
-    elsif @user.preferences.find(:first, :conditions => {:k => "gps.trace.public", :v => "default"}).nil?
-      @trace.visibility = "private"
-    else
-      @trace.visibility = "public"
-    end
-    list(@user, "mine")
+    redirect_to :action => :list, :display_name => @user.display_name
   end
 
   def view
@@ -398,4 +389,16 @@ private
     redirect_to :action => :offline if OSM_STATUS == :gpx_offline
   end
 
+  def default_visibility
+    visibility = @user.preferences.find(:first, :conditions => {:k => "gps.trace.visibility"})
+
+    if visibility
+      visibility.v
+    elsif @user.preferences.find(:first, :conditions => {:k => "gps.trace.public", :v => "default"}).nil?
+      "private"
+    else
+      "public"
+    end
+  end
+
 end