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.
53 lines
2.2 KiB
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
|
|
|