# Generated by Django 4.2 on 2023-04-04 17:54 import django.core.validators from django.db import migrations, models import django.db.models.deletion class Migration(migrations.Migration): initial = True dependencies = [ ("participation", "0005_alter_team_options"), ] operations = [ migrations.CreateModel( name="Draw", fields=[ ( "id", models.AutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( "last_message", models.TextField( blank=True, default="", help_text="The last message that is displayed on the drawing interface.", verbose_name="last message", ), ), ], options={ "verbose_name": "draw", "verbose_name_plural": "draws", }, ), migrations.CreateModel( name="Pool", fields=[ ( "id", models.AutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( "letter", models.PositiveSmallIntegerField( choices=[(1, "A"), (2, "B"), (3, "C"), (4, "D")], help_text="The letter of the pool: A, B, C or D.", verbose_name="letter", ), ), ( "size", models.PositiveSmallIntegerField( help_text="The number of teams in this pool, between 3 and 5.", validators=[ django.core.validators.MinValueValidator(3), django.core.validators.MaxValueValidator(5), ], verbose_name="size", ), ), ( "associated_pool", models.OneToOneField( default=None, help_text="The full pool instance.", null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="draw_pool", to="participation.pool", verbose_name="associated pool", ), ), ], options={ "verbose_name": "pool", "verbose_name_plural": "pools", "ordering": ( "round__draw__tournament__name", "round__number", "letter", ), }, ), migrations.CreateModel( name="Round", fields=[ ( "id", models.AutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( "number", models.PositiveSmallIntegerField( choices=[(1, "Round 1"), (2, "Round 2")], help_text="The number of the round, 1 or 2", validators=[ django.core.validators.MinValueValidator(1), django.core.validators.MaxValueValidator(2), ], verbose_name="number", ), ), ( "current_pool", models.ForeignKey( default=None, help_text="The current pool where teams select their problems.", null=True, on_delete=django.db.models.deletion.CASCADE, related_name="+", to="draw.pool", verbose_name="current pool", ), ), ( "draw", models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to="draw.draw", verbose_name="draw", ), ), ], options={ "verbose_name": "round", "verbose_name_plural": "rounds", "ordering": ("draw__tournament__name", "number"), }, ), migrations.CreateModel( name="TeamDraw", fields=[ ( "id", models.AutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( "passage_index", models.PositiveSmallIntegerField( choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4)], default=None, help_text="The passage order in the pool, between 0 and the size of the pool minus 1.", null=True, validators=[ django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(4), ], verbose_name="passage index", ), ), ( "choose_index", models.PositiveSmallIntegerField( choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4)], default=None, help_text="The choice order in the pool, between 0 and the size of the pool minus 1.", null=True, validators=[ django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(4), ], verbose_name="choose index", ), ), ( "accepted", models.PositiveSmallIntegerField( choices=[ (1, "Problem #1"), (2, "Problem #2"), (3, "Problem #3"), (4, "Problem #4"), (5, "Problem #5"), (6, "Problem #6"), (7, "Problem #7"), (8, "Problem #8"), ], default=None, null=True, verbose_name="accepted problem", ), ), ( "passage_dice", models.PositiveSmallIntegerField( choices=[ (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99), (100, 100), ], default=None, null=True, verbose_name="passage dice", ), ), ( "choice_dice", models.PositiveSmallIntegerField( choices=[ (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99), (100, 100), ], default=None, null=True, verbose_name="choice dice", ), ), ( "purposed", models.PositiveSmallIntegerField( choices=[ (1, "Problem #1"), (2, "Problem #2"), (3, "Problem #3"), (4, "Problem #4"), (5, "Problem #5"), (6, "Problem #6"), (7, "Problem #7"), (8, "Problem #8"), ], default=None, null=True, verbose_name="accepted problem", ), ), ( "rejected", models.JSONField(default=list, verbose_name="rejected problems"), ), ( "participation", models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to="participation.participation", verbose_name="participation", ), ), ( "pool", models.ForeignKey( default=None, null=True, on_delete=django.db.models.deletion.CASCADE, to="draw.pool", verbose_name="pool", ), ), ( "round", models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to="draw.round", verbose_name="round", ), ), ], options={ "verbose_name": "team draw", "verbose_name_plural": "team draws", "ordering": ( "round__draw__tournament__name", "round__number", "pool__letter", "passage_index", ), }, ), migrations.AddField( model_name="pool", name="current_team", field=models.ForeignKey( default=None, help_text="The current team that is selecting its problem.", null=True, on_delete=django.db.models.deletion.CASCADE, related_name="+", to="draw.teamdraw", verbose_name="current team", ), ), migrations.AddField( model_name="pool", name="round", field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to="draw.round" ), ), migrations.AddField( model_name="draw", name="current_round", field=models.ForeignKey( default=None, help_text="The current round where teams select their problems.", null=True, on_delete=django.db.models.deletion.CASCADE, related_name="+", to="draw.round", verbose_name="current round", ), ), migrations.AddField( model_name="draw", name="tournament", field=models.OneToOneField( help_text="The associated tournament.", on_delete=django.db.models.deletion.CASCADE, to="participation.tournament", verbose_name="tournament", ), ), ]