fix: conflits + closeModal lors de la création d'un RF

This commit is contained in:
N3WT DE COMPET
2025-04-26 10:37:28 +02:00
parent 10f66c69dd
commit 1617b132c4
4 changed files with 178 additions and 144 deletions

View File

@ -261,21 +261,6 @@ class RegisterFormWithIdView(APIView):
initial_pdf = f"{base_dir}/Inscription_{registerForm.student.last_name}_{registerForm.student.first_name}.pdf"
registerForm.registration_file = util.rfToPDF(registerForm, initial_pdf)
registerForm.save()
# 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
# )
# Mise à jour de l'automate
# Vérification de la présence du fichier SEPA
@ -295,16 +280,35 @@ class RegisterFormWithIdView(APIView):
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()
email = guardian.profile_role.profile.email
errorMessage = mailer.sendMandatSEPA(email, registerForm.establishment.pk)
if errorMessage == '':
registerForm.last_update=util.convertToStr(util._now(), '%d-%m-%Y %H:%M')
registerForm.last_update = util.convertToStr(util._now(), '%d-%m-%Y %H:%M')
updateStateMachine(registerForm, 'EVENT_SEND_SEPA')
return JsonResponse({"message": f"Le mandat SEPA a bien été envoyé à l'addresse {email}"}, safe=False)
return JsonResponse({"errorMessage":errorMessage}, safe=False, status=status.HTTP_400_BAD_REQUEST)
return JsonResponse({"message": f"Le mandat SEPA a bien été envoyé à l'adresse {email}"}, safe=False)
return JsonResponse({"errorMessage": errorMessage}, safe=False, status=status.HTTP_400_BAD_REQUEST)
# Retourner les données mises à jour
return JsonResponse(studentForm_serializer.data, safe=False)