From b9c9b2c42162cf2ac8e27b00d6d9240cb252d538 Mon Sep 17 00:00:00 2001 From: Matthieu Date: Fri, 24 Oct 2025 15:42:04 +0200 Subject: [PATCH] =?UTF-8?q?fix:=20pr=C3=A9ciser=20les=20erreurs=20de=20sup?= =?UTF-8?q?pression=20des=20ressources?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/composants/composants.service.ts | 28 ++++++++++++++++++++++------ src/pieces/pieces.service.ts | 28 ++++++++++++++++++++++------ 2 files changed, 44 insertions(+), 12 deletions(-) diff --git a/src/composants/composants.service.ts b/src/composants/composants.service.ts index 68b1ded..bbb4090 100644 --- a/src/composants/composants.service.ts +++ b/src/composants/composants.service.ts @@ -126,13 +126,29 @@ export class ComposantsService { }), ]); - if ( - machineLinksCount > 0 || - documentsCount > 0 || - customFieldValuesCount > 0 - ) { + const blockingReasons: string[] = []; + + if (machineLinksCount > 0) { + blockingReasons.push( + `${machineLinksCount} liaison${machineLinksCount > 1 ? 's' : ''} machine`, + ); + } + if (documentsCount > 0) { + blockingReasons.push( + `${documentsCount} document${documentsCount > 1 ? 's' : ''}`, + ); + } + if (customFieldValuesCount > 0) { + blockingReasons.push( + `${customFieldValuesCount} valeur${customFieldValuesCount > 1 ? 's' : ''} de champ personnalisé`, + ); + } + + if (blockingReasons.length > 0) { throw new ConflictException( - 'Impossible de supprimer ce composant car il possède des éléments liés.', + `Impossible de supprimer ce composant car il possède encore: ${blockingReasons.join( + ', ', + )}. Supprimez ou détachez ces éléments avant de réessayer.`, ); } diff --git a/src/pieces/pieces.service.ts b/src/pieces/pieces.service.ts index e2f8159..4a6838e 100644 --- a/src/pieces/pieces.service.ts +++ b/src/pieces/pieces.service.ts @@ -150,13 +150,29 @@ export class PiecesService { }), ]); - if ( - machineLinksCount > 0 || - documentsCount > 0 || - customFieldValuesCount > 0 - ) { + const blockingReasons: string[] = []; + + if (machineLinksCount > 0) { + blockingReasons.push( + `${machineLinksCount} liaison${machineLinksCount > 1 ? 's' : ''} machine`, + ); + } + if (documentsCount > 0) { + blockingReasons.push( + `${documentsCount} document${documentsCount > 1 ? 's' : ''}`, + ); + } + if (customFieldValuesCount > 0) { + blockingReasons.push( + `${customFieldValuesCount} valeur${customFieldValuesCount > 1 ? 's' : ''} de champ personnalisé`, + ); + } + + if (blockingReasons.length > 0) { throw new ConflictException( - 'Impossible de supprimer cette pièce car elle possède des éléments liés.', + `Impossible de supprimer cette pièce car elle possède encore: ${blockingReasons.join( + ', ', + )}. Supprimez ou détachez ces éléments avant de réessayer.`, ); }