mirror of
https://git.v0id.ovh/n3wt-innov/n3wt-school.git
synced 2026-01-28 23:43:22 +00:00
feat: Gestion de la validation du dossier d'inscription
This commit is contained in:
@ -274,33 +274,11 @@ class RegisterFormWithIdView(APIView):
|
||||
updateStateMachine(registerForm, 'EVENT_SIGNATURE')
|
||||
except Exception as e:
|
||||
return JsonResponse({'error': str(e)}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
|
||||
|
||||
elif _status == RegistrationForm.RegistrationFormStatus.RF_VALIDATED:
|
||||
updateStateMachine(registerForm, 'EVENT_VALIDATE')
|
||||
elif _status == RegistrationForm.RegistrationFormStatus.RF_SENT:
|
||||
if registerForm.status == RegistrationForm.RegistrationFormStatus.RF_UNDER_REVIEW:
|
||||
updateStateMachine(registerForm, 'EVENT_REFUSE')
|
||||
util.delete_registration_files(registerForm)
|
||||
elif _status == RegistrationForm.RegistrationFormStatus.RF_SEPA_SENT:
|
||||
# Vérifier si le paramètre fusion est activé via l'URL
|
||||
fusion = studentForm_data.get('fusion', False)
|
||||
if fusion:
|
||||
# Fusion des documents
|
||||
# Récupération des fichiers d'inscription
|
||||
fileNames = RegistrationSchoolFileTemplate.get_files_from_rf(registerForm.pk)
|
||||
if registerForm.registration_file:
|
||||
fileNames.insert(0, registerForm.registration_file.path)
|
||||
|
||||
# Création du fichier PDF Fusionné
|
||||
merged_pdf_content = util.merge_files_pdf(fileNames)
|
||||
|
||||
# Mise à jour du champ registration_file avec le fichier fusionné
|
||||
registerForm.registration_file.save(
|
||||
f"dossier_complet.pdf",
|
||||
File(merged_pdf_content),
|
||||
save=True
|
||||
)
|
||||
|
||||
# Sauvegarde du mandat SEPA
|
||||
student = registerForm.student
|
||||
guardian = student.getMainGuardian()
|
||||
@ -314,6 +292,42 @@ class RegisterFormWithIdView(APIView):
|
||||
# Le parent a rempli le dossier d'inscription en sélectionnant "Prélèvement par Mandat SEPA"
|
||||
# L'école doit désormais envoyer le mandat SEPA pour poursuivre l'inscription
|
||||
updateStateMachine(registerForm, 'EVENT_WAITING_FOR_SEPA')
|
||||
|
||||
elif _status == RegistrationForm.RegistrationFormStatus.RF_VALIDATED:
|
||||
# Vérifier si le paramètre fusion est activé via l'URL
|
||||
fusion = studentForm_data.get('fusion', False)
|
||||
if fusion:
|
||||
# Fusion des documents
|
||||
# Récupération des fichiers schoolFileTemplates
|
||||
school_file_paths = RegistrationSchoolFileTemplate.get_files_from_rf(registerForm.pk)
|
||||
|
||||
# Récupération des fichiers parentFileTemplates
|
||||
parent_file_templates = RegistrationParentFileTemplate.get_files_from_rf(registerForm.pk)
|
||||
|
||||
# Initialisation de la liste des fichiers à fusionner
|
||||
fileNames = []
|
||||
|
||||
# Ajout du fichier registration_file en première position
|
||||
if registerForm.registration_file:
|
||||
fileNames.append(registerForm.registration_file.path)
|
||||
|
||||
# Ajout des fichiers schoolFileTemplates
|
||||
fileNames.extend(school_file_paths)
|
||||
|
||||
# Ajout des fichiers parentFileTemplates
|
||||
fileNames.extend(parent_file_templates)
|
||||
|
||||
# Création du fichier PDF fusionné
|
||||
merged_pdf_content = util.merge_files_pdf(fileNames)
|
||||
|
||||
# Mise à jour du champ registration_file avec le fichier fusionné
|
||||
registerForm.fusion_file.save(
|
||||
f"dossier_complet.pdf",
|
||||
File(merged_pdf_content),
|
||||
save=True
|
||||
)
|
||||
|
||||
updateStateMachine(registerForm, 'EVENT_VALIDATE')
|
||||
|
||||
# Retourner les données mises à jour
|
||||
return JsonResponse(studentForm_serializer.data, safe=False)
|
||||
|
||||
Reference in New Issue
Block a user