Rather than just say public or private for each GPS trace in the list, instead state the new permission levels. Green colour means that it will be shown in the trace list to other users. Red means that other users won't see the trace in the list. Have added two new translations for the other trace permissions.
This commit is contained in:
parent
b3f4637a42
commit
1df4ad819c
3 changed files with 17 additions and 10 deletions
|
@ -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
|
||||
|
|
|
@ -18,8 +18,12 @@
|
|||
<%= 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 %>
|
||||
|
|
|
@ -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"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue