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/player_registration.py

53 lines
2.2 KiB

from django.db import models
from . import SideStoreModel, TeamRegistration, PlayerSexType, PlayerDataSource, PlayerPaymentType
import uuid
class PlayerRegistration(SideStoreModel):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=True)
team_registration = models.ForeignKey(TeamRegistration, on_delete=models.CASCADE)
first_name = models.CharField(max_length=50, blank=True)
last_name = models.CharField(max_length=50, blank=True)
licence_id = models.CharField(max_length=20, null=True, blank=True)
rank = models.IntegerField(null=True, blank=True)
#has_paid = models.BooleanField(default=False)
#unranked = models.BooleanField(default=False)
payment_type = models.IntegerField(choices=PlayerPaymentType.choices, null=True, blank=True)
#registration_date = models.DateTimeField(null=True, blank=True)
sex = models.IntegerField(choices=PlayerSexType.choices, null=True, blank=True)
#donnee publique
tournament_played = models.IntegerField(null=True, blank=True)
points = models.FloatField(null=True, blank=True)
club_name = models.CharField(max_length=200, null=True, blank=True)
ligue_name = models.CharField(max_length=200, null=True, blank=True)
assimilation = models.CharField(max_length=50, null=True, blank=True)
#beachpadel
phone_number = models.CharField(max_length=15, null=True, blank=True)
email = models.CharField(max_length=50, null=True, blank=True)
birthdate = models.CharField(max_length=50, null=True, blank=True)
computed_rank = models.IntegerField(default=0)
source = models.IntegerField(choices=PlayerDataSource.choices, null=True, blank=True)
has_arrived = models.BooleanField(default=False)
def __str__(self):
return self.name()
def tournament_id(self):
return self.team_registration.tournament.id
def name(self):
return f"{self.first_name} {self.last_name}"
def shortened_name(self):
name = self.name()
if len(name) > 20 and self.first_name:
name = f"{self.first_name[0]}. {self.last_name}"
if len(name) > 20:
name_parts = self.last_name.split(" ")
name = f"{self.first_name[0]}. {name_parts[0]}"
return name