feat: Pre cablage du dashboard [#]

This commit is contained in:
Luc SORIGNET
2025-02-22 17:06:11 +01:00
parent c7723eceee
commit 1911f79f45
8 changed files with 132 additions and 86 deletions

View File

@ -1,6 +1,7 @@
from rest_framework import serializers
from .models import Teacher, Speciality, SchoolClass, Planning, LEVEL_CHOICES, Discount, Fee, PaymentPlan, PaymentMode, Establishment
from Auth.models import Profile
from Subscriptions.models import Student
from N3wtSchool import settings, bdd
from django.utils import timezone
import pytz
@ -71,9 +72,9 @@ class TeacherSerializer(serializers.ModelSerializer):
return obj.associated_profile.droit
return None
def get_specialities_details(self, obj):
def get_specialities_details(self, obj):
return [{'id': speciality.id, 'name': speciality.name, 'color_code': speciality.color_code} for speciality in obj.specialities.all()]
class PlanningSerializer(serializers.ModelSerializer):
class Meta:
model = Planning
@ -89,6 +90,7 @@ class SchoolClassSerializer(serializers.ModelSerializer):
teachers = serializers.PrimaryKeyRelatedField(queryset=Teacher.objects.all(), many=True, required=False)
establishment = serializers.PrimaryKeyRelatedField(queryset=Establishment.objects.all(), required=False)
teachers_details = serializers.SerializerMethodField()
students = serializers.PrimaryKeyRelatedField(queryset=Student.objects.all(), many=True, required=False)
class Meta:
model = SchoolClass
@ -98,7 +100,7 @@ class SchoolClassSerializer(serializers.ModelSerializer):
teachers_data = validated_data.pop('teachers', [])
levels_data = validated_data.pop('levels', [])
plannings_data = validated_data.pop('plannings', [])
school_class = SchoolClass.objects.create(
atmosphere_name=validated_data.get('atmosphere_name', ''),
age_range=validated_data.get('age_range', []),
@ -161,7 +163,7 @@ class SchoolClassSerializer(serializers.ModelSerializer):
return instance
def get_teachers_details(self, obj):
def get_teachers_details(self, obj):
return [{'id': teacher.id, 'last_name': teacher.last_name, 'first_name': teacher.first_name} for teacher in obj.teachers.all()]
def get_updated_date_formatted(self, obj):