feat: Preparation des modèles Settings pour l'enregistrement SMTP [#17]

This commit is contained in:
Luc SORIGNET
2025-05-05 09:25:07 +02:00
parent 99a882a64a
commit eda6f587fb
33 changed files with 468 additions and 74 deletions

View File

@ -29,6 +29,7 @@ import ParentFilesSection from '@/components/Structure/Files/ParentFilesSection'
import SectionHeader from '@/components/SectionHeader';
import Popup from '@/components/Popup';
import Loader from '@/components/Loader';
import { useNotification } from '@/context/NotificationContext';
export default function FilesGroupsManagement({
csrfToken,
@ -52,6 +53,7 @@ export default function FilesGroupsManagement({
const [removePopupMessage, setRemovePopupMessage] = useState('');
const [removePopupOnConfirm, setRemovePopupOnConfirm] = useState(() => {});
const [isLoading, setIsLoading] = useState(false);
const { showNotification } = useNotification();
const handleReloadTemplates = () => {
setReloadTemplates(true);
@ -136,15 +138,20 @@ export default function FilesGroupsManagement({
(fichier) => fichier.id !== templateMaster.id
)
);
setPopupMessage(
`Le document "${templateMaster.name}" a été correctement supprimé.`
showNotification(
`Le document "${templateMaster.name}" a été correctement supprimé.`,
'success',
'Succès'
);
setPopupVisible(true);
setRemovePopupVisible(false);
setIsLoading(false);
} else {
setPopupMessage(
`Erreur lors de la suppression du document "${templateMaster.name}".`
showNotification(
`Erreur lors de la suppression du document "${templateMaster.name}".`,
'error',
'Erreur'
);
setPopupVisible(true);
setRemovePopupVisible(false);
@ -153,16 +160,20 @@ export default function FilesGroupsManagement({
})
.catch((error) => {
console.error('Error deleting file from database:', error);
setPopupMessage(
`Erreur lors de la suppression du document "${templateMaster.name}".`
showNotification(
`Erreur lors de la suppression du document "${templateMaster.name}".`,
'error',
'Erreur'
);
setPopupVisible(true);
setRemovePopupVisible(false);
setIsLoading(false);
});
} else {
setPopupMessage(
`Erreur lors de la suppression du document "${templateMaster.name}".`
showNotification(
`Erreur lors de la suppression du document "${templateMaster.name}".`,
'error',
'Erreur'
);
setPopupVisible(true);
setRemovePopupVisible(false);
@ -171,8 +182,10 @@ export default function FilesGroupsManagement({
})
.catch((error) => {
console.error('Error removing template from DocuSeal:', error);
setPopupMessage(
`Erreur lors de la suppression du document "${templateMaster.name}".`
showNotification(
`Erreur lors de la suppression du document "${templateMaster.name}".`,
'error',
'Erreur'
);
setPopupVisible(true);
setRemovePopupVisible(false);
@ -253,7 +266,11 @@ export default function FilesGroupsManagement({
})
.catch((error) => {
console.error('Error editing file:', error);
alert('Erreur lors de la modification du fichier');
showNotification(
'Erreur lors de la modification du fichier',
'error',
'Erreur'
);
});
};
@ -271,7 +288,11 @@ export default function FilesGroupsManagement({
})
.catch((error) => {
console.error('Error handling group:', error);
alert("Erreur lors de l'opération sur le groupe");
showNotification(
"Erreur lors de l'opération sur le groupe",
'error',
'Erreur'
);
});
} else {
// Ajouter l'établissement sélectionné lors de la création d'un nouveau groupe
@ -287,7 +308,11 @@ export default function FilesGroupsManagement({
})
.catch((error) => {
console.error('Error handling group:', error);
alert("Erreur lors de l'opération sur le groupe");
showNotification(
"Erreur lors de l'opération sur le groupe",
'error',
'Erreur'
);
});
}
};
@ -303,8 +328,10 @@ export default function FilesGroupsManagement({
(file) => file.group && file.group.id === groupId
);
if (filesInGroup.length > 0) {
alert(
"Impossible de supprimer ce groupe car il contient des schoolFileMasters. Veuillez d'abord retirer tous les schoolFileMasters de ce groupe."
showNotification(
"Impossible de supprimer ce groupe car il contient des schoolFileMasters. Veuillez d'abord retirer tous les schoolFileMasters de ce groupe.",
'error',
'Erreur'
);
return;
}
@ -319,13 +346,15 @@ export default function FilesGroupsManagement({
throw new Error('Erreur lors de la suppression du groupe.');
}
setGroups(groups.filter((group) => group.id !== groupId));
alert('Groupe supprimé avec succès.');
showNotification('Groupe supprimé avec succès.', 'success', 'Succès');
})
.catch((error) => {
console.error('Error deleting group:', error);
alert(
showNotification(
error.message ||
"Erreur lors de la suppression du groupe. Vérifiez qu'aucune inscription n'utilise ce groupe."
"Erreur lors de la suppression du groupe. Vérifiez qu'aucune inscription n'utilise ce groupe.",
'error',
'Erreur'
);
});
}
@ -342,8 +371,10 @@ export default function FilesGroupsManagement({
})
.catch((error) => {
logger.error('Erreur lors de la création du document parent:', error);
alert(
'Une erreur est survenue lors de la création du document parent.'
showNotification(
'Une erreur est survenue lors de la création du document parent.',
'error',
'Erreur'
);
throw error;
});
@ -365,8 +396,10 @@ export default function FilesGroupsManagement({
'Erreur lors de la modification du document parent:',
error
);
alert(
'Une erreur est survenue lors de la modification du document parent.'
showNotification(
'Une erreur est survenue lors de la modification du document parent.',
'error',
'Erreur'
);
throw error;
});