Add messages for better understanding
Signed-off-by: Emmy D'Anello <emmy.danello@animath.fr>
This commit is contained in:
parent
dec9f9be11
commit
c9fcfcf498
|
@ -216,6 +216,14 @@ class DrawConsumer(AsyncJsonWebsocketConsumer):
|
||||||
self.tournament.draw.current_round.current_pool = pool
|
self.tournament.draw.current_round.current_pool = pool
|
||||||
await sync_to_async(self.tournament.draw.current_round.save)()
|
await sync_to_async(self.tournament.draw.current_round.save)()
|
||||||
|
|
||||||
|
msg = "Les résultats des dés sont les suivants : "
|
||||||
|
msg += await sync_to_async(lambda: ", ".join(
|
||||||
|
f"<strong>{td.participation.team.trigram}</strong> ({td.last_dice})"
|
||||||
|
for td in self.tournament.draw.current_round.team_draws))()
|
||||||
|
msg += ". L'ordre de passage et les compositions des différentes poules sont affiché⋅es sur le côté."
|
||||||
|
self.tournament.draw.last_message = msg
|
||||||
|
await sync_to_async(self.tournament.draw.save)()
|
||||||
|
|
||||||
await TeamDraw.objects.filter(round=self.tournament.draw.current_round).aupdate(last_dice=None)
|
await TeamDraw.objects.filter(round=self.tournament.draw.current_round).aupdate(last_dice=None)
|
||||||
for td in tds:
|
for td in tds:
|
||||||
await self.channel_layer.group_send(
|
await self.channel_layer.group_send(
|
||||||
|
@ -279,6 +287,9 @@ class DrawConsumer(AsyncJsonWebsocketConsumer):
|
||||||
pool.current_team = tds[0]
|
pool.current_team = tds[0]
|
||||||
await sync_to_async(pool.save)()
|
await sync_to_async(pool.save)()
|
||||||
|
|
||||||
|
self.tournament.draw.last_message = ""
|
||||||
|
await sync_to_async(self.tournament.draw.save)()
|
||||||
|
|
||||||
await self.channel_layer.group_send(f"tournament-{self.tournament.id}",
|
await self.channel_layer.group_send(f"tournament-{self.tournament.id}",
|
||||||
{'type': 'draw.set_info', 'draw': self.tournament.draw})
|
{'type': 'draw.set_info', 'draw': self.tournament.draw})
|
||||||
await self.channel_layer.group_send(f"tournament-{self.tournament.id}",
|
await self.channel_layer.group_send(f"tournament-{self.tournament.id}",
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
# Generated by Django 4.1.7 on 2023-03-24 10:46
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
dependencies = [
|
||||||
|
("draw", "0004_remove_teamdraw_index_teamdraw_choose_index_and_more"),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name="draw",
|
||||||
|
name="last_message",
|
||||||
|
field=models.TextField(blank=True, default="", verbose_name="last message"),
|
||||||
|
),
|
||||||
|
]
|
|
@ -25,6 +25,12 @@ class Draw(models.Model):
|
||||||
verbose_name=_('current round'),
|
verbose_name=_('current round'),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
last_message = models.TextField(
|
||||||
|
blank=True,
|
||||||
|
default="",
|
||||||
|
verbose_name=_("last message"),
|
||||||
|
)
|
||||||
|
|
||||||
def get_state(self):
|
def get_state(self):
|
||||||
if self.current_round.current_pool is None:
|
if self.current_round.current_pool is None:
|
||||||
return 'DICE_SELECT_POULES'
|
return 'DICE_SELECT_POULES'
|
||||||
|
@ -40,6 +46,9 @@ class Draw(models.Model):
|
||||||
@property
|
@property
|
||||||
def information(self):
|
def information(self):
|
||||||
s = ""
|
s = ""
|
||||||
|
if self.last_message:
|
||||||
|
s += self.last_message + "<br><br>"
|
||||||
|
|
||||||
match self.get_state():
|
match self.get_state():
|
||||||
case 'DICE_SELECT_POULES':
|
case 'DICE_SELECT_POULES':
|
||||||
if self.current_round.number == 1:
|
if self.current_round.number == 1:
|
||||||
|
@ -62,6 +71,23 @@ class Draw(models.Model):
|
||||||
Les capitaines peuvent lancer un dé 100 en cliquant sur le gros bouton
|
Les capitaines peuvent lancer un dé 100 en cliquant sur le gros bouton
|
||||||
pour déterminer l'ordre de tirage. L'équipe réalisant le plus gros score pourra
|
pour déterminer l'ordre de tirage. L'équipe réalisant le plus gros score pourra
|
||||||
tirer en premier."""
|
tirer en premier."""
|
||||||
|
case 'WAITING_DRAW_PROBLEM':
|
||||||
|
td = self.current_round.current_pool.current_team
|
||||||
|
s += f"""C'est au tour de l'équipe <strong>{td.participation.team.trigram}</strong>
|
||||||
|
de choisir son problème. Cliquez sur l'urne au milieu pour tirer un problème au sort."""
|
||||||
|
case 'WAITING_CHOOSE_PROBLEM':
|
||||||
|
td = self.current_round.current_pool.current_team
|
||||||
|
s += f"""L'équipe <strong>{td.participation.team.trigram}</strong> a tiré le problème
|
||||||
|
<strong>{td.purposed}</strong>. """
|
||||||
|
if td.purposed in td.rejected:
|
||||||
|
s += """Elle a déjà refusé ce problème auparavant, elle peut donc le refuser sans pénalité et
|
||||||
|
tirer un nouveau problème immédiatement, ou bien revenir sur son choix."""
|
||||||
|
else:
|
||||||
|
s += "Elle peut décider d'accepter ou de refuser ce problème. "
|
||||||
|
if len(td.rejected) >= settings.PROBLEM_COUNT - 5:
|
||||||
|
s += "Refuser ce problème ajoutera une nouvelle pénalité de 0.5 sur le coefficient de l'oral de læ défenseur•se."
|
||||||
|
else:
|
||||||
|
s += f"Il reste {settings.PROBLEM_COUNT - 5 - len(td.rejected)} refus sans pénalité."
|
||||||
|
|
||||||
s += "<br><br>" if s else ""
|
s += "<br><br>" if s else ""
|
||||||
s += """Pour plus de détails sur le déroulement du tirage au sort,
|
s += """Pour plus de détails sur le déroulement du tirage au sort,
|
||||||
|
|
Loading…
Reference in New Issue