diff --git a/Back-End/Planning/views.py b/Back-End/Planning/views.py index 18bf551..272977b 100644 --- a/Back-End/Planning/views.py +++ b/Back-End/Planning/views.py @@ -9,6 +9,7 @@ from .models import Planning, Events, RecursionType from .serializers import PlanningSerializer, EventsSerializer from N3wtSchool import bdd +from Subscriptions.util import getCurrentSchoolYear class PlanningView(APIView): @@ -17,6 +18,7 @@ class PlanningView(APIView): def get(self, request): establishment_id = request.GET.get('establishment_id', None) planning_mode = request.GET.get('planning_mode', None) + current_school_year = getCurrentSchoolYear() plannings = bdd.getAllObjects(Planning) @@ -25,7 +27,10 @@ class PlanningView(APIView): # Filtrer en fonction du planning_mode if planning_mode == "classSchedule": - plannings = plannings.filter(school_class__isnull=False) + plannings = plannings.filter( + school_class__isnull=False, + school_class__school_year=current_school_year, + ) elif planning_mode == "planning": plannings = plannings.filter(school_class__isnull=True) @@ -79,6 +84,7 @@ class EventsView(APIView): def get(self, request): establishment_id = request.GET.get('establishment_id', None) planning_mode = request.GET.get('planning_mode', None) + current_school_year = getCurrentSchoolYear() filterParams = {} plannings=[] events = Events.objects.all() @@ -86,6 +92,8 @@ class EventsView(APIView): filterParams['establishment'] = establishment_id if planning_mode is not None: filterParams['school_class__isnull'] = (planning_mode!="classSchedule") + if planning_mode == "classSchedule": + filterParams['school_class__school_year'] = current_school_year if filterParams: plannings = Planning.objects.filter(**filterParams) events = Events.objects.filter(planning__in=plannings) diff --git a/Front-End/src/app/[locale]/admin/structure/page.js b/Front-End/src/app/[locale]/admin/structure/page.js index c9d6b72..0c49399 100644 --- a/Front-End/src/app/[locale]/admin/structure/page.js +++ b/Front-End/src/app/[locale]/admin/structure/page.js @@ -1,5 +1,6 @@ 'use client'; import React, { useState, useEffect } from 'react'; +import { getCurrentSchoolYear } from '@/utils/Date'; import StructureManagement from '@/components/Structure/Configuration/StructureManagement'; import ScheduleManagement from '@/components/Structure/Planning/ScheduleManagement'; @@ -54,6 +55,17 @@ export default function Page() { const csrfToken = useCsrfToken(); const { selectedEstablishmentId, profileRole } = useEstablishment(); + const currentSchoolYear = getCurrentSchoolYear(); + + const scheduleClasses = classes.filter( + (classe) => classe?.school_year === currentSchoolYear + ); + const scheduleSpecialities = specialities.filter( + (speciality) => speciality?.school_year === currentSchoolYear + ); + const scheduleTeachers = teachers.filter( + (teacher) => teacher?.school_year === currentSchoolYear + ); useEffect(() => { if (selectedEstablishmentId) { @@ -299,9 +311,9 @@ export default function Page() {