add publish tournament and increase size of char fields

clubs
Razmig Sarkissian 1 year ago
parent 78c41da1d0
commit b42a7293ef
  1. 33
      tournaments/migrations/0062_tournament_publish_tournament_and_more.py
  2. 6
      tournaments/models/player_registration.py
  3. 13
      tournaments/models/tournament.py
  4. 18
      tournaments/views.py

@ -0,0 +1,33 @@
# Generated by Django 4.2.11 on 2024-05-30 16:07
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('tournaments', '0061_remove_teamscore_player_registrations'),
]
operations = [
migrations.AddField(
model_name='tournament',
name='publish_tournament',
field=models.BooleanField(default=False),
),
migrations.AlterField(
model_name='playerregistration',
name='birthdate',
field=models.CharField(blank=True, max_length=50, null=True),
),
migrations.AlterField(
model_name='playerregistration',
name='club_name',
field=models.CharField(blank=True, max_length=200, null=True),
),
migrations.AlterField(
model_name='playerregistration',
name='ligue_name',
field=models.CharField(blank=True, max_length=200, null=True),
),
]

@ -19,15 +19,15 @@ class PlayerRegistration(models.Model):
#donnee publique #donnee publique
tournament_played = models.IntegerField(null=True, blank=True) tournament_played = models.IntegerField(null=True, blank=True)
points = models.FloatField(null=True, blank=True) points = models.FloatField(null=True, blank=True)
club_name = models.CharField(max_length=50, null=True, blank=True) club_name = models.CharField(max_length=200, null=True, blank=True)
ligue_name = models.CharField(max_length=50, 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) assimilation = models.CharField(max_length=50, null=True, blank=True)
#beachpadel #beachpadel
phone_number = models.CharField(max_length=15, null=True, blank=True) phone_number = models.CharField(max_length=15, null=True, blank=True)
email = models.CharField(max_length=50, null=True, blank=True) email = models.CharField(max_length=50, null=True, blank=True)
birthdate = models.CharField(max_length=20, null=True, blank=True) birthdate = models.CharField(max_length=50, null=True, blank=True)
computed_rank = models.IntegerField(default=0) computed_rank = models.IntegerField(default=0)

@ -55,6 +55,7 @@ class Tournament(models.Model):
publish_brackets = models.BooleanField(default=False) publish_brackets = models.BooleanField(default=False)
should_verify_bracket = models.BooleanField(default=False) should_verify_bracket = models.BooleanField(default=False)
should_verify_group_stage = models.BooleanField(default=False) should_verify_group_stage = models.BooleanField(default=False)
publish_tournament = models.BooleanField(default=False)
def __str__(self): def __str__(self):
if self.name: if self.name:
@ -450,6 +451,18 @@ class Tournament(models.Model):
return True return True
return False return False
def display_tournament(self):
if self.end_date is not None:
return True
if self.publish_tournament:
return True
if datetime.now().date() >= self.start_date.date():
return True
if (len(self.groupstage_set.all()) > 0 or len(self.round_set.all()) > 0) and len(self.teamregistration_set.all()) >= 4:
minimum_publish_date = self.creation_date + timedelta(days=1)
return timezone.now() >= minimum_publish_date
return False
def display_teams(self): def display_teams(self):
if self.end_date is not None: if self.end_date is not None:
return True return True

@ -52,21 +52,33 @@ def index(request):
q_ended.append(q_club) q_ended.append(q_club)
after_tomorrow_tournaments = Tournament.objects.filter(*q_after_tomorrow).order_by('start_date') after_tomorrow_tournaments = Tournament.objects.filter(*q_after_tomorrow).order_by('start_date')
filtered_after_tomorrow_tournaments = []
for tournament in after_tomorrow_tournaments:
if tournament.display_tournament():
filtered_after_tomorrow_tournaments.append(tournament)
unfinished_tournaments = Tournament.objects.filter(*q_unfinished).order_by('start_date') unfinished_tournaments = Tournament.objects.filter(*q_unfinished).order_by('start_date')
live_tournaments = [] live_tournaments = []
for tournament in unfinished_tournaments: for tournament in unfinished_tournaments:
if tournament.supposedly_in_progress(): if tournament.supposedly_in_progress() and tournament.display_tournament():
live_tournaments.append(tournament) live_tournaments.append(tournament)
ended_tournaments = Tournament.objects.filter(*q_ended).order_by('start_date') ended_tournaments = Tournament.objects.filter(*q_ended).order_by('start_date')
filtered_ended_tournaments = []
for tournament in ended_tournaments:
if tournament.display_tournament():
filtered_ended_tournaments.append(tournament)
return render( return render(
request, request,
"tournaments/tournaments.html", "tournaments/tournaments.html",
{ {
'future': after_tomorrow_tournaments, 'future': filtered_after_tomorrow_tournaments,
'live': live_tournaments, 'live': live_tournaments,
'ended': ended_tournaments, 'ended': filtered_ended_tournaments,
'club': club, 'club': club,
} }
) )

Loading…
Cancel
Save