- layout 'site'
-
- skip_before_filter :verify_authenticity_token, :only => [:api_create, :api_read, :api_update, :api_delete, :api_data]
- before_filter :authorize_web
- before_filter :set_locale
- before_filter :require_user, :only => [:mine, :create, :edit, :delete]
- before_filter :authorize, :only => [:api_create, :api_read, :api_update, :api_delete, :api_data]
- before_filter :check_database_readable, :except => [:api_read, :api_data]
- before_filter :check_database_writable, :only => [:create, :edit, :delete, :api_create, :api_update, :api_delete]
- before_filter :check_api_readable, :only => [:api_read, :api_data]
- before_filter :check_api_writable, :only => [:api_create, :api_update, :api_delete]
- before_filter :require_allow_read_gpx, :only => [:api_read, :api_data]
- before_filter :require_allow_write_gpx, :only => [:api_create, :api_update, :api_delete]
- before_filter :offline_warning, :only => [:mine, :view]
- before_filter :offline_redirect, :only => [:create, :edit, :delete, :data, :api_create, :api_delete, :api_data]
- around_filter :api_call_handle_error, :only => [:api_create, :api_read, :api_update, :api_delete, :api_data]
+ layout "site"
+
+ skip_before_action :verify_authenticity_token, :only => [:api_create, :api_read, :api_update, :api_delete, :api_data]
+ before_action :authorize_web
+ before_action :set_locale
+ before_action :require_user, :only => [:mine, :create, :edit, :delete]
+ before_action :authorize, :only => [:api_create, :api_read, :api_update, :api_delete, :api_data]
+ before_action :check_database_readable, :except => [:api_read, :api_data]
+ before_action :check_database_writable, :only => [:create, :edit, :delete, :api_create, :api_update, :api_delete]
+ before_action :check_api_readable, :only => [:api_read, :api_data]
+ before_action :check_api_writable, :only => [:api_create, :api_update, :api_delete]
+ before_action :require_allow_read_gpx, :only => [:api_read, :api_data]
+ before_action :require_allow_write_gpx, :only => [:api_create, :api_update, :api_delete]
+ before_action :offline_warning, :only => [:mine, :view]
+ before_action :offline_redirect, :only => [:create, :edit, :delete, :data, :api_create, :api_delete, :api_data]
+ around_action :api_call_handle_error, :only => [:api_create, :api_read, :api_update, :api_delete, :api_data]
# Counts and selects pages of GPX traces for various criteria (by user, tags, public etc.).
# target_user - if set, specifies the user to fetch traces for. if not set will fetch all traces
def list
# from display name, pick up user id if one user's traces only
display_name = params[:display_name]
# Counts and selects pages of GPX traces for various criteria (by user, tags, public etc.).
# target_user - if set, specifies the user to fetch traces for. if not set will fetch all traces
def list
# from display name, pick up user id if one user's traces only
display_name = params[:display_name]
- @trace = Trace.new({:name => "Dummy",
- :tagstring => params[:trace][:tagstring],
- :description => params[:trace][:description],
- :visibility => params[:trace][:visibility],
- :inserted => false, :user => @user,
- :timestamp => Time.now.getutc})
+ @trace = Trace.new(:name => "Dummy",
+ :tagstring => params[:trace][:tagstring],
+ :description => params[:trace][:description],
+ :visibility => params[:trace][:visibility],
+ :inserted => false, :user => @user,
+ :timestamp => Time.now.getutc)
- traces = traces.order("timestamp DESC")
- traces = traces.limit(20)
- traces = traces.includes(:user)
-
- rss = OSM::GeoRSS.new
-
- traces.each do |trace|
- rss.add(trace.latitude, trace.longitude, trace.name, trace.user.display_name, url_for({:controller => 'trace', :action => 'view', :id => trace.id, :display_name => trace.user.display_name}), "<img src='#{url_for({:controller => 'trace', :action => 'icon', :id => trace.id, :display_name => trace.user.display_name})}'> GPX file with #{trace.size} points from #{trace.user.display_name}", trace.timestamp)
- end
-
- render :text => rss.to_s, :content_type => "application/rss+xml"
+ @traces = @traces.tagged(params[:tag]) if params[:tag]
+ @traces = @traces.order("timestamp DESC")
+ @traces = @traces.limit(20)
+ @traces = @traces.includes(:user)