From 5b7be3280ef691eb001638e163293bb7e277323a Mon Sep 17 00:00:00 2001
From: SofianeLasri <alasri250@gmail.com>
Date: Tue, 6 Jun 2023 22:18:13 +0200
Subject: [PATCH] =?UTF-8?q?Modification=20sur=20les=20mod=C3=A8les,=20ajou?=
 =?UTF-8?q?t=20du=20dossier=20uploads?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .gitignore                                    |  1 +
 WSR/admin.py                                  |  9 +++
 ...course_type_alter_course_image_and_more.py | 60 +++++++++++++++++++
 WSR/migrations/0003_resultat_score.py         | 20 +++++++
 WSR/models.py                                 | 24 +++++---
 WSR/templates/home.html                       |  2 +-
 WSR_website/settings.py                       |  3 +
 7 files changed, 111 insertions(+), 8 deletions(-)
 create mode 100644 WSR/migrations/0002_course_date_course_type_alter_course_image_and_more.py
 create mode 100644 WSR/migrations/0003_resultat_score.py

diff --git a/.gitignore b/.gitignore
index 3d112ad..318996b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -213,3 +213,4 @@ ENV/
 
 # End of https://www.gitignore.io/api/macos,linux,django,python,pycharm
 /static/
+/uploads/
diff --git a/WSR/admin.py b/WSR/admin.py
index 8c38f3f..88c7819 100644
--- a/WSR/admin.py
+++ b/WSR/admin.py
@@ -1,3 +1,12 @@
 from django.contrib import admin
 
+from WSR.models import *
+
 # Register your models here.
+admin.site.register(Article)
+admin.site.register(Course)
+admin.site.register(Resultat)
+admin.site.register(Vehicule)
+admin.site.register(Pilote)
+admin.site.register(Participation)
+admin.site.register(Saison)
\ No newline at end of file
diff --git a/WSR/migrations/0002_course_date_course_type_alter_course_image_and_more.py b/WSR/migrations/0002_course_date_course_type_alter_course_image_and_more.py
new file mode 100644
index 0000000..2cf9220
--- /dev/null
+++ b/WSR/migrations/0002_course_date_course_type_alter_course_image_and_more.py
@@ -0,0 +1,60 @@
+# Generated by Django 4.2.1 on 2023-06-06 19:52
+
+import datetime
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('WSR', '0001_initial'),
+    ]
+
+    operations = [
+        migrations.AddField(
+            model_name='course',
+            name='date',
+            field=models.DateField(default=datetime.date.today),
+        ),
+        migrations.AddField(
+            model_name='course',
+            name='type',
+            field=models.CharField(choices=[('invitation', 'Invitation'), ('championnat', 'Championnat'), ('course_simple', 'Course Simple')], default='course_simple', max_length=100),
+        ),
+        migrations.AlterField(
+            model_name='course',
+            name='image',
+            field=models.ImageField(upload_to='course_images', verbose_name="Image d'illustration"),
+        ),
+        migrations.AlterField(
+            model_name='pilote',
+            name='vehicule',
+            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='WSR.vehicule', verbose_name='Véhicule'),
+        ),
+        migrations.AlterField(
+            model_name='resultat',
+            name='position_arrivee',
+            field=models.PositiveIntegerField(verbose_name="Position à l'arrivée"),
+        ),
+        migrations.AlterField(
+            model_name='resultat',
+            name='position_depart',
+            field=models.PositiveIntegerField(verbose_name='Position de départ'),
+        ),
+        migrations.AlterField(
+            model_name='saison',
+            name='annee',
+            field=models.PositiveIntegerField(verbose_name='Année'),
+        ),
+        migrations.AlterField(
+            model_name='vehicule',
+            name='annee_fabrication',
+            field=models.PositiveIntegerField(verbose_name='Année de fabrication'),
+        ),
+        migrations.AlterField(
+            model_name='vehicule',
+            name='modele',
+            field=models.CharField(max_length=100, verbose_name='Modèle'),
+        ),
+    ]
diff --git a/WSR/migrations/0003_resultat_score.py b/WSR/migrations/0003_resultat_score.py
new file mode 100644
index 0000000..a2a1d54
--- /dev/null
+++ b/WSR/migrations/0003_resultat_score.py
@@ -0,0 +1,20 @@
+# Generated by Django 4.2.1 on 2023-06-06 20:05
+import random
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('WSR', '0002_course_date_course_type_alter_course_image_and_more'),
+    ]
+
+    operations = [
+        migrations.AddField(
+            model_name='resultat',
+            name='score',
+            field=models.IntegerField(default=random.randrange(500, 8000, 500)),
+            preserve_default=False,
+        ),
+    ]
diff --git a/WSR/models.py b/WSR/models.py
index 2c9133f..9675509 100644
--- a/WSR/models.py
+++ b/WSR/models.py
@@ -1,8 +1,10 @@
+import datetime
+
 from django.db import models
 
 class Saison(models.Model):
     nom = models.CharField(max_length=100)
