diff --git a/tournaments/models/team_registration.py b/tournaments/models/team_registration.py index af2774a..a040e90 100644 --- a/tournaments/models/team_registration.py +++ b/tournaments/models/team_registration.py @@ -119,3 +119,9 @@ class TeamRegistration(models.Model): def out_of_tournament(self): return self.walk_out or self.unregistered + + def get_other_player(self, player): + for p in self.playerregistration_set.all(): + if p != player: + return p + return None diff --git a/tournaments/models/tournament.py b/tournaments/models/tournament.py index bb10fd8..d01cf87 100644 --- a/tournaments/models/tournament.py +++ b/tournaments/models/tournament.py @@ -927,6 +927,8 @@ class Tournament(models.Model): def online_register_is_enabled(self): if self.supposedly_in_progress(): return False + if self.closed_registration_date is not None: + return False if self.end_date is not None: return False @@ -961,6 +963,8 @@ class Tournament(models.Model): def get_online_registration_status(self): if self.supposedly_in_progress(): return OnlineRegistrationStatus.IN_PROGRESS + if self.closed_registration_date is not None: + return OnlineRegistrationStatus.ENDED if self.end_date is not None: return OnlineRegistrationStatus.ENDED_WITH_RESULTS @@ -997,6 +1001,45 @@ class Tournament(models.Model): return OnlineRegistrationStatus.OPEN + def is_unregistration_possible(self): + # Check if tournament has started + if self.supposedly_in_progress(): + return False + + if self.closed_registration_date is not None: + return False + + # Check if tournament is finished + if self.end_date is not None: + return False + + # Check if registration is closed + if self.registration_date_limit is not None: + if timezone.now() > self.registration_date_limit: + return False + + # Otherwise unregistration is allowed + return True + + def build_tournament_details_str(self): + tournament_details = [] + tournament_details.append(self.level()) + if self.category(): + tournament_details.append(self.category()) + if self.age(): + tournament_details.append(self.age()) + return " ".join(filter(None, tournament_details)) + + def build_name_details_str(self): + name_details = [] + if self.name: + name_details.append(self.name) + if self.event.name: + name_details.append(self.event.name) + name_str = " - ".join(filter(None, name_details)) + if name_str: + name_str = f" {name_str}" + return name_str class MatchGroup: def __init__(self, name, matches, formatted_schedule): diff --git a/tournaments/templates/register_tournament.html b/tournaments/templates/register_tournament.html index ff7cf89..6bd51f4 100644 --- a/tournaments/templates/register_tournament.html +++ b/tournaments/templates/register_tournament.html @@ -22,7 +22,7 @@ {% if registration_successful %}
Merci, l'inscription a bien été envoyé au juge-arbitre.
- +Un email de confirmation a été envoyé à {{ user.email }} pour confirmer votre inscription. Pensez à vérifier vos spams si vous ne recevez pas l'email. En cas de problème, contactez le juge-arbitre.
{% else %}