]> git.openstreetmap.org Git - rails.git/blobdiff - app/controllers/traces_controller.rb
Added root elements and dict support for preferences response
[rails.git] / app / controllers / traces_controller.rb
index 68a125f13f374b9475b7d72796019c4931e2109d..0d3a1aa33c652a4c320e14ee0ebc48568d1ce0fb 100644 (file)
@@ -3,13 +3,13 @@ class TracesController < ApplicationController
 
   before_action :authorize_web
   before_action :set_locale
+  before_action :check_database_readable
 
   authorize_resource
 
-  before_action :check_database_readable
-  before_action :check_database_writable, :only => [:new, :create, :edit, :delete]
+  before_action :check_database_writable, :only => [:new, :create, :edit, :destroy]
   before_action :offline_warning, :only => [:mine, :show]
-  before_action :offline_redirect, :only => [:new, :create, :edit, :delete, :data]
+  before_action :offline_redirect, :only => [:new, :create, :edit, :destroy, :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
@@ -65,19 +65,9 @@ class TracesController < ApplicationController
     @traces = @traces.limit(@page_size)
     @traces = @traces.includes(:user, :tags)
 
-    # put together SET of tags across traces, for related links
-    tagset = {}
-    @traces.each do |trace|
-      trace.tags.reload if params[:tag] # if searched by tag, ActiveRecord won't bring back other tags, so do explicitly here
-      trace.tags.each do |tag|
-        tagset[tag.tag] = tag.tag
-      end
-    end
-
     # final helper vars for view
     @target_user = target_user
     @display_name = target_user.display_name if target_user
-    @all_tags = tagset.values
   end
 
   def mine
@@ -113,8 +103,8 @@ class TracesController < ApplicationController
       begin
         @trace = do_create(params[:trace][:gpx_file], params[:trace][:tagstring],
                            params[:trace][:description], params[:trace][:visibility])
-      rescue StandardError => ex
-        logger.debug ex
+      rescue StandardError => e
+        logger.debug e
       end
 
       if @trace.id
@@ -194,7 +184,7 @@ class TracesController < ApplicationController
     head :not_found
   end
 
-  def delete
+  def destroy
     trace = Trace.find(params[:id])
 
     if !trace.visible?
@@ -323,11 +313,11 @@ class TracesController < ApplicationController
   end
 
   def offline_warning
-    flash.now[:warning] = t "traces.offline_warning.message" if STATUS == :gpx_offline
+    flash.now[:warning] = t "traces.offline_warning.message" if Settings.status == "gpx_offline"
   end
 
   def offline_redirect
-    redirect_to :action => :offline if STATUS == :gpx_offline
+    render :action => :offline if Settings.status == "gpx_offline"
   end
 
   def default_visibility