Skip to content
Snippets Groups Projects
Commit 6112396f authored by Sofiane Lasri's avatar Sofiane Lasri
Browse files

Modification des modèles et de la vue.

parent 2ce3e8e8
Branches
No related tags found
No related merge requests found
# 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),
),
]
# 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),
),
]
# 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),
),
]
...@@ -29,7 +29,6 @@ class Vehicle(models.Model): ...@@ -29,7 +29,6 @@ class Vehicle(models.Model):
class Race(models.Model): class Race(models.Model):
class RaceType(models.TextChoices): class RaceType(models.TextChoices):
INVITATION = "invitation"
CHAMPIONSHIP = "championship" CHAMPIONSHIP = "championship"
SINGLE_RACE = "single_race" SINGLE_RACE = "single_race"
FACE_TO_FACE = "face_to_face" FACE_TO_FACE = "face_to_face"
...@@ -37,13 +36,24 @@ class Race(models.Model): ...@@ -37,13 +36,24 @@ class Race(models.Model):
AGAINST_TIME = "against_time" AGAINST_TIME = "against_time"
ELIMINATION = "elimination" ELIMINATION = "elimination"
ENDURANCE = "endurance" 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) circuit = models.CharField(max_length=100)
finishing_position = models.PositiveIntegerField(verbose_name="Finishing Position") finishing_position = models.PositiveIntegerField(verbose_name="Finishing Position")
season = models.ForeignKey(Season, on_delete=models.CASCADE) season = models.ForeignKey(Season, on_delete=models.CASCADE)
image = models.ImageField(upload_to='race_images', verbose_name="Illustration Image") image = models.ImageField(upload_to='race_images', verbose_name="Illustration Image")
type = models.CharField(max_length=100, choices=RaceType.choices, default=RaceType.SINGLE_RACE) 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) date = models.DateField(default=datetime.date.today)
def __str__(self): def __str__(self):
......
...@@ -26,9 +26,15 @@ ...@@ -26,9 +26,15 @@
<div class="container vitrine"> <div class="container vitrine">
<div class="main-frame eurostile"> <div class="main-frame eurostile">
<div> <div>
{% if race.participation_type == 'invitation' %}
<div class="mid">{{ last_race_details.season_name }}</div> <div class="mid">{{ last_race_details.season_name }}</div>
<div class="large">{{ last_race_details.race.circuit }}</div> <div class="large">{{ last_race_details.race.type_string }} {{ last_race_details.race.name }}</div>
<div class="mid">{{ 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>
<div class="detail"> <div class="detail">
{% for stat in last_race_details.results %} {% for stat in last_race_details.results %}
...@@ -54,29 +60,18 @@ ...@@ -54,29 +60,18 @@
<div class="pos second">{{ race.pos_string }}</div> <div class="pos second">{{ race.pos_string }}</div>
{% endif %} {% endif %}
</div> </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> <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 %} {% 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 %} {% endif %}
<div class="event-desc"> <div class="event-desc">
<div class="eurostile w-75">{{ race.name }}</div> {% if race.participation_type == 'invitation' %}
{% if race.type == 'championship' %} <div class="eurostile w-75">{{ race.type_string }}<br>{{ race.name }}</div>
<div class="event-meta-info">3 manches</div> <div class="event-meta-info">{{ race.location }}, {{ race.circuit }}</div>
{% else %} {% else %}
<div class="eurostile w-75">{{ race.type_string }}<br>{{ race.location }}</div>
<div class="event-meta-info">{{ race.circuit }}</div> <div class="event-meta-info">{{ race.circuit }}</div>
{% endif %} {% endif %}
</div> </div>
......
...@@ -27,7 +27,28 @@ def home(request): ...@@ -27,7 +27,28 @@ def home(request):
for race in three_last_races[1:3]: for race in three_last_races[1:3]:
pos_string = "1er" if race.finishing_position == 1 else str(race.finishing_position) + "ème" 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.pos_string = pos_string
race.type_string = type_string
second_frame_races.append(race) second_frame_races.append(race)
six_last_articles = Article.objects.order_by('-publication_date')[:6] six_last_articles = Article.objects.order_by('-publication_date')[:6]
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment