diff --git a/site_eica/site_eica/settings.py b/site_eica/site_eica/settings.py index 9f91e6e..7b37674 100644 --- a/site_eica/site_eica/settings.py +++ b/site_eica/site_eica/settings.py @@ -106,7 +106,7 @@ AUTH_PASSWORD_VALIDATORS = [ LANGUAGE_CODE = 'fr-fr' -TIME_ZONE = 'EUROPE/Brussels' +TIME_ZONE = 'Europe/Brussels' USE_I18N = True diff --git a/site_eica/valves/admin.py b/site_eica/valves/admin.py index 0496ff5..773000b 100644 --- a/site_eica/valves/admin.py +++ b/site_eica/valves/admin.py @@ -5,14 +5,34 @@ from .models import Classe, Eleve, Message, Resultat class ResultatInline(admin.TabularInline): model = Resultat - extra = 1 + extra = 0 + classes = ["collapse"] + +class MessageInline(admin.TabularInline): + model = Message + extra = 0 + class EleveAdmin(admin.ModelAdmin): list_display = ['nom_eleve', 'prenom_eleve'] class ClasseAdmin(admin.ModelAdmin): + fieldsets = ( + (None, { + "fields": ( + [('nom_classe','annee_scolaire'),'code_acces'] + ), + }), + ('Élèves', { + "fields": ( + ['eleves'] + ), + "classes": ["collapse"], + }) + ) + filter_horizontal = ('eleves',) - inlines = [ResultatInline] + inlines = [ResultatInline, MessageInline] admin.site.register(Eleve, EleveAdmin) admin.site.register(Classe, ClasseAdmin) diff --git a/site_eica/valves/migrations/0002_auto_20211027_1021.py b/site_eica/valves/migrations/0002_auto_20211027_1021.py new file mode 100644 index 0000000..d47fccc --- /dev/null +++ b/site_eica/valves/migrations/0002_auto_20211027_1021.py @@ -0,0 +1,45 @@ +# Generated by Django 3.2.8 on 2021-10-27 08:21 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('valves', '0001_initial'), + ] + + operations = [ + migrations.RemoveField( + model_name='classe', + name='nom_annee', + ), + migrations.AddField( + model_name='classe', + name='nom_classe', + field=models.CharField(default='classe exemple', max_length=50, verbose_name='Nom de la classe'), + preserve_default=False, + ), + migrations.AddField( + model_name='message', + name='classe', + field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='valves.classe', verbose_name='classe'), + preserve_default=False, + ), + migrations.AlterField( + model_name='classe', + name='annee_scolaire', + field=models.CharField(max_length=10, verbose_name='Année scolaire'), + ), + migrations.AlterField( + model_name='eleve', + name='phone', + field=models.CharField(max_length=13, verbose_name='Numéro de GSM'), + ), + migrations.AlterField( + model_name='message', + name='contenu_message', + field=models.CharField(max_length=160, verbose_name='Contenu du message'), + ), + ] diff --git a/site_eica/valves/models.py b/site_eica/valves/models.py index 0c137aa..8148011 100644 --- a/site_eica/valves/models.py +++ b/site_eica/valves/models.py @@ -1,12 +1,11 @@ from django.db import models -from django.db.models.deletion import CASCADE # Create your models here. class Eleve(models.Model): nom_eleve = models.CharField("Nom de l'élève", max_length=50) prenom_eleve = models.CharField("Prénom de l'élève", max_length=100) - phone = models.IntegerField("Numéro de téléphone") + phone = models.CharField("Numéro de GSM", max_length=13) # ex de numéro de GSM = 0032475123432 def __str__(self) : return self.nom_eleve @@ -14,15 +13,15 @@ class Eleve(models.Model): class Classe(models.Model): eleves = models.ManyToManyField(Eleve) - nom_annee = models.CharField("Nom de l'année", max_length=50) - annee_scolaire = models.CharField("Année scolaire", max_length=100) + nom_classe = models.CharField("Nom de la classe", max_length=50) + annee_scolaire = models.CharField("Année scolaire", max_length=10) code_acces = models.CharField("Code d'accès", max_length=10) def __str__(self): - return self.nom_annee + return self.nom_classe class Resultat(models.Model): - res_classe = models.ForeignKey(Classe, on_delete=CASCADE) + res_classe = models.ForeignKey(Classe, on_delete=models.CASCADE) nom_resultat = models.CharField("Nom du résultat", max_length=100) fichier_resultat = models.FileField("Fichier") date_resultat = models.DateField() @@ -33,8 +32,10 @@ class Resultat(models.Model): class Message(models.Model): nom_message =models.CharField("Nom du message", max_length=100) - contenu_message = models.CharField("Contenu du message", max_length=200) + contenu_message = models.CharField("Contenu du message", max_length=160) # longueur d'un SMS classique envoye = models.BooleanField("Envoyé") + # un message appartient à une classe + classe = models.ForeignKey("valves.Classe", verbose_name="classe", on_delete=models.CASCADE) def __str__(self) : return self.nom_message \ No newline at end of file