fix: Condition de validation d'ajout d'un nouveau document parent /

remise en forme de l'ajout d'un document école
This commit is contained in:
N3WT DE COMPET
2025-05-06 21:39:16 +02:00
parent f887ae1886
commit 9e69790683
4 changed files with 73 additions and 49 deletions

View File

@ -162,41 +162,55 @@ export default function FileUploadDocuSeal({
uniqueConfirmButton={true}
/>
{/* Contenu principal */}
<div className="grid grid-cols-10 gap-6 items-start">
{/* Sélection des groupes */}
<div className="col-span-2 bg-white p-4 rounded-lg shadow-md border border-gray-200">
<h3 className="text-lg font-medium text-gray-800 mb-4">
Dossiers d'inscription
</h3>
<MultiSelect
name="groups"
label="Sélection de dossier(s) d'inscription"
options={groups}
selectedOptions={selectedGroups}
onChange={handleGroupChange}
errorMsg={null}
/>
{selectedGroups.length === 0 ? (
<div className="flex flex-col items-center justify-center h-full text-center space-y-6">
{/* Description de l'étape */}
<p className="text-gray-700 text-base font-medium mb-4">
Étape 1 - Sélectionner au moins un dossier d'inscription
</p>
{/* Section centrée pour la sélection des groupes */}
<div className="bg-gray-50 p-8 rounded-lg shadow-md border border-gray-300 transform transition-transform hover:scale-105">
<h3 className="text-xl font-semibold text-gray-800 mb-4 text-center">
Dossiers d'inscription
</h3>
<MultiSelect
name="groups"
label="Sélection dossier d'inscription"
options={groups}
selectedOptions={selectedGroups}
onChange={handleGroupChange}
errorMsg={null}
className="bg-white rounded-md shadow-inner p-4"
/>
</div>
</div>
) : (
<div className="grid grid-cols-10 gap-6 items-start">
{/* Section Dossiers d'inscription repositionnée sur le côté */}
<div className="col-span-2 bg-white p-4 rounded-lg shadow-md border border-gray-200">
<h3 className="text-lg font-medium text-gray-800 mb-4">
Dossiers d'inscription
</h3>
<MultiSelect
name="groups"
label="Sélection dossier d'inscription"
options={groups}
selectedOptions={selectedGroups}
onChange={handleGroupChange}
errorMsg={null}
/>
</div>
{/* Zone de configuration des documents */}
<div className="col-span-8 bg-white p-6 rounded-lg shadow-md border border-gray-200">
{selectedGroups.length === 0 ? (
<div className="flex flex-col items-center justify-center h-full text-center space-y-4">
{/* Icône circulaire modernisée */}
<div className="bg-emerald-100 p-6 rounded-full flex items-center justify-center shadow-md">
<div className="w-12 h-12 bg-emerald-200 rounded-full flex items-center justify-center">
<span className="text-emerald-600 font-bold text-2xl">+</span>
</div>
</div>
{/* Message d'information */}
<p className="text-gray-600 text-sm font-medium">
Veuillez sélectionner au moins un groupe pour continuer.
</p>
</div>
) : (
token && (
{/* Zone de configuration des documents */}
<div className="col-span-8 bg-white p-6 rounded-lg shadow-md border border-gray-200">
{token && (
<div className="h-full overflow-auto">
{/* Description de l'étape */}
<p className="text-gray-700 text-base font-medium mb-4">
Étape 2 - Sélectionnez un document
</p>
<DocusealBuilder
token={token}
headers={{
@ -215,10 +229,10 @@ export default function FileUploadDocuSeal({
style={{ maxHeight: '65vh' }}
/>
</div>
)
)}
)}
</div>
</div>
</div>
)}
</div>
);
}

View File

@ -489,9 +489,7 @@ export default function FilesGroupsManagement({
isOpen={isGroupModalOpen}
setIsOpen={setIsGroupModalOpen}
title={
groupToEdit
? 'Modifier le groupe'
: 'Ajouter un groupe de schoolFileMasters'
groupToEdit ? 'Modifier le dossier' : "Création d'un nouveau dossier"
}
ContentComponent={() => (
<RegistrationFileGroupForm

View File

@ -47,7 +47,18 @@ export default function ParentFilesSection({
const handleSaveDocument = () => {
if (!formData.name) {
alert('Le nom de la pièce est requis.');
setPopupMessage(
"Attention !\nVeuillez saisir un nom de document pour valider l'opération."
);
setPopupVisible(true);
return;
}
if (selectedGroups.length === 0) {
setPopupMessage(
"Attention !\nVeuillez sélectionner au moins un dossier d'inscription pour valider l'opération"
);
setPopupVisible(true);
setPopupVisible(true);
return;
}
@ -110,7 +121,6 @@ export default function ParentFilesSection({
const handleGroupChange = (selected) => {
setSelectedGroups(selected);
console.log('selected : ', selected);
// Extraire les guardians associés aux register_forms des groupes sélectionnés
const details = selected.flatMap((group) =>
@ -123,8 +133,6 @@ export default function ParentFilesSection({
}))
)
);
console.log('Guardians associés : ', details);
setGuardianDetails(details); // Mettre à jour la variable d'état avec les détails des guardians
};
@ -163,7 +171,7 @@ export default function ParentFilesSection({
return (
<MultiSelect
name="groups"
label="Sélection du(des) dossier(s) d'inscription"
label="Sélection dossier d'inscription"
options={groups}
selectedOptions={selectedGroups}
onChange={handleGroupChange}