Update database models and translations
Signed-off-by: Emmy D'Anello <emmy.danello@animath.fr>
This commit is contained in:
parent
9aa19ad3ca
commit
88823b5252
|
@ -0,0 +1,331 @@
|
|||
# Generated by Django 4.1.7 on 2023-03-22 15:27
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
initial = True
|
||||
|
||||
dependencies = [
|
||||
("participation", "0003_alter_team_trigram"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name="Draw",
|
||||
fields=[
|
||||
(
|
||||
"id",
|
||||
models.AutoField(
|
||||
auto_created=True,
|
||||
primary_key=True,
|
||||
serialize=False,
|
||||
verbose_name="ID",
|
||||
),
|
||||
),
|
||||
],
|
||||
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.CharField(
|
||||
choices=[("A", "A"), ("B", "B"), ("C", "C")],
|
||||
max_length=1,
|
||||
verbose_name="letter",
|
||||
),
|
||||
),
|
||||
],
|
||||
options={
|
||||
"verbose_name": "pool",
|
||||
"verbose_name_plural": "pools",
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name="TeamDraw",
|
||||
fields=[
|
||||
(
|
||||
"id",
|
||||
models.AutoField(
|
||||
auto_created=True,
|
||||
primary_key=True,
|
||||
serialize=False,
|
||||
verbose_name="ID",
|
||||
),
|
||||
),
|
||||
(
|
||||
"index",
|
||||
models.PositiveSmallIntegerField(
|
||||
choices=[(1, 1), (2, 2), (3, 3), (4, 4), (5, 5)],
|
||||
verbose_name="index",
|
||||
),
|
||||
),
|
||||
(
|
||||
"accepted",
|
||||
models.IntegerField(
|
||||
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",
|
||||
),
|
||||
),
|
||||
(
|
||||
"last_dice",
|
||||
models.IntegerField(
|
||||
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),
|
||||
],
|
||||
verbose_name="last dice",
|
||||
),
|
||||
),
|
||||
(
|
||||
"purposed",
|
||||
models.IntegerField(
|
||||
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(
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
to="draw.pool",
|
||||
verbose_name="pool",
|
||||
),
|
||||
),
|
||||
],
|
||||
options={
|
||||
"verbose_name": "team draw",
|
||||
"verbose_name_plural": "team draws",
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name="Round",
|
||||
fields=[
|
||||
(
|
||||
"id",
|
||||
models.AutoField(
|
||||
auto_created=True,
|
||||
primary_key=True,
|
||||
serialize=False,
|
||||
verbose_name="ID",
|
||||
),
|
||||
),
|
||||
(
|
||||
"number",
|
||||
models.IntegerField(
|
||||
choices=[(1, "Round 1"), (2, "Round 2")], verbose_name="number"
|
||||
),
|
||||
),
|
||||
(
|
||||
"current_pool",
|
||||
models.ForeignKey(
|
||||
default=None,
|
||||
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",
|
||||
},
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name="pool",
|
||||
name="current_team",
|
||||
field=models.ForeignKey(
|
||||
default=None,
|
||||
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,
|
||||
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(
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
to="participation.tournament",
|
||||
verbose_name="tournament",
|
||||
),
|
||||
),
|
||||
]
|
|
@ -15,6 +15,15 @@ class Draw(models.Model):
|
|||
verbose_name=_('tournament'),
|
||||
)
|
||||
|
||||
current_round = models.ForeignKey(
|
||||
'Round',
|
||||
on_delete=models.CASCADE,
|
||||
null=True,
|
||||
default=None,
|
||||
related_name='+',
|
||||
verbose_name=_('current round'),
|
||||
)
|
||||
|
||||
class Meta:
|
||||
verbose_name = _('draw')
|
||||
verbose_name_plural = _('draws')
|
||||
|
@ -35,6 +44,15 @@ class Round(models.Model):
|
|||
verbose_name=_('number'),
|
||||
)
|
||||
|
||||
current_pool = models.ForeignKey(
|
||||
'Pool',
|
||||
on_delete=models.CASCADE,
|
||||
null=True,
|
||||
default=None,
|
||||
related_name='+',
|
||||
verbose_name=_('current pool'),
|
||||
)
|
||||
|
||||
def __str__(self):
|
||||
return self.get_number_display()
|
||||
|
||||
|
@ -59,6 +77,15 @@ class Pool(models.Model):
|
|||
verbose_name=_('letter'),
|
||||
)
|
||||
|
||||
current_team = models.ForeignKey(
|
||||
'TeamDraw',
|
||||
on_delete=models.CASCADE,
|
||||
null=True,
|
||||
default=None,
|
||||
related_name='+',
|
||||
verbose_name=_('current team'),
|
||||
)
|
||||
|
||||
def __str__(self):
|
||||
return f"{self.letter}{self.round}"
|
||||
|
||||
|
@ -74,6 +101,17 @@ class TeamDraw(models.Model):
|
|||
verbose_name=_('participation'),
|
||||
)
|
||||
|
||||
pool = models.ForeignKey(
|
||||
Pool,
|
||||
on_delete=models.CASCADE,
|
||||
verbose_name=_('pool'),
|
||||
)
|
||||
|
||||
index = models.PositiveSmallIntegerField(
|
||||
choices=zip(range(1, 6), range(1, 6)),
|
||||
verbose_name=_('index'),
|
||||
)
|
||||
|
||||
accepted = models.IntegerField(
|
||||
choices=[
|
||||
(i, format_lazy(_("Problem #{problem}"), problem=i)) for i in range(1, settings.PROBLEM_COUNT + 1)
|
||||
|
@ -83,6 +121,11 @@ class TeamDraw(models.Model):
|
|||
verbose_name=_("accepted problem"),
|
||||
)
|
||||
|
||||
last_dice = models.IntegerField(
|
||||
choices=zip(range(1, 101), range(1, 101)),
|
||||
verbose_name=_("last dice"),
|
||||
)
|
||||
|
||||
purposed = models.IntegerField(
|
||||
choices=[
|
||||
(i, format_lazy(_("Problem #{problem}"), problem=i)) for i in range(1, settings.PROBLEM_COUNT + 1)
|
||||
|
@ -93,7 +136,7 @@ class TeamDraw(models.Model):
|
|||
)
|
||||
|
||||
rejected = models.JSONField(
|
||||
default=[],
|
||||
default=list,
|
||||
verbose_name=_('rejected problems'),
|
||||
)
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: TFJM\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-03-22 11:12+0100\n"
|
||||
"POT-Creation-Date: 2023-03-22 16:27+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: Emmy D'Anello <emmy.danello@animath.fr>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -21,6 +21,103 @@ msgstr ""
|
|||
msgid "API"
|
||||
msgstr "API"
|
||||
|
||||
#: draw/apps.py:10
|
||||
msgid "Draw"
|
||||
msgstr "Tirage au sort"
|
||||
|
||||
#: draw/models.py:15 participation/models.py:288 participation/models.py:312
|
||||
#: participation/models.py:344
|
||||
msgid "tournament"
|
||||
msgstr "tournoi"
|
||||
|
||||
#: draw/models.py:24
|
||||
msgid "current round"
|
||||
msgstr "tour actuel"
|
||||
|
||||
#: draw/models.py:28 draw/models.py:36
|
||||
msgid "draw"
|
||||
msgstr "tirage au sort"
|
||||
|
||||
#: draw/models.py:29
|
||||
msgid "draws"
|
||||
msgstr "tirages au sort"
|
||||
|
||||
#: draw/models.py:41
|
||||
msgid "Round 1"
|
||||
msgstr "Tour 1"
|
||||
|
||||
#: draw/models.py:42
|
||||
msgid "Round 2"
|
||||
msgstr "Tour 2"
|
||||
|
||||
#: draw/models.py:44
|
||||
msgid "number"
|
||||
msgstr "numéro"
|
||||
|
||||
#: draw/models.py:53
|
||||
msgid "current pool"
|
||||
msgstr "poule actuelle"
|
||||
|
||||
#: draw/models.py:60 participation/models.py:348
|
||||
msgid "round"
|
||||
msgstr "tour"
|
||||
|
||||
#: draw/models.py:61
|
||||
msgid "rounds"
|
||||
msgstr "tours"
|
||||
|
||||
#: draw/models.py:77
|
||||
msgid "letter"
|
||||
msgstr "lettre"
|
||||
|
||||
#: draw/models.py:86
|
||||
msgid "current team"
|
||||
msgstr "équipe actuelle"
|
||||
|
||||
#: draw/models.py:93 draw/models.py:107 participation/models.py:400
|
||||
#: participation/models.py:408
|
||||
msgid "pool"
|
||||
msgstr "poule"
|
||||
|
||||
#: draw/models.py:94 participation/models.py:401
|
||||
msgid "pools"
|
||||
msgstr "poules"
|
||||
|
||||
#: draw/models.py:101 participation/models.py:335 participation/models.py:532
|
||||
#: participation/models.py:562 participation/models.py:600
|
||||
msgid "participation"
|
||||
msgstr "participation"
|
||||
|
||||
#: draw/models.py:112
|
||||
msgid "index"
|
||||
msgstr "position"
|
||||
|
||||
#: draw/models.py:117 draw/models.py:131 participation/models.py:415
|
||||
#: participation/models.py:569
|
||||
#, python-brace-format
|
||||
msgid "Problem #{problem}"
|
||||
msgstr "Problème n°{problem}"
|
||||
|
||||
#: draw/models.py:121 draw/models.py:135
|
||||
msgid "accepted problem"
|
||||
msgstr "problème accepté"
|
||||
|
||||
#: draw/models.py:126
|
||||
msgid "last dice"
|
||||
msgstr "dernier dé"
|
||||
|
||||
#: draw/models.py:140
|
||||
msgid "rejected problems"
|
||||
msgstr "problèmes rejetés"
|
||||
|
||||
#: draw/models.py:144
|
||||
msgid "team draw"
|
||||
msgstr "tirage d'équipe"
|
||||
|
||||
#: draw/models.py:145
|
||||
msgid "team draws"
|
||||
msgstr "tirages d'équipe"
|
||||
|
||||
#: logs/apps.py:11
|
||||
msgid "Logs"
|
||||
msgstr "Logs"
|
||||
|
@ -272,11 +369,6 @@ msgstr "organisateur⋅rices"
|
|||
msgid "final"
|
||||
msgstr "finale"
|
||||
|
||||
#: participation/models.py:288 participation/models.py:312
|
||||
#: participation/models.py:344
|
||||
msgid "tournament"
|
||||
msgstr "tournoi"
|
||||
|
||||
#: participation/models.py:289
|
||||
msgid "tournaments"
|
||||
msgstr "tournois"
|
||||
|
@ -298,19 +390,10 @@ msgstr "L'équipe est sélectionnée pour la finale."
|
|||
msgid "Participation of the team {name} ({trigram})"
|
||||
msgstr "Participation de l'équipe {name} ({trigram})"
|
||||
|
||||
#: participation/models.py:335 participation/models.py:532
|
||||
#: participation/models.py:562 participation/models.py:600
|
||||
msgid "participation"
|
||||
msgstr "participation"
|
||||
|
||||
#: participation/models.py:336 participation/models.py:358
|
||||
msgid "participations"
|
||||
msgstr "participations"
|
||||
|
||||
#: participation/models.py:348
|
||||
msgid "round"
|
||||
msgstr "tour"
|
||||
|
||||
#: participation/models.py:350 participation/models.py:351
|
||||
#, python-brace-format
|
||||
msgid "Round {round}"
|
||||
|
@ -346,23 +429,10 @@ msgstr ""
|
|||
msgid "Pool of day {round} for tournament {tournament} with teams {teams}"
|
||||
msgstr "Poule du jour {round} du tournoi {tournament} avec les équipes {teams}"
|
||||
|
||||
#: participation/models.py:400 participation/models.py:408
|
||||
msgid "pool"
|
||||
msgstr "poule"
|
||||
|
||||
#: participation/models.py:401
|
||||
msgid "pools"
|
||||
msgstr "poules"
|
||||
|
||||
#: participation/models.py:413
|
||||
msgid "defended solution"
|
||||
msgstr "solution défendue"
|
||||
|
||||
#: participation/models.py:415 participation/models.py:569
|
||||
#, python-brace-format
|
||||
msgid "Problem #{problem}"
|
||||
msgstr "Problème n°{problem}"
|
||||
|
||||
#: participation/models.py:422 participation/tables.py:102
|
||||
msgid "defender"
|
||||
msgstr "défenseur"
|
||||
|
@ -1867,11 +1937,11 @@ msgstr "Autorisation parentale de {student}.{ext}"
|
|||
msgid "Scholarship attestation of {user}.{ext}"
|
||||
msgstr "Notification de bourse de {user}.{ext}"
|
||||
|
||||
#: tfjm/settings.py:159
|
||||
#: tfjm/settings.py:164
|
||||
msgid "English"
|
||||
msgstr "Anglais"
|
||||
|
||||
#: tfjm/settings.py:160
|
||||
#: tfjm/settings.py:165
|
||||
msgid "French"
|
||||
msgstr "Français"
|
||||
|
||||
|
|
Loading…
Reference in New Issue