feat: Gestion multi-profil multi-école

This commit is contained in:
N3WT DE COMPET
2025-03-09 16:22:28 +01:00
parent 95c154a4a2
commit 16178296ec
51 changed files with 1621 additions and 802 deletions

View File

@ -2,7 +2,7 @@ from rest_framework import serializers
from .models import RegistrationFileGroup, RegistrationForm, Student, Guardian, Sibling, Language, RegistrationTemplateMaster, RegistrationTemplate
from School.models import SchoolClass, Fee, Discount, FeeType
from School.serializers import FeeSerializer, DiscountSerializer
from Auth.models import Profile
from Auth.models import ProfileRole
from Auth.serializers import ProfileSerializer
from GestionMessagerie.models import Messagerie
from GestionNotification.models import Notification
@ -68,7 +68,7 @@ class SiblingSerializer(serializers.ModelSerializer):
class GuardianSerializer(serializers.ModelSerializer):
id = serializers.IntegerField(required=False)
associated_profile = serializers.PrimaryKeyRelatedField(queryset=Profile.objects.all(), required=True)
profile_role = serializers.PrimaryKeyRelatedField(queryset=ProfileRole.objects.all(), required=True)
associated_profile_email = serializers.SerializerMethodField()
class Meta:
@ -76,7 +76,7 @@ class GuardianSerializer(serializers.ModelSerializer):
fields = '__all__'
def get_associated_profile_email(self, obj):
return obj.associated_profile.email
return obj.profile_role.profile.email
class StudentSerializer(serializers.ModelSerializer):
@ -248,7 +248,7 @@ class GuardianByDICreationSerializer(serializers.ModelSerializer):
class Meta:
model = Guardian
fields = ['id', 'last_name', 'first_name', 'email', 'associated_profile']
fields = ['id', 'last_name', 'first_name', 'email', 'profile']
class StudentByRFCreationSerializer(serializers.ModelSerializer):
id = serializers.IntegerField(required=False)