Rework of completion forms
Some checks failed
CI / scan_ruby (push) Has been cancelled
CI / scan_js (push) Has been cancelled
CI / lint (push) Has been cancelled
CI / test (push) Has been cancelled

This commit is contained in:
sto
2026-08-11 09:26:42 +02:00
parent 84e3424fcf
commit 5dd8e97c6b
6 changed files with 193 additions and 67 deletions

View File

@@ -221,10 +221,9 @@ class ContestantsController < ApplicationController
@contest = @contestant.contest
@puzzles = @contest.puzzles.where(hidden: false).or(@contest.puzzles.where(hidden: nil)).order(:id)
@completion = Completion.new
@completion.completed = true
@completion.code = @contest.code
render "completions/_form", locals: { completion: @completion, submit_text: t("helpers.buttons.create"), method: :post, url: "/public/p/#{params[:contestant_id]}" }
render "completions/_form", locals: { completion: @completion, submit_text: t("helpers.buttons.validate"), method: :post, url: "/public/p/#{params[:contestant_id]}" }
end
def post_public_completion
@@ -245,12 +244,14 @@ class ContestantsController < ApplicationController
@completion.contest = @contest
@completion.contestant = @contestant
process_completion
if @completion.save
extend_completions!(@completion.contestant)
redirect_to "/public/p/#{params[:contestant_id]}/updated"
else
@puzzles = @contest.puzzles
render "completions/_form", locals: { completion: @completion, submit_text: t("helpers.buttons.create"), method: :post, url: "/public/p/#{params[:contestant_id]}" }, status: :unprocessable_entity
render "completions/_form", locals: { completion: @completion, submit_text: t("helpers.buttons.validate"), method: :post, url: "/public/p/#{params[:contestant_id]}" }, status: :unprocessable_entity
end
end