You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
padelclub_backend/tournaments/models/enums.py

87 lines
3.3 KiB

from django.db import models
import uuid
class TournamentPayment(models.IntegerChoices):
FREE = 0, 'Gratuit'
UNIT = 1, 'Unité'
SUBSCRIPTION_UNIT = 2, 'Unité abonnement'
UNLIMITED = 3, 'Illimité'
class FederalCategory(models.IntegerChoices):
MEN = 0, 'Homme'
WOMEN = 1, 'Femme'
MIXED = 2, 'Mixte'
UNLISTED = 3, ''
@staticmethod
def female_in_male_assimilation_addition(rank: int) -> int:
if 1 <= rank <= 10:
return 400
elif 11 <= rank <= 30:
return 1000
elif 31 <= rank <= 60:
return 2000
elif 61 <= rank <= 100:
return 3500
elif 101 <= rank <= 200:
return 10000
elif 201 <= rank <= 500:
return 15000
elif 501 <= rank <= 1000:
return 25000
elif 1001 <= rank <= 2000:
return 35000
elif 2001 <= rank <= 3000:
return 45000
else:
return 50000
class FederalLevelCategory(models.IntegerChoices):
UNLISTED = 0, 'Animation'
P25 = 25, 'P25'
P100 = 100, 'P100'
P250 = 250, 'P250'
P500 = 500, 'P500'
P1000 = 1000, 'P1000'
P1500 = 1500, 'P1500'
P2000 = 2000, 'P2000'
class FederalAgeCategory(models.IntegerChoices):
UNLISTED = 0, ''
A11_12 = 120, 'U12'
A13_14 = 140, 'U14'
A15_16 = 160, 'U16'
A17_18 = 180, 'U18'
SENIOR = 200, 'Senior'
A45 = 450, '+45 ans'
A55 = 550, '+55 ans'
class FederalMatchCategory(models.IntegerChoices):
TWO_SETS = 0, 'Two sets'
TWO_SETS_SUPER_TIE = 1, 'Two sets super tie'
TWO_SETS_FOUR_GAME = 2, 'Two sets of four games'
NINE_GAMES = 3, 'Nine games'
SUPER_TIE = 4, 'Super Tie-Break'
MEGA_TIE = 5, 'Mega Tie-Break'
TWO_SETS_DECISIVE_POINT = 6, 'Two Sets with decisive point'
TWO_SETS_DECISIVE_POINT_SUPER_TIE = 7, 'Two Sets with decisive point and super tie-break'
TWO_SETS_FOUR_GAME_DECISIVE_POINT = 8, 'Two sets of four games with decisive point'
NINE_GAMES_DECISIVE_POINT = 9, 'Nine games with decisive point'
TWO_SETS_OF_SUPER_TIE = 10, 'Two sets of Super Tie-Break decisive point'
SINGLE_SET = 11, 'Single set'
SINGLE_SET_DECISIVE_POINT = 12, 'Single set with decisive point'
SINGLE_SET_OF_FOUR_GAMES = 13, 'Single set of four games'
SINGLE_SET_OF_FOUR_GAMES_DECISIVE_POINT = 14, 'Single set of four games with decisive point'
def last_set_is_tie_break(value):
if value == FederalMatchCategory.TWO_SETS_FOUR_GAME or value == FederalMatchCategory.TWO_SETS_FOUR_GAME_DECISIVE_POINT or value == FederalMatchCategory.TWO_SETS_SUPER_TIE or value == FederalMatchCategory.SUPER_TIE or value == FederalMatchCategory.MEGA_TIE or value == FederalMatchCategory.TWO_SETS_DECISIVE_POINT_SUPER_TIE:
return True
else:
return False
def max_number_of_sets(value):
if value == FederalMatchCategory.SUPER_TIE or value == FederalMatchCategory.MEGA_TIE or value == FederalMatchCategory.NINE_GAMES or value == FederalMatchCategory.NINE_GAMES_DECISIVE_POINT or value == FederalMatchCategory.SINGLE_SET or value == FederalMatchCategory.SINGLE_SET_DECISIVE_POINT or value == FederalMatchCategory.SINGLE_SET_OF_FOUR_GAMES or value == FederalMatchCategory.SINGLE_SET_OF_FOUR_GAMES_DECISIVE_POINT:
return 1
else:
return 3