diff --git a/WSR/migrations/0006_alter_race_type.py b/WSR/migrations/0006_alter_race_type.py new file mode 100644 index 0000000000000000000000000000000000000000..98fbb1ad6355fc8e6a19804178c778ce27070302 --- /dev/null +++ b/WSR/migrations/0006_alter_race_type.py @@ -0,0 +1,18 @@ +# Generated by Django 4.2.2 on 2023-06-12 08:26 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('WSR', '0005_alter_race_type'), + ] + + operations = [ + migrations.AlterField( + model_name='race', + name='type', + field=models.CharField(choices=[('invitation', 'Invitation'), ('championship', 'Championship'), ('single_race', 'Single Race'), ('face_to_face', 'Face To Face'), ('overtaking', 'Overtaking'), ('against_time', 'Against Time'), ('elimination', 'Elimination'), ('endurance', 'Endurance'), ('touge', 'Touge')], default='single_race', max_length=100), + ), + ] diff --git a/WSR/migrations/0007_rename_name_race_location_race_participation_type_and_more.py b/WSR/migrations/0007_rename_name_race_location_race_participation_type_and_more.py new file mode 100644 index 0000000000000000000000000000000000000000..d7e78c906c1d3ff2aea9b9e265ed11c32aa930f9 --- /dev/null +++ b/WSR/migrations/0007_rename_name_race_location_race_participation_type_and_more.py @@ -0,0 +1,28 @@ +# Generated by Django 4.2.2 on 2023-06-12 08:35 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('WSR', '0006_alter_race_type'), + ] + + operations = [ + migrations.RenameField( + model_name='race', + old_name='name', + new_name='location', + ), + migrations.AddField( + model_name='race', + name='participation_type', + field=models.CharField(choices=[('invitation', 'Invitation'), ('participation', 'Participation')], default='participation', max_length=100), + ), + migrations.AlterField( + model_name='race', + name='type', + field=models.CharField(choices=[('championship', 'Championship'), ('single_race', 'Single Race'), ('face_to_face', 'Face To Face'), ('overtaking', 'Overtaking'), ('against_time', 'Against Time'), ('elimination', 'Elimination'), ('endurance', 'Endurance'), ('touge', 'Touge')], default='single_race', max_length=100), + ), + ] diff --git a/WSR/migrations/0008_race_name.py b/WSR/migrations/0008_race_name.py new file mode 100644 index 0000000000000000000000000000000000000000..051a4ea4cedeb87e3b5291ac9fb61e0cdf561380 --- /dev/null +++ b/WSR/migrations/0008_race_name.py @@ -0,0 +1,18 @@ +# Generated by Django 4.2.2 on 2023-06-12 08:42 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('WSR', '0007_rename_name_race_location_race_participation_type_and_more'), + ] + + operations = [ + migrations.AddField( + model_name='race', + name='name', + field=models.CharField(blank=True, default=None, max_length=100, null=True), + ), + ] diff --git a/WSR/models.py b/WSR/models.py index d088d9d9d3df91d0ea546eca9cdb9d7ac8fd895e..29fc383dd37f93830b2e97c97889d2301fc6774e 100644 --- a/WSR/models.py +++ b/WSR/models.py @@ -29,7 +29,6 @@ class Vehicle(models.Model): class Race(models.Model): class RaceType(models.TextChoices): - INVITATION = "invitation" CHAMPIONSHIP = "championship" SINGLE_RACE = "single_race" FACE_TO_FACE = "face_to_face" @@ -37,13 +36,24 @@ class Race(models.Model): AGAINST_TIME = "against_time" ELIMINATION = "elimination" ENDURANCE = "endurance" + TOUGE = "touge" - name = models.CharField(max_length=100) + class RaceParticipationType(models.TextChoices): + INVITATION = "invitation" + PARTICIPATION = "participation" + + location = models.CharField(max_length=100) circuit = models.CharField(max_length=100) finishing_position = models.PositiveIntegerField(verbose_name="Finishing Position") season = models.ForeignKey(Season, on_delete=models.CASCADE) image = models.ImageField(upload_to='race_images', verbose_name="Illustration Image") type = models.CharField(max_length=100, choices=RaceType.choices, default=RaceType.SINGLE_RACE) + participation_type = models.CharField( + max_length=100, + choices=RaceParticipationType.choices, + default=RaceParticipationType.PARTICIPATION + ) + name = models.CharField(max_length=100, default=None, blank=True, null=True) date = models.DateField(default=datetime.date.today) def __str__(self): diff --git a/WSR/templates/home.html b/WSR/templates/home.html index 05c75dcba21a9c0fb1cbe0d2cc07179acbd84070..606086ce1ceeb18d214c8cc2a2810c48b21f617f 100644 --- a/WSR/templates/home.html +++ b/WSR/templates/home.html @@ -26,9 +26,15 @@ <div class="container vitrine"> <div class="main-frame eurostile"> <div> - <div class="mid">{{ last_race_details.season_name }}</div> - <div class="large">{{ last_race_details.race.circuit }}</div> - <div class="mid">{{ last_race_details.race.name }}</div> + {% if race.participation_type == 'invitation' %} + <div class="mid">{{ last_race_details.season_name }}</div> + <div class="large">{{ last_race_details.race.type_string }} {{ last_race_details.race.name }}</div> + <div class="mid">{{ last_race_details.race.location }}, {{ last_race_details.race.circuit }}</div> + {% else %} + <div class="mid">{{ last_race_details.season_name }}</div> + <div class="large">{{ last_race_details.race.location }}</div> + <div class="mid">{{ last_race_details.race.circuit }}</div> + {% endif %} </div> <div class="detail"> {% for stat in last_race_details.results %} @@ -54,29 +60,18 @@ <div class="pos second">{{ race.pos_string }}</div> {% endif %} </div> - {% if race.type == 'invitation' %} + {% if race.participation_type == 'invitation' %} <div class="event-type"><i class="fa-solid fa-envelope"></i> Invitation évènement</div> - {% elif race.type == 'championship' %} - <div class="event-type"><i class="fa-solid fa-flag-checkered"></i> Championnat</div> - {% elif race.type == 'face_to_face' %} - <div class="event-type"><i class="fa-solid fa-user"></i> Face à face</div> - {% elif race.type == 'overtaking' %} - <div class="event-type"><i class="fa-solid fa-user"></i> Dépasssements</div> - {% elif race.type == 'against_time' %} - <div class="event-type"><i class="fa-solid fa-timer"></i> Course contre-la-montre</div> - {% elif race.type == 'elimination' %} - <div class="event-type"><i class="fa-solid fa-ranking-star"></i> Eliminations</div> - {% elif race.type == 'endurance' %} - <div class="event-type"><i class="fa-solid fa-timer"></i> Endurance</div> {% else %} - <div class="event-type"><i class="fa-solid fa-flag-checkered"></i> Course simple</div> + <div class="event-type"><i class="fa-solid fa-flag-checkered"></i> Participation</div> {% endif %} <div class="event-desc"> - <div class="eurostile w-75">{{ race.name }}</div> - {% if race.type == 'championship' %} - <div class="event-meta-info">3 manches</div> + {% if race.participation_type == 'invitation' %} + <div class="eurostile w-75">{{ race.type_string }}<br>{{ race.name }}</div> + <div class="event-meta-info">{{ race.location }}, {{ race.circuit }}</div> {% else %} + <div class="eurostile w-75">{{ race.type_string }}<br>{{ race.location }}</div> <div class="event-meta-info">{{ race.circuit }}</div> {% endif %} </div> diff --git a/WSR/views.py b/WSR/views.py index d4f072cfb0da6c3e52797c084ed3ab01ef72b710..da9edbe27607b0760295c653c9f8dcbc38692f72 100644 --- a/WSR/views.py +++ b/WSR/views.py @@ -27,7 +27,28 @@ def home(request): for race in three_last_races[1:3]: pos_string = "1er" if race.finishing_position == 1 else str(race.finishing_position) + "ème" + type_string = "" + + match race.type: + case 'championship': + type_string = "Championnat" + case 'single_race': + type_string = "Course simple" + case 'face_to_face': + type_string = "Face à face" + case 'overtaking': + type_string = "Dépassements" + case 'against_time': + type_string = "Contre-la-montre" + case 'elimination': + type_string = "Elimination" + case 'endurance': + type_string = "Endurance" + case 'touge': + type_string = "Touge" + race.pos_string = pos_string + race.type_string = type_string second_frame_races.append(race) six_last_articles = Article.objects.order_by('-publication_date')[:6]