fix view only download
This commit is contained in:
@@ -10,14 +10,11 @@ class SubmitFormCompletedDownloadController < ApplicationController
|
|||||||
def index
|
def index
|
||||||
@submitter = Submitter.find_signed(params[:sig], purpose: :download_completed) if params[:sig].present?
|
@submitter = Submitter.find_signed(params[:sig], purpose: :download_completed) if params[:sig].present?
|
||||||
|
|
||||||
signature_valid =
|
signature_valid = @submitter&.slug == submitter_slug
|
||||||
if @submitter&.slug == submitter_slug
|
|
||||||
true
|
|
||||||
else
|
|
||||||
@submitter = nil
|
|
||||||
end
|
|
||||||
|
|
||||||
@submitter ||= Submitter.completed.find_by!(slug: submitter_slug)
|
@submitter = Submitter.find_by!(slug: submitter_slug) unless signature_valid
|
||||||
|
|
||||||
|
return head :not_found unless completed_submitter?(@submitter)
|
||||||
|
|
||||||
Submissions::EnsureResultGenerated.call(@submitter) if @submitter.completed_at?
|
Submissions::EnsureResultGenerated.call(@submitter) if @submitter.completed_at?
|
||||||
|
|
||||||
@@ -60,6 +57,10 @@ class SubmitFormCompletedDownloadController < ApplicationController
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def completed_submitter?(submitter)
|
||||||
|
submitter.completed_at? || (submitter.viewer? && submitter.submission.completed_at?)
|
||||||
|
end
|
||||||
|
|
||||||
def current_user_submitter?(submitter)
|
def current_user_submitter?(submitter)
|
||||||
current_user && current_ability.can?(:read, submitter)
|
current_user && current_ability.can?(:read, submitter)
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user