mirror of
https://gitlab.com/animath/si/plateforme.git
synced 2024-12-25 06:22:22 +00:00
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
|
||||
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)
|
||||
for td in tds:
|
||||
await self.channel_layer.group_send(
|
||||
@ -279,6 +287,9 @@ class DrawConsumer(AsyncJsonWebsocketConsumer):
|
||||
pool.current_team = tds[0]
|
||||
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}",
|
||||
{'type': 'draw.set_info', 'draw': self.tournament.draw})
|
||||
await self.channel_layer.group_send(f"tournament-{self.tournament.id}",
|
||||
|
17
draw/migrations/0005_draw_last_message.py
Normal file
17
draw/migrations/0005_draw_last_message.py
Normal file
@ -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'),
|
||||
)
|
||||
|
||||
last_message = models.TextField(
|
||||
blank=True,
|
||||
default="",
|
||||
verbose_name=_("last message"),
|
||||
)
|
||||
|
||||
def get_state(self):
|
||||
if self.current_round.current_pool is None:
|
||||
return 'DICE_SELECT_POULES'
|
||||
@ -40,6 +46,9 @@ class Draw(models.Model):
|
||||
@property
|
||||
def information(self):
|
||||
s = ""
|
||||
if self.last_message:
|
||||
s += self.last_message + "<br><br>"
|
||||
|
||||
match self.get_state():
|
||||
case 'DICE_SELECT_POULES':
|
||||
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
|
||||
pour déterminer l'ordre de tirage. L'équipe réalisant le plus gros score pourra
|
||||
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 += """Pour plus de détails sur le déroulement du tirage au sort,
|
||||
|
Loading…
Reference in New Issue
Block a user