body_parts.append(f"Votre inscription en liste d'attente du tournoi {tournament_details_str} est confirmée.")
body_parts.append(f"Votre inscription en liste d'attente {tournament_prefix_of}{tournament_word}{tournament_details_str} prévu le {tournament.formatted_start_date()} au club {tournament.event.club.name} est confirmée.")
else:
else:
body_parts.append(f"Votre inscription autournoi{tournament_details_str} est confirmée.")
body_parts.append(f"Votre inscription {tournament_prefix_at}{tournament_word}{tournament_details_str} prévu le {tournament.formatted_start_date()} au club {tournament.event.club.name} est confirmée.")
iftournament.team_sorting==TeamSortingType.RANK:
iftournament.team_sorting==TeamSortingType.RANK:
cloture_date=tournament.local_registration_federal_limit().strftime("%d/%m/%Y à %H:%M")
f"Votre inscription au tournoi {tournament_details_str}, prévu le {tournament.formatted_start_date()} au club {tournament.event.club.name} a été annulée"
f"Votre inscription {tournament_prefix_at}{tournament_word}{tournament_details_str}, prévu le {tournament.formatted_start_date()} au club {tournament.event.club.name} a été annulée"
f"Suite au désistement d'une paire, vous êtes maintenant inscrit au tournoi {tournament_details_str}, prévu le {tournament.formatted_start_date()} au club {tournament.event.club.name}"
f"Suite au désistement d'une paire, vous êtes maintenant inscrit {tournament_prefix_at}{tournament_word}{tournament_details_str}, prévu le {tournament.formatted_start_date()} au club {tournament.event.club.name}"
f"Vous n'avez toujours pas confirmé votre participation au tournoi {tournament_details_str}, prévu le {tournament.formatted_start_date()} au club {tournament.event.club.name}"
f"Vous n'avez toujours pas confirmé votre participation {tournament_prefix_at}{tournament_word}{tournament_details_str}, prévu le {tournament.formatted_start_date()} au club {tournament.event.club.name}"
f"Le tournoi {tournament_details_str}, prévu le {tournament.formatted_start_date()} au club {tournament.event.club.name} a été annulé par le juge-arbitre."
f"{tournament_prefix_that.capitalize()}{tournament_word}{tournament_details_str}, prévu le {tournament.formatted_start_date()} au club {tournament.event.club.name} a été annulé par le juge-arbitre."
]
]
ifother_playerisnotNone:
ifother_playerisnotNone:
@ -224,13 +252,18 @@ class TournamentEmailService:
f"Suite à une modification de la taille du tournoi, vous pouvez participer au tournoi {tournament_details_str}, prévu le {tournament.formatted_start_date()} au club {tournament.event.club.name}"
f"Suite à une modification de la taille {tournament_prefix_of}{tournament_word}, vous pouvez participer {tournament_prefix_at}{tournament_word}{tournament_details_str}, prévu le {tournament.formatted_start_date()} au club {tournament.event.club.name}"
f"Suite à une modification de la taille du tournoi, vous avez été placé en liste d'attente. Votre participation au tournoi {tournament_details_str}, prévu le {tournament.formatted_start_date()} au club {tournament.event.club.name} n'est plus confirmée."
f"Suite à une modification de la taille {tournament_prefix_of}{tournament_word}, vous avez été placé en liste d'attente. Votre participation {tournament_prefix_at}{tournament_word}{tournament_details_str}, prévu le {tournament.formatted_start_date()} au club {tournament.event.club.name} n'est plus confirmée."
f"Le juge-arbitre a annulé votre participation au tournoi {tournament_details_str}, prévu le {tournament.formatted_start_date()} au club {tournament.event.club.name}"
f"Le juge-arbitre a annulé votre participation {tournament_prefix_at}{tournament_word}{tournament_details_str}, prévu le {tournament.formatted_start_date()} au club {tournament.event.club.name}"
f"Le juge-arbitre vous a ré-intégré au tournoi {tournament_details_str}, prévu le {tournament.formatted_start_date()} au club {tournament.event.club.name}"
f"Le juge-arbitre vous a ré-intégré {tournament_prefix_at}{tournament_word}{tournament_details_str}, prévu le {tournament.formatted_start_date()} au club {tournament.event.club.name}"
f"En raison d'une décision du juge-arbitre, vous avez été placé en liste d'attente. Votre participation au tournoi {tournament_details_str}, prévu le {tournament.formatted_start_date()} au club {tournament.event.club.name} n'est plus confirmée."
f"En raison d'une décision du juge-arbitre, vous avez été placé en liste d'attente. Votre participation {tournament_prefix_at}{tournament_word}{tournament_details_str}, prévu le {tournament.formatted_start_date()} au club {tournament.event.club.name} n'est plus confirmée."
body_parts.append("Le temps accordé pour confirmer votre inscription s'est écoulé.")
body_parts.append("Le temps accordé pour confirmer votre inscription s'est écoulé.")
body_parts.append(f"Vous avez été replacé en liste d'attente du tournoi{tournament_details_str}, prévu le {tournament.formatted_start_date()} au club {tournament.event.club.name}")
body_parts.append(f"Vous avez été replacé en liste d'attente {tournament_prefix_of}{tournament_word}{tournament_details_str}, prévu le {tournament.formatted_start_date()} au club {tournament.event.club.name}")
else:
else:
body_parts.append(f"Le juge-arbitre vous a placé en liste d'attente du tournoi{tournament_details_str}, prévu le {tournament.formatted_start_date()} au club {tournament.event.club.name}")
body_parts.append(f"Le juge-arbitre vous a placé en liste d'attente {tournament_prefix_of}{tournament_word}{tournament_details_str}, prévu le {tournament.formatted_start_date()} au club {tournament.event.club.name}")
# Base message varies based on whether confirmation is needed
# Base message varies based on whether confirmation is needed
iftime_to_confirmisnotNone:
iftime_to_confirmisnotNone:
# Format the deadline time with proper timezone
# Format the deadline time with proper timezone
deadline_str=time_to_confirm.astimezone(tournament.timezone()).strftime("%d/%m/%Y à %H:%M (%Z)")
deadline_str=time_to_confirm.astimezone(tournament.timezone()).strftime("%d/%m/%Y à %H:%M (%Z)")
# Confirmation required message
# Confirmation required message
action_text=f"Pour confirmer votre participation autournoi, cliquez sur ce lien pour {url_info} ou contactez rapidement le juge-arbitre."
action_text=f"Pour confirmer votre participation {tournament_prefix_at}{tournament_word}, cliquez sur ce lien pour {url_info} ou contactez rapidement le juge-arbitre."
warning_text=f"⚠️ ATTENTION : Vous avez jusqu'au {deadline_str} pour confirmer votre participation. Passé ce délai, votre place sera automatiquement proposée à l'équipe suivante sur liste d'attente.\n\n"
warning_text=f"⚠️ ATTENTION : Vous avez jusqu'au {deadline_str} pour confirmer votre participation. Passé ce délai, votre place sera automatiquement proposée à l'équipe suivante sur liste d'attente.\n\n"
action_text=f"Pour confirmer votre participation autournoi, cliquez sur ce lien pour {url_info} ou contactez rapidement le juge-arbitre."
action_text=f"Pour confirmer votre participation {tournament_prefix_at}{tournament_word}, cliquez sur ce lien pour {url_info} ou contactez rapidement le juge-arbitre."
warning_text="⚠️ ATTENTION : Actuellement, il n'y a pas de liste d'attente pour cetournoi. Dès qu'une liste d'attente se formera, vous recevrez un email avec un délai précis pour confirmer votre participation.\n\n"
warning_text=f"⚠️ ATTENTION : Actuellement, il n'y a pas de liste d'attente pour {tournament_prefix_this}{tournament_word}. Dès qu'une liste d'attente se formera, vous recevrez un email avec un délai précis pour confirmer votre participation.\n\n"
else:
else:
# Standard message for teams already confirmed
# Standard message for teams already confirmed
action_text=f"Si vous n'êtes plus disponible pour participer à cetournoi, cliquez sur ce lien pour {url_info} ou contactez rapidement le juge-arbitre."
action_text=f"Si vous n'êtes plus disponible pour participer à {tournament_prefix_this}{tournament_word}, cliquez sur ce lien pour {url_info} ou contactez rapidement le juge-arbitre."
f"Votre paiement pour letournoi{tournament_details_str}, prévu le {tournament.formatted_start_date()} au club {tournament.event.club.name} a été reçu avec succès."
f"Votre paiement pour {tournament_prefix_that}{tournament_word}{tournament_details_str}, prévu le {tournament.formatted_start_date()} au club {tournament.event.club.name} a été reçu avec succès."
]
]
# Add information about the other player if available
# Add information about the other player if available
f"Votre remboursement pour letournoi{tournament_details_str}, prévu le {tournament.formatted_start_date()} au club {tournament.event.club.name} a été traité avec succès."
f"Votre remboursement pour {tournament_prefix_that}{tournament_word}{tournament_details_str}, prévu le {tournament.formatted_start_date()} au club {tournament.event.club.name} a été traité avec succès."
]
]
# Add information about the other player if available
# Add information about the other player if available
@ -18,10 +18,10 @@ class TournamentUnregistrationService:
messages.error(self.request,"Le désistement n'est plus possible pour ce tournoi. Si vous souhaitez vous désinscrire, veuillez contacter le juge-arbitre.")
messages.error(self.request,"Le désistement n'est plus possible pour ce tournoi. Si vous souhaitez vous désinscrire, veuillez contacter le juge-arbitre.")
returnFalse
returnFalse
ifnotself.request.user.licence_id:
# if not self.request.user.licence_id:
messages.error(self.request,
# messages.error(self.request,
"Vous ne pouvez pas vous désinscrire car vous n'avez pas de numéro de licence associé.")
# "Vous ne pouvez pas vous désinscrire car vous n'avez pas de numéro de licence associé.")
returnFalse
# return False
returnTrue
returnTrue
@ -80,12 +80,14 @@ class TournamentUnregistrationService: