Rather than just say public or private for each GPS trace in the list, instead state...
authorShaun McDonald <shaun@shaunmcdonald.me.uk>
Thu, 31 Dec 2009 00:10:10 +0000 (00:10 +0000)
committerShaun McDonald <shaun@shaunmcdonald.me.uk>
Thu, 31 Dec 2009 00:10:10 +0000 (00:10 +0000)
app/controllers/trace_controller.rb
app/views/trace/_trace.html.erb
config/locales/en.yml

index 9addcbf..99f11d5 100644 (file)
@@ -44,7 +44,7 @@ class TraceController < ApplicationController
     # four main cases:
     # 1 - all traces, logged in = all public traces + all user's (i.e + all mine)
     # 2 - all traces, not logged in = all public traces
-    # 3 - user's traces, logged in as same user = all user's traces 
+    # 3 - user's traces, logged in as same user = all user's traces
     # 4 - user's traces, not logged in as that user = all user's public traces
     if target_user.nil? # all traces
       if @user
@@ -59,7 +59,7 @@ class TraceController < ApplicationController
         conditions = ["gpx_files.visibility in ('public', 'identifiable') AND gpx_files.user_id = ?", target_user.id] #4
       end
     end
-    
+
     if params[:tag]
       @tag = params[:tag]
 
@@ -71,7 +71,7 @@ class TraceController < ApplicationController
         conditions[0] += " AND 0 = 1"
       end
     end
-    
+
     conditions[0] += " AND gpx_files.visible = ?"
     conditions << true
 
@@ -91,7 +91,7 @@ class TraceController < ApplicationController
         end
       end
     end
-    
+
     # final helper vars for view
     @action = action
     @display_name = target_user.display_name if target_user
@@ -106,7 +106,7 @@ class TraceController < ApplicationController
       @trace.visibility = visibility.v
     elsif @user.preferences.find(:first, :conditions => {:k => "gps.trace.public", :v => "default"}).nil?
       @trace.visibility = "private"
-    else 
+    else
       @trace.visibility = "public"
     end
     list(@user, "mine")
@@ -134,7 +134,8 @@ class TraceController < ApplicationController
         begin
           do_create(params[:trace][:gpx_file], params[:trace][:tagstring],
                     params[:trace][:description], params[:trace][:visibility])
-        rescue
+        rescue => ex
+          logger.debug ex
         end
 
         if @trace.id
@@ -184,7 +185,7 @@ class TraceController < ApplicationController
         @trace.visibility = params[:trace][:visibility]
         if @trace.save
           redirect_to :action => 'view'
-        end        
+        end
       end
     else
       render :nothing => true, :status => :forbidden
@@ -225,7 +226,7 @@ class TraceController < ApplicationController
       conditions << params[:tag]
     end
 
-    traces = Trace.find(:all, :include => :user, :conditions => conditions, 
+    traces = Trace.find(:all, :include => :user, :conditions => conditions,
                         :order => "timestamp DESC", :limit => 20)
 
     rss = OSM::GeoRSS.new
@@ -386,7 +387,7 @@ private
     else
       @user.preferences.create(:k => "gps.trace.visibility", :v => visibility)
     end
-    
+
   end
 
   def offline_warning
index 696c204..a3ae1fb 100644 (file)
       <%= link_to t('trace.trace.more'), {:controller => 'trace', :action => 'view', :display_name => trace.user.display_name, :id => trace.id}, {:title => t('trace.trace.trace_details')} %> /
       <%= link_to_if trace.inserted?, t('trace.trace.map'), {:controller => 'site', :action => 'index', :lat => trace.latitude, :lon => trace.longitude, :zoom => 14}, {:title => t('trace.trace.view_map')} %> /
       <%= link_to t('trace.trace.edit'), {:controller => 'site', :action => 'edit', :gpx => trace.id }, {:title => t('trace.trace.edit_map')} %>
-      <% if trace.public? %>
+      <% if trace.visibility == "public" %>
         <span style="color:green"><%= t'trace.trace.public' %></span>
+      <% elsif trace.visibility == "identifiable" %>
+        <span style="color:green"><%= t'trace.trace.identifiable' %></span>
+      <% elsif trace.visibility == "trackable" %>
+        <span style="color:red"><%= t'trace.trace.trackable' %></span>
       <% else %>
         <span style="color:red"><%= t'trace.trace.private' %></span>
       <% end %>
index d6547fc..4fd3e99 100644 (file)
@@ -1239,7 +1239,9 @@ en:
       edit: "edit"
       edit_map: "Edit Map"
       public: "PUBLIC"
+      identifiable: "IDENTIFIABLE"
       private: "PRIVATE"
+      trackable: "TRACKABLE"
       by: "by"
       in: "in"
       map: "map"