Fix completion conversion in case of errors
All checks were successful
CI / scan_ruby (push) Successful in 17s
CI / scan_js (push) Successful in 12s
CI / lint (push) Successful in 13s
CI / test (push) Successful in 30s

This commit is contained in:
sto 2025-06-19 17:28:55 +02:00
parent ac83a599f3
commit 71f2bb6b70
4 changed files with 20 additions and 10 deletions

View File

@ -36,9 +36,17 @@ class CompletionsController < ApplicationController
@completion.contest_id = @contest.id @completion.contest_id = @contest.id
if @completion.save if @completion.save
extend_completions!(@completion.contestant) extend_completions!(@completion.contestant)
redirect_to contest_path(@contest) if @contestant && !params[:completion].key?(:message_id)
redirect_to edit_contest_contestant_path(@contest, @contestant)
else
redirect_to @contest
end
else else
if @contestant if params[:completion].key?(:message_id)
@message = Message.find(params[:completion][:message_id])
@action_name = t("helpers.buttons.back")
@action_path = contest_path(@contest)
elsif @contestant
@action_name = t("helpers.buttons.back_to_contestant") @action_name = t("helpers.buttons.back_to_contestant")
@action_path = edit_contest_contestant_path(@contest, @contestant) @action_path = edit_contest_contestant_path(@contest, @contestant)
end end

View File

@ -44,6 +44,8 @@ class Completion < ApplicationRecord
self.time_seconds = arr[0].to_i * 3600 + arr[1].to_i * 60 + arr[2].to_i self.time_seconds = arr[0].to_i * 3600 + arr[1].to_i * 60 + arr[2].to_i
elsif arr.size == 2 elsif arr.size == 2
self.time_seconds = arr[0].to_i * 60 + arr[1].to_i self.time_seconds = arr[0].to_i * 60 + arr[1].to_i
elsif arr.size == 1
self.time_seconds = arr[0].to_i
end end
end end
end end

View File

@ -111,10 +111,10 @@ en:
blank: Your username cannot be empty blank: Your username cannot be empty
completions: completions:
edit: edit:
title: "Edit completion" title: Edit completion
new: new:
title: "New completion" title: New completion
singular: "completion" singular: completion
contests: contests:
edit: edit:
title: "Edit contest settings" title: "Edit contest settings"
@ -176,7 +176,7 @@ en:
rank: Rank rank: Rank
messages: messages:
convert: convert:
title: "New completion" title: New completion
plural: "messages" plural: "messages"
singular: "message" singular: "message"
warning: "You first need to add a puzzle before converting messages to completions." warning: "You first need to add a puzzle before converting messages to completions."

View File

@ -82,10 +82,10 @@ fr:
blank: Le nom d'utilisateur.ice est obligatoire blank: Le nom d'utilisateur.ice est obligatoire
completions: completions:
edit: edit:
title: "Modifier la complétion" title: Modifier la complétion
new: new:
title: "Nouvelle complétion" title: Ajout d'une complétion
singular: "complétion" singular: complétion
contests: contests:
edit: edit:
title: "Paramètres du concours" title: "Paramètres du concours"
@ -147,7 +147,7 @@ fr:
rank: Rang rank: Rang
messages: messages:
convert: convert:
title: "Ajout d'une complétion" title: Ajout d'une complétion
plural: "messages" plural: "messages"
singular: "message" singular: "message"
warning: "Au moins un puzzle doit être ajouté avant de pouvoir convertir des messages en complétions." warning: "Au moins un puzzle doit être ajouté avant de pouvoir convertir des messages en complétions."