add animation type tournament and handle the option to hide the points earned

clubs
Razmig Sarkissian 1 year ago
parent cace57fad4
commit 14a1c6ba1f
  1. 33
      tournaments/migrations/0068_tournament_hide_points_earned_and_more.py
  2. 3
      tournaments/models/enums.py
  3. 13
      tournaments/models/tournament.py
  4. 6
      tournaments/templates/tournaments/group_stage_cell.html
  5. 2
      tournaments/templates/tournaments/match_cell.html
  6. 6
      tournaments/templates/tournaments/ranking_row.html
  7. 2
      tournaments/templates/tournaments/team_row.html

@ -0,0 +1,33 @@
# Generated by Django 4.2.11 on 2024-06-11 16:22
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('tournaments', '0067_alter_customuser_email'),
]
operations = [
migrations.AddField(
model_name='tournament',
name='hide_points_earned',
field=models.BooleanField(default=False),
),
migrations.AlterField(
model_name='tournament',
name='federal_age_category',
field=models.IntegerField(choices=[(0, 'Aucune'), (120, 'A11_12'), (140, 'A13_14'), (160, 'A15_16'), (180, 'A17_18'), (200, 'SENIOR'), (450, 'A45'), (550, 'A55')], default=200),
),
migrations.AlterField(
model_name='tournament',
name='federal_category',
field=models.IntegerField(choices=[(0, 'Homme'), (1, 'Femme'), (2, 'Mixte'), (3, 'Aucune')], default=0),
),
migrations.AlterField(
model_name='tournament',
name='federal_level_category',
field=models.IntegerField(choices=[(0, 'Animation'), (25, 'P25'), (100, 'P100'), (250, 'P250'), (500, 'P500'), (1000, 'P1000'), (1500, 'P1500'), (2000, 'P2000')], default=100),
),
]

@ -11,8 +11,10 @@ class FederalCategory(models.IntegerChoices):
MEN = 0, 'Homme'
WOMEN = 1, 'Femme'
MIXED = 2, 'Mixte'
UNLISTED = 3, ''
class FederalLevelCategory(models.IntegerChoices):
UNLISTED = 0, 'Animation'
P25 = 25, 'P25'
P100 = 100, 'P100'
P250 = 250, 'P250'
@ -22,6 +24,7 @@ class FederalLevelCategory(models.IntegerChoices):
P2000 = 2000, 'P2000'
class FederalAgeCategory(models.IntegerChoices):
UNLISTED = 0, ''
A11_12 = 120, 'A11_12'
A13_14 = 140, 'A13_14'
A15_16 = 160, 'A15_16'

@ -56,6 +56,7 @@ class Tournament(models.Model):
should_verify_bracket = models.BooleanField(default=False)
should_verify_group_stage = models.BooleanField(default=False)
publish_tournament = models.BooleanField(default=False)
hide_points_earned = models.BooleanField(default=False)
def __str__(self):
if self.name:
@ -130,7 +131,7 @@ class Tournament(models.Model):
teams = self.teams()
if self.supposedly_in_progress() or self.end_date is not None:
teams = [t for t in teams if t.stage is not "Attente"]
teams = [t for t in teams if t.stage != "Attente"]
if teams is not None and len(teams) > 0:
word = "équipe"
if len(teams) > 1:
@ -506,7 +507,7 @@ class Tournament(models.Model):
first_group_stage_start_date = self.group_stage_start_date()
if first_group_stage_start_date is None:
return False
return datetime.now().date() >= self.start_date.date()
group_stage_start_date = self.getEightAm(first_group_stage_start_date)
@ -536,7 +537,7 @@ class Tournament(models.Model):
first_match_start_date = self.first_match_start_date(bracket_matches)
if first_match_start_date is None:
return False
return datetime.now().date() >= self.start_date.date()
bracket_start_date = self.getEightAm(first_match_start_date)
if bracket_start_date < self.start_date:
@ -567,6 +568,12 @@ class Tournament(models.Model):
end = self.start_date + timedelta(days=self.day_duration)
return self.start_date.replace(hour=0, minute=0) <= timezone.now() <= end
def display_points_earned(self):
return self.federal_level_category != FederalLevelCategory.UNLISTED and self.hide_points_earned is False
def hide_weight(self):
return self.federal_level_category == FederalLevelCategory.UNLISTED
class MatchGroup:
def __init__(self, name, matches):
self.name = name

@ -22,7 +22,11 @@
</div>
<div class="flex-right">
{% if team.match_count == 0 %}
<div class="score ws">{{ team.weight }}</div>
{% if tournament.hide_weight %}
<div class="score ws"></div>
{% else %}
<div class="score ws">{{ team.weight }}</div>
{% endif %}
{% else %}
<div class="center">
<div class="score ws">{{ team.wins_losses }}</div>

@ -34,7 +34,7 @@
{% endif %}
</div>
{% else %}
{% elif not tournament.hide_weight %}
<span class="score ws">{{ team.weight }}</span>
{% endif %}
</div>

@ -9,5 +9,9 @@
{% endfor %}
</div>
<div class="table-cell right horizontal-padding">{{ ranking.points }}</div>
{% if tournament.display_points_earned %}
<div class="table-cell right horizontal-padding">{{ ranking.points }}</div>
{% else %}
<div class="table-cell right horizontal-padding"></div>
{% endif %}
</div>

@ -9,6 +9,8 @@
</div>
{% if tournament.hide_teams_weight %}
<div class="table-cell right horizontal-padding"></div>
{% elif tournament.hide_weight %}
<div class="table-cell right horizontal-padding"></div>
{% else %}
<div class="table-cell right horizontal-padding">{{ team.weight }}</div>
{% endif %}

Loading…
Cancel
Save