diff --git a/frontend/src/views/PlantesView.vue b/frontend/src/views/PlantesView.vue index 3ca5f5e..79266b9 100644 --- a/frontend/src/views/PlantesView.vue +++ b/frontend/src/views/PlantesView.vue @@ -868,25 +868,36 @@ function closeFormVariety() { async function submitVariety() { if (!detailPlantObj.value?.id) return const payload = { ...formVariety, prix_achat: formVariety.prix_achat ?? undefined } - if (editVariety.value?.id) { - await plantsStore.updateVariety(detailPlantObj.value.id, editVariety.value.id, payload) - toast.success('Variété modifiée') - } else { - await plantsStore.createVariety(detailPlantObj.value.id, payload) - toast.success('Variété ajoutée') + try { + if (editVariety.value?.id) { + await plantsStore.updateVariety(detailPlantObj.value.id, editVariety.value.id, payload) + toast.success('Variété modifiée') + } else { + await plantsStore.createVariety(detailPlantObj.value.id, payload) + toast.success('Variété ajoutée') + } + // Refresh plant data so detailPlantObj reflects updated varieties + await plantsStore.fetchAll() + const updatedPlant = plantsStore.plants.find(p => p.id === detailPlantObj.value?.id) + if (updatedPlant) detailPlantObj.value = updatedPlant + closeFormVariety() + } catch { + // L'intercepteur Axios affiche le message d'erreur } - // Refresh plant data so detailPlantObj reflects updated varieties - await plantsStore.fetchAll() - const updatedPlant = plantsStore.plants.find(p => p.id === detailPlantObj.value?.id) - if (updatedPlant) detailPlantObj.value = updatedPlant - closeFormVariety() } async function deleteVariety(vid: number) { if (!detailPlantObj.value?.id) return if (!confirm('Supprimer cette variété ?')) return - await plantsStore.removeVariety(detailPlantObj.value.id, vid) - toast.success('Variété supprimée') + try { + await plantsStore.removeVariety(detailPlantObj.value.id, vid) + await plantsStore.fetchAll() + const updatedPlant = plantsStore.plants.find(p => p.id === detailPlantObj.value?.id) + if (updatedPlant) detailPlantObj.value = updatedPlant + toast.success('Variété supprimée') + } catch { + // L'intercepteur Axios affiche le message d'erreur + } } async function submitPlant() {