X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/99bed16f9a905bf7a167f927cce5f15f9064fd20..18409c05ab43a2f818f6db911ae383eb0ebfb07d:/app/controllers/traces_controller.rb?ds=sidebyside diff --git a/app/controllers/traces_controller.rb b/app/controllers/traces_controller.rb index f717d6943..d723bac5b 100644 --- a/app/controllers/traces_controller.rb +++ b/app/controllers/traces_controller.rb @@ -65,13 +65,14 @@ class TracesController < ApplicationController # final helper vars for view @target_user = target_user + + render :partial => "page" if turbo_frame_request_id == "pagination" end def show - @trace = Trace.find(params[:id]) + @trace = Trace.visible.find(params[:id]) - if @trace&.visible? && - (@trace&.public? || @trace&.user == current_user) + if @trace.public? || @trace.user == current_user @title = t ".title", :name => @trace.name else flash[:error] = t ".trace_not_found" @@ -88,11 +89,9 @@ class TracesController < ApplicationController end def edit - @trace = Trace.find(params[:id]) + @trace = Trace.visible.find(params[:id]) - if !@trace.visible? - head :not_found - elsif current_user.nil? || @trace.user != current_user + if current_user.nil? || @trace.user != current_user head :forbidden else @title = t ".title", :name => @trace.name @@ -136,17 +135,15 @@ class TracesController < ApplicationController end def update - @trace = Trace.find(params[:id]) + @trace = Trace.visible.find(params[:id]) - if !@trace.visible? - head :not_found - elsif current_user.nil? || @trace.user != current_user + if current_user.nil? || @trace.user != current_user head :forbidden elsif @trace.update(trace_params) flash[:notice] = t ".updated" redirect_to :action => "show", :display_name => current_user.display_name else - @title = t ".title", :name => @trace.name + @title = t "traces.edit.title", :name => @trace.name render :action => "edit" end rescue ActiveRecord::RecordNotFound @@ -154,11 +151,9 @@ class TracesController < ApplicationController end def destroy - trace = Trace.find(params[:id]) + trace = Trace.visible.find(params[:id]) - if !trace.visible? - head :not_found - elsif current_user.nil? || (trace.user != current_user && !current_user.administrator? && !current_user.moderator?) + if current_user.nil? || (trace.user != current_user && !current_user.administrator? && !current_user.moderator?) head :forbidden else trace.visible = false @@ -176,9 +171,9 @@ class TracesController < ApplicationController end def data - trace = Trace.find(params[:id]) + trace = Trace.visible.find(params[:id]) - if trace.visible? && (trace.public? || (current_user && current_user == trace.user)) + if trace.public? || (current_user && current_user == trace.user) if Acl.no_trace_download(request.remote_ip) head :forbidden elsif request.format == Mime[:xml]