mirror of
https://git.v0id.ovh/n3wt-innov/n3wt-school.git
synced 2026-01-29 07:53:23 +00:00
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:
@ -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>
|
||||
);
|
||||
}
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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}
|
||||
|
||||
Reference in New Issue
Block a user