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

@@ -14,7 +14,6 @@ class CompletionsController < ApplicationController
authorize @contest
@completion = Completion.new
@completion.completed = true
if params[:contestant_id]
@completion.contestant_id = params[:contestant_id]
end
@@ -25,6 +24,8 @@ class CompletionsController < ApplicationController
@completion = Completion.new(completion_params)
@completion.contest = @contest
process_completion
if @completion.save
extend_completions!(@completion.contestant)
if @contestant && !params[:completion].key?(:message_id)
@@ -44,7 +45,10 @@ class CompletionsController < ApplicationController
authorize @contest
@completion.contestant_id = params[:contestant_id] if params[:contestant_id]
if @completion.update(completion_params)
@completion.update(completion_params)
process_completion
if @completion.update({})
extend_completions!(@completion.contestant)
if @contestant
redirect_to edit_contest_contestant_path(@contest, @contestant), notice: t("completions.edit.notice")
@@ -59,7 +63,9 @@ class CompletionsController < ApplicationController
def destroy
authorize @contest
contestant = @completion.contestant
@completion.destroy
extend_completions!(contestant)
if params[:contestant_id]
redirect_to contest_contestant_path(@contest, params[:contestant_id]), notice: t("completions.destroy.notice")
else