use submission completed_at

This commit is contained in:
Pete Matsyburka
2026-07-01 21:50:12 +03:00
parent 9194879c43
commit ac7cc77017
24 changed files with 91 additions and 97 deletions
+12 -8
View File
@@ -4,6 +4,8 @@ module Api
class SubmittersController < ApiBaseController
load_and_authorize_resource :submitter
before_action :maybe_return_submitter_error, only: :update
def index
submitters = Submitters.search(current_user, @submitters, params[:q])
@@ -36,14 +38,6 @@ module Api
# rubocop:disable Metrics/MethodLength
def update
if @submitter.completed_at?
return render json: { error: 'Submitter has already completed the submission.' }, status: :unprocessable_content
end
if @submitter.declined_at?
return render json: { error: 'Submitter has already declined the submission.' }, status: :unprocessable_content
end
submission = @submitter.submission
role = submission.template_submitters.find { |e| e['uuid'] == @submitter.uuid }['name']
@@ -106,6 +100,16 @@ module Api
private
def maybe_return_submitter_error
if @submitter.completed_at?
return render json: { error: 'Submitter has already completed the submission.' }, status: :unprocessable_content
end
return unless @submitter.declined_at?
render json: { error: 'Submitter has already declined the submission.' }, status: :unprocessable_content
end
def maybe_filter_by_completed_at(submitters, params)
if params[:completed_after].present?
submitters = submitters.where(completed_at: Time.zone.parse(params[:completed_after])..)