parent
b33876b1db
commit
7f929bfacc
@ -0,0 +1,38 @@ |
||||
# Generated by Django 4.2.11 on 2024-12-16 08:57 |
||||
|
||||
from django.db import migrations, models |
||||
import django.db.models.deletion |
||||
import uuid |
||||
|
||||
|
||||
class Migration(migrations.Migration): |
||||
|
||||
dependencies = [ |
||||
('tournaments', '0100_playerregistration_coach_and_more'), |
||||
] |
||||
|
||||
operations = [ |
||||
migrations.CreateModel( |
||||
name='UnregisteredTeam', |
||||
fields=[ |
||||
('id', models.UUIDField(default=uuid.uuid4, primary_key=True, serialize=False)), |
||||
('unregistration_date', models.DateTimeField(blank=True, null=True)), |
||||
('comment', models.CharField(blank=True, max_length=200, null=True)), |
||||
('source', models.CharField(blank=True, max_length=20, null=True)), |
||||
('source_value', models.CharField(blank=True, max_length=200, null=True)), |
||||
('reason', models.IntegerField(blank=True, null=True)), |
||||
('tournament', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='tournaments.tournament')), |
||||
], |
||||
), |
||||
migrations.CreateModel( |
||||
name='UnregisteredPlayer', |
||||
fields=[ |
||||
('id', models.UUIDField(default=uuid.uuid4, primary_key=True, serialize=False)), |
||||
('first_name', models.CharField(blank=True, max_length=50)), |
||||
('last_name', models.CharField(blank=True, max_length=50)), |
||||
('licence_id', models.CharField(blank=True, max_length=50, null=True)), |
||||
('reason', models.IntegerField(blank=True, null=True)), |
||||
('unregistered_team', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='tournaments.unregisteredteam')), |
||||
], |
||||
), |
||||
] |
||||
@ -0,0 +1,21 @@ |
||||
# Generated by Django 4.2.11 on 2024-12-16 13:10 |
||||
|
||||
from django.db import migrations |
||||
|
||||
|
||||
class Migration(migrations.Migration): |
||||
|
||||
dependencies = [ |
||||
('tournaments', '0101_unregisteredteam_unregisteredplayer'), |
||||
] |
||||
|
||||
operations = [ |
||||
migrations.RemoveField( |
||||
model_name='teamregistration', |
||||
name='unregistered', |
||||
), |
||||
migrations.RemoveField( |
||||
model_name='teamregistration', |
||||
name='unregistration_date', |
||||
), |
||||
] |
||||
@ -0,0 +1,25 @@ |
||||
from django.db import models |
||||
from . import UnregisteredTeam |
||||
import uuid |
||||
|
||||
class UnregisteredPlayer(models.Model): |
||||
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=True) |
||||
unregistered_team = models.ForeignKey(UnregisteredTeam, 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=50, null=True, blank=True) |
||||
|
||||
def __str__(self): |
||||
return self.name() |
||||
|
||||
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 |
||||
@ -0,0 +1,40 @@ |
||||
from django.db import models |
||||
from django.db.models.sql.query import Q |
||||
from . import Tournament |
||||
import uuid |
||||
from django.utils import timezone |
||||
|
||||
class UnregisteredTeam(models.Model): |
||||
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=True) |
||||
tournament = models.ForeignKey(Tournament, on_delete=models.CASCADE) |
||||
unregistration_date = models.DateTimeField(null=True, blank=True) |
||||
|
||||
def __str__(self): |
||||
return self.player_names() |
||||
|
||||
def player_names_as_list(self): |
||||
return [pr.name() for pr in self.unregisteredplayer_set.all()] |
||||
|
||||
|
||||
def team_names(self): |
||||
return self.player_names_as_list() |
||||
|
||||
def shortened_team_names(self): |
||||
players = list(self.unregisteredplayer_set.all()) |
||||
if len(players) == 1: |
||||
return [players[0].shortened_name(), ''] |
||||
else: |
||||
return [pr.shortened_name() for pr in players] |
||||
|
||||
@property |
||||
def players(self): |
||||
# Fetch related PlayerRegistration objects |
||||
return self.unregisteredplayer_set.all().order_by('last_name') |
||||
|
||||
def player_names(self): |
||||
names = self.player_names_as_list() |
||||
str = " - ".join(names) |
||||
if len(str) > 0: |
||||
return str |
||||
else: |
||||
return "no players" |
||||
Loading…
Reference in new issue