X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/5f59845575ed313688eca669fd73f4f6a5993c23..26aecfb2bf75c68ab7e396011662bf6c55057f77:/app/controllers/traces_controller.rb diff --git a/app/controllers/traces_controller.rb b/app/controllers/traces_controller.rb index b488d717a..b4853c6b8 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,8 @@ 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 +102,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 +183,7 @@ class TracesController < ApplicationController head :not_found end - def delete + def destroy trace = Trace.find(params[:id]) if !trace.visible? @@ -205,7 +194,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 +312,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