X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/be0e33862fedbf02e52a9e126cac31dfb5775b43..78b9d92207bb215459ecff466c3efe2fa6466ab3:/app/controllers/traces_controller.rb diff --git a/app/controllers/traces_controller.rb b/app/controllers/traces_controller.rb index b488d717a..0d3a1aa33 100644 --- a/app/controllers/traces_controller.rb +++ b/app/controllers/traces_controller.rb @@ -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,15 +103,15 @@ 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 flash[:notice] = t ".trace_uploaded" flash[:warning] = t ".traces_waiting", :count => current_user.traces.where(:inserted => false).count if current_user.traces.where(:inserted => false).count > 4 - TraceImporterJob.perform_later(@trace) if TRACE_USE_JOB_QUEUE + TraceImporterJob.perform_later(@trace) if Settings.trace_use_job_queue redirect_to :action => :index, :display_name => current_user.display_name else flash[:error] = t("traces.create.upload_failed") if @trace.valid? @@ -194,7 +184,7 @@ class TracesController < ApplicationController head :not_found end - def delete + def destroy trace = Trace.find(params[:id]) if !trace.visible? @@ -205,7 +195,7 @@ class TracesController < ApplicationController trace.visible = false trace.save flash[:notice] = t ".scheduled_for_deletion" - TraceDestroyerJob.perform_later(trace) if TRACE_USE_JOB_QUEUE + TraceDestroyerJob.perform_later(trace) if Settings.trace_use_job_queue redirect_to :action => :index, :display_name => trace.user.display_name end rescue ActiveRecord::RecordNotFound @@ -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