|
|
|
|
@ -1420,17 +1420,20 @@ class Tournament(BaseModel): |
|
|
|
|
if birth_year is None: |
|
|
|
|
return reasons if reasons else None |
|
|
|
|
|
|
|
|
|
tournament_start_year = self.start_date.year |
|
|
|
|
if self.start_date.month >= 9: # Check if tournament start month is September or later |
|
|
|
|
tournament_start_year += 1 |
|
|
|
|
|
|
|
|
|
tournament_start_year = self.season_year() |
|
|
|
|
user_age = tournament_start_year - int(birth_year) |
|
|
|
|
# Check age category restrictions |
|
|
|
|
|
|
|
|
|
if self.federal_age_category == FederalAgeCategory.A09_10 and user_age > 10: |
|
|
|
|
reasons.append("Ce tournoi est réservé aux 10 ans et moins") |
|
|
|
|
if self.federal_age_category == FederalAgeCategory.A11_12 and user_age > 12: |
|
|
|
|
reasons.append("Ce tournoi est réservé aux 12 ans et moins") |
|
|
|
|
if self.federal_age_category == FederalAgeCategory.A13_14 and user_age > 14: |
|
|
|
|
reasons.append("Ce tournoi est réservé aux 14 ans et moins") |
|
|
|
|
if self.federal_age_category == FederalAgeCategory.A15_16 and user_age < 11: |
|
|
|
|
reasons.append("Ce tournoi est réservé aux 11 ans et plus") |
|
|
|
|
if self.federal_age_category == FederalAgeCategory.A17_18 and user_age < 11: |
|
|
|
|
reasons.append("Ce tournoi est réservé aux 11 ans et plus") |
|
|
|
|
if self.federal_age_category == FederalAgeCategory.A15_16 and user_age > 16: |
|
|
|
|
reasons.append("Ce tournoi est réservé aux 16 ans et moins") |
|
|
|
|
if self.federal_age_category == FederalAgeCategory.A17_18 and user_age > 18: |
|
|
|
|
@ -1445,7 +1448,7 @@ class Tournament(BaseModel): |
|
|
|
|
addon = 0 |
|
|
|
|
computedRank = int(data.get("rank", 0)) |
|
|
|
|
if is_woman and self.federal_category == FederalCategory.MEN: |
|
|
|
|
addon = FederalCategory.female_in_male_assimilation_addition(computedRank) |
|
|
|
|
addon = FederalCategory.female_in_male_assimilation_addition(computedRank, tournament_start_year) |
|
|
|
|
computedRank = computedRank + addon |
|
|
|
|
|
|
|
|
|
if computedRank <= self.min_player_rank(): |
|
|
|
|
@ -1455,7 +1458,14 @@ class Tournament(BaseModel): |
|
|
|
|
return reasons if reasons else None |
|
|
|
|
|
|
|
|
|
def min_player_rank(self): |
|
|
|
|
return FederalLevelCategory.min_player_rank(self.federal_level_category, self.federal_category, self.federal_age_category) |
|
|
|
|
return FederalLevelCategory.min_player_rank(self.federal_level_category, self.federal_category, self.federal_age_category, self.season_year()) |
|
|
|
|
|
|
|
|
|
def season_year(self): |
|
|
|
|
local_date = self.local_start_date() |
|
|
|
|
if local_date.month >= 9: # September or later |
|
|
|
|
return local_date.year + 1 |
|
|
|
|
else: |
|
|
|
|
return local_date.year |
|
|
|
|
|
|
|
|
|
def local_registration_federal_limit(self): |
|
|
|
|
timezone = self.timezone() |
|
|
|
|
|