-    annee = models.PositiveIntegerField()
+    annee = models.PositiveIntegerField(verbose_name="Année")
 
     def __str__(self):
         return self.nom
@@ -10,7 +12,7 @@ class Saison(models.Model):
 
 class Pilote(models.Model):
     nom = models.CharField(max_length=100)
-    vehicule = models.ForeignKey('Vehicule', on_delete=models.CASCADE)
+    vehicule = models.ForeignKey('Vehicule', on_delete=models.CASCADE, verbose_name="Véhicule")
 
     def __str__(self):
         return self.nom
@@ -18,18 +20,25 @@ class Pilote(models.Model):
 
 class Vehicule(models.Model):
     marque = models.CharField(max_length=100)
-    modele = models.CharField(max_length=100)
-    annee_fabrication = models.PositiveIntegerField()
+    modele = models.CharField(max_length=100, verbose_name="Modèle")
+    annee_fabrication = models.PositiveIntegerField(verbose_name="Année de fabrication")
 
     def __str__(self):
         return f"{self.marque} {self.modele}"
 
 
 class Course(models.Model):
+    class TypeCourse(models.TextChoices):
+        INVITATION = "invitation"
+        CHAMPIONNAT = "championnat"
+        COURSE_SIMPLE = "course_simple"
+
     nom = models.CharField(max_length=100)
     circuit = models.CharField(max_length=100)
     saison = models.ForeignKey(Saison, on_delete=models.CASCADE)
-    image = models.ImageField(upload_to='course_images')
+    image = models.ImageField(upload_to='course_images', verbose_name="Image d'illustration")
+    type = models.CharField(max_length=100, choices=TypeCourse.choices, default=TypeCourse.COURSE_SIMPLE)
+    date = models.DateField(default=datetime.date.today)
 
     def __str__(self):
         return self.nom
@@ -47,8 +56,9 @@ class Article(models.Model):
 class Resultat(models.Model):
     pilote = models.ForeignKey(Pilote, on_delete=models.CASCADE)
     course = models.ForeignKey(Course, on_delete=models.CASCADE)
-    position_arrivee = models.PositiveIntegerField()
-    position_depart = models.PositiveIntegerField()
+    position_arrivee = models.PositiveIntegerField(verbose_name="Position à l'arrivée")
+    position_depart = models.PositiveIntegerField(verbose_name="Position de départ")
+    score = models.IntegerField()
 
     def __str__(self):
         return f"{self.pilote} - {self.course}"
diff --git a/WSR/templates/home.html b/WSR/templates/home.html
index 27d48da..c40ea9f 100644
--- a/WSR/templates/home.html
+++ b/WSR/templates/home.html
@@ -5,7 +5,7 @@
 <html lang="fr">
 <head>
     <meta charset="UTF-8">
-    <title>Title</title>
+    <title>World Series Racing</title>
     {% compress css %}
         <link type="text/x-scss" href="{% static 'scss/app.scss' %}" rel="stylesheet" media="screen">
     {% endcompress %}
diff --git a/WSR_website/settings.py b/WSR_website/settings.py
index 316fa74..a1f92b2 100644
--- a/WSR_website/settings.py
+++ b/WSR_website/settings.py
@@ -134,3 +134,6 @@ STATIC_URL = 'static/'
 # https://docs.djangoproject.com/en/4.2/ref/settings/#default-auto-field
 
 DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
+
+MEDIA_ROOT = BASE_DIR/'uploads'
+MEDIA_URL = '/uploads/'
-- 
GitLab