From bc06cf4903a8d698d3c56e805541fa0b70e1a220 Mon Sep 17 00:00:00 2001 From: Emmy D'Anello Date: Tue, 22 Apr 2025 22:58:12 +0200 Subject: [PATCH] Fix draw issues with translated strings --- draw/consumers.py | 40 ++++++++++++++++++------------------- draw/static/tfjm/js/draw.js | 5 +++-- 2 files changed, 23 insertions(+), 22 deletions(-) diff --git a/draw/consumers.py b/draw/consumers.py index 2a7deb8..2f62838 100644 --- a/draw/consumers.py +++ b/draw/consumers.py @@ -224,7 +224,7 @@ class DrawConsumer(AsyncJsonWebsocketConsumer): # Update user interface await self.channel_layer.group_send(f"tournament-{self.tournament.id}", - {'tid': self.tournament_id, 'type': 'draw.start', 'fmt': fmt, 'draw': draw}) + {'tid': self.tournament_id, 'type': 'draw.start', 'fmt': fmt}) await self.channel_layer.group_send(f"tournament-{self.tournament.id}", {'tid': self.tournament_id, 'type': 'draw.set_info', 'info': await self.tournament.draw.ainformation()}) @@ -235,7 +235,7 @@ class DrawConsumer(AsyncJsonWebsocketConsumer): await self.channel_layer.group_send(f"tournament-{self.tournament.id}", {'tid': self.tournament_id, 'type': 'draw.notify', 'title': 'Tirage au sort du TFJM²', - 'body': _("The draw of tournament {tournament} started!") + 'body': str(_("The draw of tournament {tournament} started!")) .format(tournament=self.tournament.name)}) async def draw_start(self, content) -> None: @@ -405,15 +405,15 @@ class DrawConsumer(AsyncJsonWebsocketConsumer): await self.channel_layer.group_send( f"team-{dup.participation.team.trigram}", {'tid': self.tournament_id, 'type': 'draw.notify', 'title': 'Tirage au sort du TFJM²', - 'body': _("Your dice score is identical to the one of one or multiple teams. " - "Please relaunch it.")} + 'body': str(_("Your dice score is identical to the one of one or multiple teams. " + "Please relaunch it."))} ) # Alert the tournament await self.channel_layer.group_send( f"tournament-{self.tournament.id}", {'tid': self.tournament_id, 'type': 'draw.alert', - 'message': _('Dices from teams {teams} are identical. Please relaunch your dices.').format( - teams=', '.join(td.participation.team.trigram for td in dups)), + 'message': str(_('Dices from teams {teams} are identical. Please relaunch your dices.').format( + teams=', '.join(td.participation.team.trigram for td in dups))), 'alert_type': 'warning'}) error = True @@ -537,7 +537,7 @@ class DrawConsumer(AsyncJsonWebsocketConsumer): async for next_round in self.tournament.draw.round_set.filter(number__gte=2).all(): await self.channel_layer.group_send(f"tournament-{self.tournament.id}", {'tid': self.tournament_id, 'type': 'draw.send_poules', - 'round': r.number, + 'round': next_round.number, 'poules': [ { 'letter': pool.get_letter_display(), @@ -612,8 +612,8 @@ class DrawConsumer(AsyncJsonWebsocketConsumer): # Notify the team that it can draw a problem await self.channel_layer.group_send(f"team-{tds[0].participation.team.trigram}", {'tid': self.tournament_id, 'type': 'draw.notify', - 'title': _("Your turn!"), - 'body': _("It's your turn to draw a problem!")}) + 'title': str(_("Your turn!")), + 'body': str(_("It's your turn to draw a problem!"))}) async def select_problem(self, **kwargs): """ @@ -752,8 +752,8 @@ class DrawConsumer(AsyncJsonWebsocketConsumer): # Notify the team that it can draw a problem await self.channel_layer.group_send(f"team-{new_trigram}", {'tid': self.tournament_id, 'type': 'draw.notify', - 'title': _("Your turn!"), - 'body': _("It's your turn to draw a problem!")}) + 'title': str(_("Your turn!")), + 'body': str(_("It's your turn to draw a problem!"))}) else: # Pool is ended await self.end_pool(pool) @@ -829,8 +829,8 @@ class DrawConsumer(AsyncJsonWebsocketConsumer): # Notify the team that it can draw a dice await self.channel_layer.group_send(f"team-{td.participation.team.trigram}", {'tid': self.tournament_id, 'type': 'draw.notify', - 'title': _("Your turn!"), - 'body': _("It's your turn to launch the dice!")}) + 'title': str(_("Your turn!")), + 'body': str(_("It's your turn to launch the dice!"))}) await self.channel_layer.group_send(f"tournament-{self.tournament.id}", {'tid': self.tournament_id, 'type': 'draw.dice_visibility', @@ -863,8 +863,8 @@ class DrawConsumer(AsyncJsonWebsocketConsumer): # Notify the team that it can draw a dice await self.channel_layer.group_send(f"team-{participation.team.trigram}", {'tid': self.tournament_id, 'type': 'draw.notify', - 'title': _("Your turn!"), - 'body': _("It's your turn to launch the dice!")}) + 'title': str(_("Your turn!")), + 'body': str(_("It's your turn to launch the dice!"))}) # Reorder dices await self.channel_layer.group_send(f"tournament-{self.tournament.id}", @@ -988,8 +988,8 @@ class DrawConsumer(AsyncJsonWebsocketConsumer): # Notify the team that it can draw a problem await self.channel_layer.group_send(f"team-{new_trigram}", {'tid': self.tournament_id, 'type': 'draw.notify', - 'title': _("Your turn!"), - 'body': _("It's your turn to draw a problem!")}) + 'title': str(_("Your turn!")), + 'body': str(_("It's your turn to draw a problem!"))}) @ensure_orga async def export(self, **kwargs): @@ -1039,7 +1039,7 @@ class DrawConsumer(AsyncJsonWebsocketConsumer): # Send notification to everyone await self.channel_layer.group_send(f"tournament-{self.tournament.id}", {'tid': self.tournament_id, 'type': 'draw.notify', - 'title': _("Draw") + " " + settings.APP_NAME, + 'title': str(_("Draw")) + " " + settings.APP_NAME, 'body': str(_("The draw of the second round is starting!"))}) if settings.TFJM_APP == "TFJM": @@ -1092,8 +1092,8 @@ class DrawConsumer(AsyncJsonWebsocketConsumer): # Notify the team that it can draw a problem await self.channel_layer.group_send(f"team-{td.participation.team.trigram}", {'tid': self.tournament_id, 'type': 'draw.notify', - 'title': _("Your turn!"), - 'body': _("It's your turn to draw a problem!")}) + 'title': str(_("Your turn!")), + 'body': str(_("It's your turn to draw a problem!"))}) else: async for td in r2.team_draws.prefetch_related('participation__team'): await self.channel_layer.group_send(f"team-{td.participation.team.trigram}", diff --git a/draw/static/tfjm/js/draw.js b/draw/static/tfjm/js/draw.js index c72cf31..4ddf10c 100644 --- a/draw/static/tfjm/js/draw.js +++ b/draw/static/tfjm/js/draw.js @@ -221,9 +221,10 @@ document.addEventListener('DOMContentLoaded', () => { elem.innerText = `${trigram} 🎲 ${result}` } - let nextTeam = document.querySelector(` div[id="dices-${tid}"] > div > div[class*="text-bg-warning"]`).getAttribute("data-team") - if (nextTeam) { + let nextTeamDiv = document.querySelector(` div[id="dices-${tid}"] > div > div[class*="text-bg-warning"]`) + if (nextTeamDiv) { // If there is one team that does not have launched its dice, then we update the debug section + let nextTeam = nextTeamDiv.getAttribute("data-team") let debugSpan = document.getElementById(`debug-dice-${tid}-team`) if (debugSpan) debugSpan.innerText = nextTeam