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.`, ); }