refactor: Partie FRONT / School

This commit is contained in:
N3WT DE COMPET
2025-01-12 16:45:41 +01:00
parent 41aa9d55d3
commit 24352efad3
25 changed files with 217 additions and 186 deletions

View File

@ -31,8 +31,10 @@ class TeacherDetailSerializer(serializers.ModelSerializer):
class TeacherSerializer(serializers.ModelSerializer):
specialities = serializers.PrimaryKeyRelatedField(queryset=Speciality.objects.all(), many=True, required=False)
specialities_details = serializers.SerializerMethodField()
associated_profile = serializers.PrimaryKeyRelatedField(queryset=Profile.objects.all(), required=True)
updated_date_formatted = serializers.SerializerMethodField()
droit = serializers.SerializerMethodField()
class Meta:
model = Teacher
@ -67,6 +69,18 @@ class TeacherSerializer(serializers.ModelSerializer):
return local_time.strftime("%d-%m-%Y %H:%M")
def get_droit(self, obj):
if obj.associated_profile:
droit_id = obj.associated_profile.droit
return {
"label": obj.associated_profile.get_droit_display(),
"id": droit_id
}
return None
def get_specialities_details(self, obj):
return [{'name': speciality.name, 'color_code': speciality.color_code} for speciality in obj.specialities.all()]
class PlanningSerializer(serializers.ModelSerializer):
class Meta:
model = Planning
@ -80,6 +94,7 @@ class PlanningSerializer(serializers.ModelSerializer):
class SchoolClassSerializer(serializers.ModelSerializer):
updated_date_formatted = serializers.SerializerMethodField()
teachers = serializers.PrimaryKeyRelatedField(queryset=Teacher.objects.all(), many=True, required=False)
teachers_details = serializers.SerializerMethodField()
class Meta:
model = SchoolClass
@ -150,6 +165,9 @@ class SchoolClassSerializer(serializers.ModelSerializer):
return instance
def get_teachers_details(self, obj):
return [{'last_name': teacher.last_name, 'first_name': teacher.first_name} for teacher in obj.teachers.all()]
def get_updated_date_formatted(self, obj):
utc_time = timezone.localtime(obj.updated_date)
local_tz = pytz.timezone(settings.TZ_APPLI)