diff --git a/Back-End/Subscriptions/models.py b/Back-End/Subscriptions/models.py index cf794d4..4334c88 100644 --- a/Back-End/Subscriptions/models.py +++ b/Back-End/Subscriptions/models.py @@ -6,6 +6,9 @@ from django.utils.translation import gettext_lazy as _ from datetime import datetime import os +import logging + +logger = logging.getLogger("SubscriptionModels") class Language(models.Model): """ @@ -394,7 +397,8 @@ class RegistrationParentFileTemplate(models.Model): registration_files = RegistrationParentFileTemplate.objects.filter(registration_form=register_form_id) filenames = [] for reg_file in registration_files: - filenames.append(reg_file.file.path) + if reg_file.file and hasattr(reg_file.file, 'path'): + filenames.append(reg_file.file.path) return filenames class AbsenceMoment(models.IntegerChoices): diff --git a/Front-End/src/app/[locale]/admin/subscriptions/validateSubscription/page.js b/Front-End/src/app/[locale]/admin/subscriptions/validateSubscription/page.js index 324283f..6834445 100644 --- a/Front-End/src/app/[locale]/admin/subscriptions/validateSubscription/page.js +++ b/Front-End/src/app/[locale]/admin/subscriptions/validateSubscription/page.js @@ -9,6 +9,7 @@ import logger from '@/utils/logger'; import Loader from '@/components/Loader'; import { useEstablishment } from '@/context/EstablishmentContext'; import { FE_ADMIN_SUBSCRIPTIONS_URL } from '@/utils/Url'; +import { useNotification } from '@/context/NotificationContext'; export default function Page() { const searchParams = useSearchParams(); @@ -30,6 +31,7 @@ export default function Page() { const csrfToken = useCsrfToken(); const { selectedEstablishmentId } = useEstablishment(); + const { showNotification } = useNotification(); const requestErrorHandler = (err) => { logger.error('Error fetching data:', err); @@ -63,11 +65,20 @@ export default function Page() { editRegisterForm(studentId, formData, csrfToken) .then((response) => { logger.debug('RF mis à jour avec succès:', response); + showNotification( + 'Le dossier d\'inscription a été validé avec succès', + 'success', + 'Succès' + ); router.push(FE_ADMIN_SUBSCRIPTIONS_URL); setIsLoading(false); - // Logique supplémentaire après la mise à jour (par exemple, redirection ou notification) }) .catch((error) => { + showNotification( + "Erreur lors de la validation du dossier d'inscription", + 'error', + 'Erreur' + ); setIsLoading(false); logger.error('Erreur lors de la mise à jour du RF:', error); }); diff --git a/Front-End/src/components/Inscription/ValidateSubscription.js b/Front-End/src/components/Inscription/ValidateSubscription.js index dcd7ae1..bf551aa 100644 --- a/Front-End/src/components/Inscription/ValidateSubscription.js +++ b/Front-End/src/components/Inscription/ValidateSubscription.js @@ -81,14 +81,13 @@ export default function ValidateSubscription({ }; const handleAssignClass = () => { - const fusionParam = mergeDocuments ? 'true' : 'false'; if (formData.associated_class) { const data = { student: { associated_class: formData.associated_class, }, status: 5, - fusionParam: fusionParam, + fusionParam: mergeDocuments, }; onAccept(data);