fix swiss form

pull/7494/head
Thibault Duplessis 2020-10-22 22:06:42 +02:00
parent 5d6648b8dc
commit 29c9e76295
2 changed files with 7 additions and 6 deletions

View File

@ -60,7 +60,7 @@ object form {
form3.split(fields.name, fields.nbRounds),
form3.split(fields.rated, fields.variant),
fields.clock,
form3.split(fields.description, swiss.settings.position.isDefined option fields.position),
form3.split(fields.description, fields.position),
form3.split(
fields.roundInterval,
swiss.isCreated option fields.startsAt

View File

@ -71,7 +71,7 @@ final class SwissApi(
winnerId = none,
settings = Swiss.Settings(
nbRounds = data.nbRounds,
rated = data.rated | true,
rated = data.realPosition.isEmpty && (data.rated | true),
description = data.description,
position = data.realPosition,
chatFor = data.realChatFor,
@ -86,6 +86,9 @@ final class SwissApi(
def update(swiss: Swiss, data: SwissForm.SwissData): Funit =
Sequencing(swiss.id)(byId) { old =>
val position =
if (old.isCreated || old.settings.position.isDefined) data.realVariant.standard ?? data.realPosition
else old.settings.position
val swiss =
old.copy(
name = data.name | old.name,
@ -97,11 +100,9 @@ final class SwissApi(
else old.nextRoundAt,
settings = old.settings.copy(
nbRounds = data.nbRounds,
rated = data.rated | old.settings.rated,
rated = position.isEmpty && (data.rated | old.settings.rated),
description = data.description orElse old.settings.description,
position =
if (old.isCreated || old.settings.position.isDefined) data.realPosition
else old.settings.position,
position = position,
chatFor = data.chatFor | old.settings.chatFor,
roundInterval =
if (data.roundInterval.isDefined) data.realRoundInterval