adds end date to match

v2
Laurent 3 years ago
parent da50961b64
commit 0a7e6e7f90
  1. 18
      scores/migrations/0007_match_enddate.py
  2. 7
      scores/models.py
  3. 2
      scores/serializers.py
  4. 66
      scores/templates/scores/index.html
  5. 6
      scores/views.py

@ -0,0 +1,18 @@
# Generated by Django 4.1.1 on 2023-03-02 10:34
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('scores', '0006_club_footer_club_header'),
]
operations = [
migrations.AddField(
model_name='match',
name='enddate',
field=models.DateTimeField(null=True, verbose_name='end date'),
),
]

@ -12,6 +12,7 @@ class Club(models.Model):
class Match(models.Model):
club = models.ForeignKey(Club, on_delete=models.CASCADE)
date = models.DateTimeField('start date')
enddate = models.DateTimeField('end date', null=True)
court = models.IntegerField(default=0)
title = models.CharField(max_length=200, blank=True)
@ -34,7 +35,11 @@ class Match(models.Model):
def duration(self):
_seconds = (timezone.now() - self.date).total_seconds()
_seconds = 0
if self.enddate:
_seconds = (self.enddate - self.date).total_seconds()
else:
_seconds = (timezone.now() - self.date).total_seconds()
if _seconds > 0:
_hours = int(_seconds / 3600)

@ -16,6 +16,6 @@ class ClubSerializer(serializers.HyperlinkedModelSerializer):
class MatchSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = Match
fields = ['id', 'club', 'date', 'title', 'team1', 'team2', 'team3', 'team4',
fields = ['id', 'club', 'date', 'enddate', 'title', 'team1', 'team2', 'team3', 'team4',
'team1scorecolumn1', 'team1scorecolumn2', 'team1scorecolumn3', 'team1scorecolumn4', 'team1scorecolumn5',
'team2scorecolumn1', 'team2scorecolumn2', 'team2scorecolumn3', 'team2scorecolumn4', 'team2scorecolumn5']

@ -48,8 +48,8 @@ document.getElementById("demo").innerHTML = "Démarrage en cours...";
<main class="page-body">
<div class="container">
{% if matches %}
{% for match in matches %}
{% if live_matches %}
{% for match in live_matches %}
<div class="match">
<p><a href="/match/{{ match.id }}/">COURS #{{ match.court }}</a></p>
@ -109,6 +109,68 @@ document.getElementById("demo").innerHTML = "Démarrage en cours...";
{% else %}
<p class="center">Pas de matchs en cours...</p>
{% endif %}
{% if ended_matches %}
{% for match in ended_matches %}
<div class="match">
<h1>{{ match.title }}</h1>
{% if match.team3 %}
<table>
<tr><td>{{ match.team1 }}</td>
{% if match.team1scorecolumn1 %}<td class="score">{{ match.team1scorecolumn1 }}</td>{% endif %}
</tr>
<tr><td>{{ match.team2 }}</td>
{% if match.team1scorecolumn2 %}<td class="score">{{ match.team1scorecolumn2 }}</td>{% endif %}
</tr>
<tr><td>{{ match.team3 }}</td>
{% if match.team1scorecolumn3 %}<td class="score">{{ match.team1scorecolumn3 }}</td>{% endif %}
</tr>
<tr><td>{{ match.team4 }}</td>
{% if match.team1scorecolumn4 %}<td class="score">{{ match.team1scorecolumn4 }}</td>{% endif %}
</tr>
<tr><td>{{ match.team5 }}</td>
{% if match.team1scorecolumn5 %}<td class="score">{{ match.team1scorecolumn5 }}</td>{% endif %}
</tr>
</table>
{% else %}
<table>
<tr>
<td>{{ match.team1 }}</td>
{% if match.team1scorecolumn1 %}<td class="score">{{ match.team1scorecolumn1 }}</td>{% endif %}
{% if match.team1scorecolumn2 %}<td class="score">{{ match.team1scorecolumn2 }}</td>{% endif %}
{% if match.team1scorecolumn3 %}<td class="score">{{ match.team1scorecolumn3 }}</td>{% endif %}
{% if match.team1scorecolumn4 %}<td class="score">{{ match.team1scorecolumn4 }}</td>{% endif %}
{% if match.team1scorecolumn5 %}<td class="score">{{ match.team1scorecolumn5 }}</td>{% endif %}
</tr>
<tr>
<td>{{ match.team2 }}</td>
{% if match.team2scorecolumn1 %}<td class="score">{{ match.team2scorecolumn1 }}</td>{% endif %}
{% if match.team2scorecolumn2 %}<td class="score">{{ match.team2scorecolumn2 }}</td>{% endif %}
{% if match.team2scorecolumn3 %}<td class="score">{{ match.team2scorecolumn3 }}</td>{% endif %}
{% if match.team2scorecolumn4 %}<td class="score">{{ match.team2scorecolumn4 }}</td>{% endif %}
{% if match.team2scorecolumn5 %}<td class="score">{{ match.team2scorecolumn5 }}</td>{% endif %}
</tr>
</table>
{% endif %}
<!-- <p id="demo"></p> -->
<p class="big">{{ match.duration }}</p>
</div>
{% endfor %}
{% else %}
<p class="center">Pas de matchs en cours...</p>
{% endif %}
</div>
</main>

@ -9,11 +9,13 @@ from rest_framework import permissions
def index(request):
club = Club.objects.first()
matches = Match.objects.order_by('court')
live_matches = Match.objects.filter(enddate__isnull=True).order_by('court')
ended_matches = Match.objects.filter(enddate__isnull=False).order_by('court')
template = loader.get_template('scores/index.html')
context = {
'club': club,
'matches': matches,
'live_matches': live_matches,
'ended_matches': ended_matches,
}
return HttpResponse(template.render(context, request))

Loading…
Cancel
Save