From 385366cdae28f2a11e1b503bce3674624f5a217e Mon Sep 17 00:00:00 2001 From: melinoix Date: Mon, 3 Feb 2025 12:28:46 +0100 Subject: [PATCH] feat: add extra confirmation when deleting domain or importing a backup (#1391) * Add word confirmation when deleting domain/import a backup * New promptModal & fix modal boolean validation & fix flash errors * ruff format * added promptmodal for the supression of a domain and corrected useless action.ts delete hidden input on forms * tolowercase yes to have m.yes = Yes instead of yes * corrected tests * changed tests and test-ids * corrected tests * correct tests --------- Co-authored-by: Mohamed-Hacene --- frontend/messages/en.json | 3 + frontend/messages/fr.json | 3 + .../Modals/DeleteConfirmModal.svelte | 1 - .../Modals/PromptConfirmModal.svelte | 103 ++++++++++++++++++ .../TableRowActions/TableRowActions.svelte | 63 +++++++++-- frontend/src/lib/utils/actions.ts | 47 ++++---- .../[id=uuid]/+page.server.ts | 1 + .../(internal)/backup-restore/+page.server.ts | 24 ++-- .../(internal)/backup-restore/+page.svelte | 26 ++++- .../detailed/compliance-assessments.test.ts | 5 +- .../tests/functional/user-permissions.test.ts | 6 +- frontend/tests/functional/user-route.test.ts | 6 +- frontend/tests/utils/page-content.ts | 12 ++ 13 files changed, 247 insertions(+), 53 deletions(-) create mode 100644 frontend/src/lib/components/Modals/PromptConfirmModal.svelte diff --git a/frontend/messages/en.json b/frontend/messages/en.json index 30af4ac5c..3ef3e21f1 100644 --- a/frontend/messages/en.json +++ b/frontend/messages/en.json @@ -785,6 +785,9 @@ "startDate": "Start date", "startDateHelpText": "Start date (useful for timeline)", "backupLoadingError": "An error occurred while loading the backup.", + "backupVersionError": "Can't load the backup, the version of the backup is invalid", + "confirmYes": "Confirm by typing 'yes' below:", + "confirmYesPlaceHolder": "Type 'yes' to confirm", "backupGreaterVersionError": "Can't load the backup, the version of the backup is higher than the current version of your application.", "backupLowerVersionError": "An error occurred, the backup version may be too old, if so it must be updated before retrying.", "entityAssessmentEvidenceHelpText": "An external questionnaire", diff --git a/frontend/messages/fr.json b/frontend/messages/fr.json index 5788f259f..8ab2aa4d2 100644 --- a/frontend/messages/fr.json +++ b/frontend/messages/fr.json @@ -1131,6 +1131,9 @@ "errorOccuredDuringImport": "Une erreur s'est produite lors de l'import", "successfullyImportedFolder": "Domaine importé avec succès", "missingLibrariesInImport": "Certaines bibliothèques sont manquantes, voir la liste ci-dessus", + "backupVersionError": "Impossible de charger la sauvegarde, la version de la sauvegarde est invalide", + "confirmYes": "Confirmez en écrivant 'oui' puis validez:", + "confirmYesPlaceHolder": "Écrivez 'oui' puis validez", "loadMissingLibraries": "Charger les librairies manquantes", "loadMissingLibrariesHelpText": "Charger les librairies manquantes pour compléter l'import si elles sont disponibles.", "yes": "Oui", diff --git a/frontend/src/lib/components/Modals/DeleteConfirmModal.svelte b/frontend/src/lib/components/Modals/DeleteConfirmModal.svelte index a3f044ef3..665a98866 100644 --- a/frontend/src/lib/components/Modals/DeleteConfirmModal.svelte +++ b/frontend/src/lib/components/Modals/DeleteConfirmModal.svelte @@ -42,7 +42,6 @@