fix: signature électronique

This commit is contained in:
N3WT DE COMPET
2026-04-05 16:06:04 +02:00
parent a81b76ecea
commit db587ec747
16 changed files with 654 additions and 100 deletions

View File

@ -348,6 +348,7 @@ export default function FilesGroupsManagement({
group_ids,
formMasterData,
file,
requires_electronic_signature,
},
onCreated
) => {
@ -358,6 +359,7 @@ export default function FilesGroupsManagement({
groups: group_ids,
formMasterData,
establishment: selectedEstablishmentId,
requires_electronic_signature: requires_electronic_signature || false,
};
dataToSend.append('data', JSON.stringify(jsonData));
if (file) {
@ -402,6 +404,7 @@ export default function FilesGroupsManagement({
formMasterData,
id,
file,
requires_electronic_signature,
}) => {
// Correction : normaliser group_ids pour ne garder que les IDs (number/string)
let normalizedGroupIds = [];
@ -417,6 +420,7 @@ export default function FilesGroupsManagement({
groups: normalizedGroupIds,
formMasterData: formMasterData,
establishment: selectedEstablishmentId,
requires_electronic_signature: requires_electronic_signature || false,
};
dataToSend.append('data', JSON.stringify(jsonData));
@ -803,18 +807,12 @@ export default function FilesGroupsManagement({
à droite de la liste des documents pour ajouter :
</p>
<ul className="list-disc list-inside ml-6">
<li>
<span className="text-yellow-700 font-semibold">
Formulaire personnalisé
</span>{' '}
: créé dynamiquement par l&apos;école, à remplir et/ou signer
électroniquement par la famille.
</li>
<li>
<span className="text-black font-semibold">
Formulaire existant
</span>{' '}
: importez un PDF ou autre document à faire remplir.
: importez un PDF ou autre document à faire remplir. Vous pouvez
activer la signature électronique.
</li>
<li>
<span className="text-orange-700 font-semibold">
@ -962,16 +960,6 @@ export default function FilesGroupsManagement({
</span>
}
items={[
{
type: 'item',
label: (
<span className="flex items-center">
<Star className="w-5 h-5 mr-2 text-yellow-600" />
Formulaire personnalisé
</span>
),
onClick: () => handleDocDropdownSelect('formulaire'),
},
{
type: 'item',
label: (
@ -1117,12 +1105,16 @@ export default function FilesGroupsManagement({
group_ids: fileToEdit.groups,
file: fileToEdit.file,
formMasterData: fileToEdit.formMasterData,
requires_electronic_signature:
fileToEdit.requires_electronic_signature || false,
});
} else {
handleCreateSchoolFileMaster({
name: fileToEdit.name,
group_ids: fileToEdit.groups,
file: fileToEdit.file,
requires_electronic_signature:
fileToEdit.requires_electronic_signature || false,
});
}
setIsFileUploadPopupOpen(false);
@ -1199,6 +1191,22 @@ export default function FilesGroupsManagement({
required
enable
/>
<CheckBox
item={{ id: 'signature' }}
formData={{
requires_electronic_signature:
fileToEdit?.requires_electronic_signature || false,
}}
handleChange={() =>
setFileToEdit({
...fileToEdit,
requires_electronic_signature:
!fileToEdit?.requires_electronic_signature,
})
}
fieldName="requires_electronic_signature"
itemLabelFunc={() => 'À signer électroniquement'}
/>
<Button
primary
type="submit"
@ -1224,13 +1232,13 @@ export default function FilesGroupsManagement({
!fileToEdit?.file
)
return;
handleCreateSchoolFileMaster(
{
name: fileToEdit.name,
group_ids: fileToEdit.groups,
file: fileToEdit.file,
}
);
handleCreateSchoolFileMaster({
name: fileToEdit.name,
group_ids: fileToEdit.groups,
file: fileToEdit.file,
requires_electronic_signature:
fileToEdit.requires_electronic_signature || false,
});
setIsFileUploadPopupOpen(false);
setFileToEdit(null);
}}
@ -1294,6 +1302,22 @@ export default function FilesGroupsManagement({
required
enable
/>
<CheckBox
item={{ id: 'signature' }}
formData={{
requires_electronic_signature:
fileToEdit?.requires_electronic_signature || false,
}}
handleChange={() =>
setFileToEdit({
...fileToEdit,
requires_electronic_signature:
!fileToEdit?.requires_electronic_signature,
})
}
fieldName="requires_electronic_signature"
itemLabelFunc={() => 'À signer électroniquement'}
/>
<Button
primary
type="submit"