From f837b7f066708bf1c8a9034f7a9ece1ee75561b4 Mon Sep 17 00:00:00 2001 From: ale Date: Fri, 23 May 2025 02:13:09 -0300 Subject: [PATCH] Tirando error cuando se intenta modificar un pedido aprobado --- .../Controllers/Api/SubpedidoController.php | 5 +-- resources/js/store/modules/pedido.js | 34 ++++++++++++------- 2 files changed, 24 insertions(+), 15 deletions(-) diff --git a/app/Http/Controllers/Api/SubpedidoController.php b/app/Http/Controllers/Api/SubpedidoController.php index 6303d7d..7e6b266 100644 --- a/app/Http/Controllers/Api/SubpedidoController.php +++ b/app/Http/Controllers/Api/SubpedidoController.php @@ -57,7 +57,7 @@ class SubpedidoController extends Controller // recibe request, saca producto y cantidad, valida, y pasa a syncProducto en Subpedido public function syncProductos(Subpedido $subpedido) { if ($subpedido->aprobado) - return new SubpedidoResource($subpedido); + abort(400, "No se puede modificar un pedido aprobado."); $valid = request()->validate([ 'cantidad' => ['integer','required','min:0'], @@ -84,7 +84,8 @@ class SubpedidoController extends Controller } public function syncDevoluciones(Subpedido $subpedido) { - if ($subpedido->aprobado) return new SubpedidoResource($subpedido); + if ($subpedido->aprobado) + abort(400, "No se puede modificar un pedido aprobado."); $valid = request()->validate([ 'total' => 'required|min:0', diff --git a/resources/js/store/modules/pedido.js b/resources/js/store/modules/pedido.js index fd4c8ed..6a2a2f3 100644 --- a/resources/js/store/modules/pedido.js +++ b/resources/js/store/modules/pedido.js @@ -42,20 +42,28 @@ const actions = { const response = await axios.get(`/api/subpedidos/${pedido.id}`); commit('setState', response.data.data); }, - async modificarChismosa({ commit }, { producto_id, cantidad, notas }) { - const response = await axios.post("/api/subpedidos/" + state.pedido_id + "/sync", { - cantidad: cantidad, - producto_id: producto_id, - notas: notas, - }); - commit('setState', response.data.data); + async modificarChismosa({ commit, dispatch }, { producto_id, cantidad, notas }) { + try { + const response = await axios.post("/api/subpedidos/" + state.pedido_id + "/sync", { + cantidad: cantidad, + producto_id: producto_id, + notas: notas, + }); + commit('setState', response.data.data); + } catch (error) { + dispatch("ui/error", { error: error }, { root: true }); + } }, - async modificarDevoluciones({ commit }, { monto, notas }) { - const response = await axios.post("api/subpedidos/" + state.pedido_id + "/sync_devoluciones", { - total: monto, - notas: notas, - }); - commit('setState', response.data.data); + async modificarDevoluciones({ commit, dispatch }, { monto, notas }) { + try { + const response = await axios.post("api/subpedidos/" + state.pedido_id + "/sync_devoluciones", { + total: monto, + notas: notas, + }); + commit('setState', response.data.data); + } catch (error) { + dispatch("ui/error", { error: error }, { root: true }); + } }, };