feat: autoriser la suppression quand seuls les champs personnalisés restent
This commit is contained in:
@@ -138,18 +138,31 @@ export class ComposantsService {
|
|||||||
`${documentsCount} document${documentsCount > 1 ? 's' : ''}`,
|
`${documentsCount} document${documentsCount > 1 ? 's' : ''}`,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
if (customFieldValuesCount > 0) {
|
|
||||||
blockingReasons.push(
|
if (blockingReasons.length > 0) {
|
||||||
`${customFieldValuesCount} valeur${customFieldValuesCount > 1 ? 's' : ''} de champ personnalisé`,
|
const messageParts = [
|
||||||
|
`Impossible de supprimer ce composant car il possède encore: ${blockingReasons.join(
|
||||||
|
', ',
|
||||||
|
)}.`,
|
||||||
|
];
|
||||||
|
|
||||||
|
if (customFieldValuesCount > 0) {
|
||||||
|
messageParts.push(
|
||||||
|
`Les ${customFieldValuesCount} valeur${
|
||||||
|
customFieldValuesCount > 1 ? 's' : ''
|
||||||
|
} de champ personnalisé seront supprimées automatiquement une fois ces éléments détachés.`,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
throw new ConflictException(
|
||||||
|
`${messageParts.join(' ')} Supprimez ou détachez les éléments indiqués avant de réessayer.`,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (blockingReasons.length > 0) {
|
if (customFieldValuesCount > 0) {
|
||||||
throw new ConflictException(
|
await this.prisma.customFieldValue.deleteMany({
|
||||||
`Impossible de supprimer ce composant car il possède encore: ${blockingReasons.join(
|
where: { composantId: id },
|
||||||
', ',
|
});
|
||||||
)}. Supprimez ou détachez ces éléments avant de réessayer.`,
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return this.prisma.composant.delete({
|
return this.prisma.composant.delete({
|
||||||
|
|||||||
@@ -162,18 +162,31 @@ export class PiecesService {
|
|||||||
`${documentsCount} document${documentsCount > 1 ? 's' : ''}`,
|
`${documentsCount} document${documentsCount > 1 ? 's' : ''}`,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
if (customFieldValuesCount > 0) {
|
|
||||||
blockingReasons.push(
|
if (blockingReasons.length > 0) {
|
||||||
`${customFieldValuesCount} valeur${customFieldValuesCount > 1 ? 's' : ''} de champ personnalisé`,
|
const messageParts = [
|
||||||
|
`Impossible de supprimer cette pièce car elle possède encore: ${blockingReasons.join(
|
||||||
|
', ',
|
||||||
|
)}.`,
|
||||||
|
];
|
||||||
|
|
||||||
|
if (customFieldValuesCount > 0) {
|
||||||
|
messageParts.push(
|
||||||
|
`Les ${customFieldValuesCount} valeur${
|
||||||
|
customFieldValuesCount > 1 ? 's' : ''
|
||||||
|
} de champ personnalisé seront supprimées automatiquement une fois ces éléments détachés.`,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
throw new ConflictException(
|
||||||
|
`${messageParts.join(' ')} Supprimez ou détachez les éléments indiqués avant de réessayer.`,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (blockingReasons.length > 0) {
|
if (customFieldValuesCount > 0) {
|
||||||
throw new ConflictException(
|
await this.prisma.customFieldValue.deleteMany({
|
||||||
`Impossible de supprimer cette pièce car elle possède encore: ${blockingReasons.join(
|
where: { pieceId: id },
|
||||||
', ',
|
});
|
||||||
)}. Supprimez ou détachez ces éléments avant de réessayer.`,
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return this.prisma.piece.delete({
|
return this.prisma.piece.delete({
|
||||||
|
|||||||
Reference in New Issue
Block a user