mirror of
https://git.v0id.ovh/n3wt-innov/n3wt-school.git
synced 2026-01-29 16:03:21 +00:00
fix: Ajout d'un champ is_required pour les documents parents facultatifs
This commit is contained in:
@ -8,6 +8,7 @@ import logger from '@/utils/logger';
|
||||
import { createRegistrationParentFileTemplate } from '@/app/actions/registerFileGroupAction';
|
||||
import { useCsrfToken } from '@/context/CsrfContext';
|
||||
import SectionHeader from '@/components/SectionHeader';
|
||||
import ToggleSwitch from '@/components/ToggleSwitch';
|
||||
|
||||
export default function ParentFilesSection({
|
||||
parentFiles,
|
||||
@ -32,7 +33,7 @@ export default function ParentFilesSection({
|
||||
|
||||
const handleAddEmptyRequiredDocument = () => {
|
||||
setEditingDocumentId('new');
|
||||
setFormData({ name: '', description: '', groups: [] });
|
||||
setFormData({ name: '', description: '', groups: [], is_required: false }); // Add is_required
|
||||
setSelectedGroups([]); // Réinitialiser les groupes sélectionnés
|
||||
};
|
||||
|
||||
@ -58,7 +59,6 @@ export default function ParentFilesSection({
|
||||
"Attention !\nVeuillez sélectionner au moins un dossier d'inscription pour valider l'opération"
|
||||
);
|
||||
setPopupVisible(true);
|
||||
setPopupVisible(true);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -73,13 +73,12 @@ export default function ParentFilesSection({
|
||||
setFormData(null);
|
||||
setSelectedGroups([]);
|
||||
|
||||
guardianDetails.forEach((guardian, index) => {
|
||||
guardianDetails.forEach((guardian) => {
|
||||
// Création des templates
|
||||
const data = {
|
||||
master: createdDocument?.id,
|
||||
registration_form: guardian.registration_form,
|
||||
};
|
||||
console.log(guardian);
|
||||
createRegistrationParentFileTemplate(data, csrfToken)
|
||||
.then((response) => {
|
||||
logger.debug('Template enregistré avec succès:', response);
|
||||
@ -178,6 +177,22 @@ export default function ParentFilesSection({
|
||||
errorMsg={null}
|
||||
/>
|
||||
);
|
||||
case 'Obligatoire':
|
||||
return (
|
||||
<div className="flex justify-center items-center">
|
||||
<ToggleSwitch
|
||||
name="is_required"
|
||||
checked={formData.is_required} // Utilise la valeur booléenne de is_required
|
||||
onChange={(e) => {
|
||||
const { checked } = e.target; // Récupère l'état du toggle
|
||||
setFormData((prevData) => ({
|
||||
...prevData,
|
||||
is_required: checked, // Met à jour directement le champ is_required
|
||||
}));
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
case 'Actions':
|
||||
return (
|
||||
<div className="flex justify-center space-x-2">
|
||||
@ -218,6 +233,18 @@ export default function ParentFilesSection({
|
||||
.join(', ')}
|
||||
</span>
|
||||
);
|
||||
case 'Obligatoire':
|
||||
return (
|
||||
<span
|
||||
className={`px-3 py-1 rounded-full text-sm font-semibold ${
|
||||
document.is_required
|
||||
? 'bg-green-100 text-green-600'
|
||||
: 'bg-gray-100 text-gray-600'
|
||||
}`}
|
||||
>
|
||||
{document.is_required ? 'Oui' : 'Non'}
|
||||
</span>
|
||||
);
|
||||
case 'Actions':
|
||||
return (
|
||||
<div className="flex justify-center space-x-2">
|
||||
@ -283,6 +310,10 @@ export default function ParentFilesSection({
|
||||
transform: (row) =>
|
||||
renderRequiredDocumentCell(row, "Dossiers d'inscription"),
|
||||
},
|
||||
{
|
||||
name: 'Obligatoire',
|
||||
transform: (row) => renderRequiredDocumentCell(row, 'Obligatoire'),
|
||||
},
|
||||
{
|
||||
name: 'Actions',
|
||||
transform: (row) => renderRequiredDocumentCell(row, 'Actions'),
|
||||
|
||||
Reference in New Issue
Block a user