From 8488d9d6c559c2cb82548ab3b43782390d9cb61b Mon Sep 17 00:00:00 2001 From: ale Date: Mon, 26 May 2025 16:37:19 -0300 Subject: [PATCH] Movida logica de obtener sesion a subpedido select + simplificado elegir pedido + mejores responses de session controller --- app/Http/Controllers/SessionController.php | 14 ++++-- resources/js/components/pedidos/Body.vue | 4 +- .../js/components/pedidos/SubpedidoSelect.vue | 44 ++++++++++++++----- resources/js/store/modules/pedido.js | 13 ++---- 4 files changed, 48 insertions(+), 27 deletions(-) diff --git a/app/Http/Controllers/SessionController.php b/app/Http/Controllers/SessionController.php index 76f4eda..a766524 100644 --- a/app/Http/Controllers/SessionController.php +++ b/app/Http/Controllers/SessionController.php @@ -3,13 +3,16 @@ namespace App\Http\Controllers; use App\Subpedido; +use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; +use Illuminate\Http\Response; use Illuminate\Support\Facades\Auth; use Illuminate\Validation\Rule; class SessionController extends Controller { - public function store(Request $request) { + public function store(Request $request): Response + { $grupo_de_compra_id = Auth::user()->grupo_de_compra_id; $validated = $request->validate([ 'id' => 'required', @@ -19,11 +22,14 @@ class SessionController extends Controller return response()->noContent(); } - public function fetch() { - return session('pedido_id'); + public function fetch(): JsonResponse + { + return response()->json(['id' => session('pedido_id')]); } - public function destroy() { + public function destroy(): Response + { session()->forget('pedido_id'); + return response()->noContent(); } } diff --git a/resources/js/components/pedidos/Body.vue b/resources/js/components/pedidos/Body.vue index c4b0628..15462f6 100644 --- a/resources/js/components/pedidos/Body.vue +++ b/resources/js/components/pedidos/Body.vue @@ -8,9 +8,9 @@ diff --git a/resources/js/components/pedidos/SubpedidoSelect.vue b/resources/js/components/pedidos/SubpedidoSelect.vue index d2e9e0e..d409f75 100644 --- a/resources/js/components/pedidos/SubpedidoSelect.vue +++ b/resources/js/components/pedidos/SubpedidoSelect.vue @@ -11,21 +11,30 @@
-
- -

Podés seguir escribiendo en el campo de arriba para refinar la búsqueda.

-
+ +

+ Podés seguir escribiendo en el campo de arriba para refinar la búsqueda. +

+
-

+

+ {{ subpedidoExistente.nombre }} +

-
@@ -35,11 +44,16 @@ + + diff --git a/resources/js/store/modules/pedido.js b/resources/js/store/modules/pedido.js index b954111..9074c26 100644 --- a/resources/js/store/modules/pedido.js +++ b/resources/js/store/modules/pedido.js @@ -47,13 +47,6 @@ const actions = { async guardarSesion(_, { pedido_id }) { await axios.post("/pedido/sesion", { id: pedido_id }); }, - async getSesion({ commit }) { - const sesion = await axios.get("/pedido/sesion"); - if (sesion.data) { - const response = await axios.get(`/api/subpedidos/${sesion.data}`); - commit('setPedido', response.data.data); - } - }, async crearPedido({ commit, dispatch }, { nombre, grupo_de_compra_id }) { const response = await axios.post("/api/subpedidos", { nombre: nombre, @@ -62,9 +55,9 @@ const actions = { dispatch("guardarSesion", { pedido_id: response.data.data.id}); commit('setPedido', response.data.data); }, - async elegirPedido({ commit, dispatch }, { pedido }) { - const response = await axios.get(`/api/subpedidos/${pedido.id}`); - dispatch("guardarSesion", { pedido_id: response.data.data.id}) + async elegirPedido({ commit, dispatch }, { pedido_id }) { + const response = await axios.get(`/api/subpedidos/${pedido_id}`); + dispatch("guardarSesion", { pedido_id: pedido_id}) commit('setPedido', response.data.data); }, async modificarChismosa({ commit, dispatch }, { producto_id, cantidad, notas }) {