diff --git a/Back-End/Subscriptions/models.py b/Back-End/Subscriptions/models.py index d43dbe5..e7b2f9d 100644 --- a/Back-End/Subscriptions/models.py +++ b/Back-End/Subscriptions/models.py @@ -161,6 +161,13 @@ class Student(models.Model): return self.birth_date.strftime('%d-%m-%Y') return None +class RegistrationFileGroup(models.Model): + name = models.CharField(max_length=255) + description = models.TextField(blank=True, null=True) + + def __str__(self): + return self.name + def registration_file_path(instance, filename): # Génère le chemin : registration_files/dossier_rf_{student_id}/filename return f'registration_files/dossier_rf_{instance.student_id}/{filename}' @@ -196,6 +203,11 @@ class RegistrationForm(models.Model): # Many-to-Many Relationship discounts = models.ManyToManyField(Discount, blank=True, related_name='register_forms') + fileGroup = models.ForeignKey(RegistrationFileGroup, + on_delete=models.CASCADE, + related_name='file_group', + null=True, + blank=True) def __str__(self): return "RF_" + self.student.last_name + "_" + self.student.first_name @@ -209,6 +221,7 @@ class RegistrationFileTemplate(models.Model): order = models.PositiveIntegerField(default=0) # Ajout du champ order date_added = models.DateTimeField(auto_now_add=True) is_required = models.BooleanField(default=False) + group = models.ForeignKey(RegistrationFileGroup, on_delete=models.CASCADE, related_name='file_templates') @property def formatted_date_added(self): diff --git a/Back-End/Subscriptions/serializers.py b/Back-End/Subscriptions/serializers.py index b11c482..461caa0 100644 --- a/Back-End/Subscriptions/serializers.py +++ b/Back-End/Subscriptions/serializers.py @@ -1,5 +1,5 @@ from rest_framework import serializers -from .models import RegistrationFileTemplate, RegistrationFile, RegistrationForm, Student, Guardian, Sibling, Language +from .models import RegistrationFileTemplate, RegistrationFile, RegistrationFileGroup, RegistrationForm, Student, Guardian, Sibling, Language from School.models import SchoolClass, Fee, Discount, FeeType from School.serializers import FeeSerializer, DiscountSerializer from Auth.models import Profile @@ -11,6 +11,11 @@ from django.utils import timezone import pytz from datetime import datetime +class RegistrationFileGroupSerializer(serializers.ModelSerializer): + class Meta: + model = RegistrationFileGroup + fields = '__all__' + class RegistrationFileSerializer(serializers.ModelSerializer): class Meta: model = RegistrationFile diff --git a/Back-End/Subscriptions/templates/pdfs/dossier_inscription.html b/Back-End/Subscriptions/templates/pdfs/dossier_inscription.html index 4170a06..cb01e82 100644 --- a/Back-End/Subscriptions/templates/pdfs/dossier_inscription.html +++ b/Back-End/Subscriptions/templates/pdfs/dossier_inscription.html @@ -3,95 +3,205 @@
{{ pdf_title }}
+| NOM : | +{{ student.last_name }} | +PRÉNOM : | +{{ student.first_name }} | +
| ADRESSE : | +{{ student.address }} | +||
| GENRE : | +{{ gender }} | +NÉ(E) LE : | +{{ student.birth_date }} | +
| À : | +{{ student.birth_place }} ({{ student.birth_postal_code }}) | +||
| NATIONALITÉ : | +{{ student.nationality }} | +NIVEAU : | +{{ level }} | +
| MÉDECIN TRAITANT : | +{{ student.attending_physician }} | +||
| NOM : | +{{ guardian.last_name }} | +PRÉNOM : | +{{ guardian.first_name }} | +
| ADRESSE : | +{{ guardian.address }} | +||
| NÉ(E) LE : | +{{ guardian.birth_date }} | +EMAIL : | +{{ guardian.email }} | +
| TÉLÉPHONE : | +{{ guardian.phone }} | +PROFESSION : | +{{ guardian.profession }} | +
| NOM : | +{{ sibling.last_name }} | +PRÉNOM : | +{{ sibling.first_name }} | +
| NÉ(E) LE : | +{{ sibling.birth_date }} | +||
{{ paymentMethod }}
{% endwith %}