From 9781d63a600c9cf76b9dbd861186766b4f6b4cf3 Mon Sep 17 00:00:00 2001 From: ale Date: Thu, 11 Jul 2024 19:00:31 -0300 Subject: [PATCH] agregado id de grupo de compra a la cookie para poder (des)habilitar devoluciones --- resources/js/app.js | 44 ++++++++++++--------- resources/js/components/SubpedidoSelect.vue | 3 +- routes/web.php | 13 ++++-- 3 files changed, 37 insertions(+), 23 deletions(-) diff --git a/resources/js/app.js b/resources/js/app.js index 73cefc7..026177f 100644 --- a/resources/js/app.js +++ b/resources/js/app.js @@ -72,26 +72,34 @@ const app = new Vue({ cantidad(producto) { let pedido = this.productos.some(p => p.id == producto.id) return pedido ? this.productos.find(p => p.id == producto.id).pivot.cantidad : 0 - } + }, + settearDevoluciones() { + axios.get(`/api/grupos-de-compra/${this.gdc}/devoluciones`) + .then(response => { + this.devoluciones = response.data.devoluciones; + }); + } }, mounted() { - Event.$on('obtener-sesion', () => { - axios.get('/subpedidos/obtener_sesion') - .then(response => { - if (response.data.subpedido.id) { - this.pedido = response.data.subpedido.id - axios.get('/api/subpedidos/' + this.pedido) - .then(response => { - this.pedido = response.data.data - }) - } else { - axios.get('/admin/obtener_sesion') - .then(response => { - this.gdc = response.data.gdc - }) - } - }) - }) + Event.$on('obtener-sesion', () => { + axios.get('/subpedidos/obtener_sesion') + .then(response => { + if (response.data.subpedido.id) { + this.gdc = response.data.gdc; + this.settearDevoluciones(); + this.pedido = response.data.subpedido.id; + axios.get('/api/subpedidos/' + this.pedido) + .then(response => { + this.pedido = response.data.data; + }); + } else { + axios.get('/admin/obtener_sesion') + .then(response => { + this.gdc = response.data.gdc + }); + } + }) + }) Event.$on('sync-subpedido', (cantidad, id) => { if (this.pedido.aprobado) { this.$toast('No se puede modificar un pedido ya aprobado', 2000); diff --git a/resources/js/components/SubpedidoSelect.vue b/resources/js/components/SubpedidoSelect.vue index 12e5037..9031c7a 100644 --- a/resources/js/components/SubpedidoSelect.vue +++ b/resources/js/components/SubpedidoSelect.vue @@ -79,7 +79,8 @@ }, guardarSubpedidoEnSesion(subpedido) { axios.post("/subpedidos/guardar_sesion", { - subpedido: subpedido + subpedido: subpedido, + grupo_de_compra_id: this.gdcid }).then(_ => { Event.$emit('obtener-sesion') window.location.href = 'productos'; diff --git a/routes/web.php b/routes/web.php index 2b57d96..f0df5a8 100644 --- a/routes/web.php +++ b/routes/web.php @@ -34,11 +34,11 @@ Route::get('/admin/obtener_sesion', function() { Route::middleware(['auth', 'admin'])->group( function () { Route::get('/admin/pedidos', 'AdminController@index')->name('admin_login.index'); - + Route::get('/admin/exportar-planillas-a-pdf/{gdc}', 'AdminController@exportarPlanillasAPdf'); - + Route::get('/admin/exportar-pedido-a-csv/{gdc}', 'AdminController@exportarPedidoACSV'); - + Route::get('/admin/exportar-pedido-con-nucleos-a-csv/{gdc}', 'AdminController@exportarPedidoConNucleosACSV'); }); @@ -54,8 +54,12 @@ Route::middleware('auth')->group( function() { if (!isset($r["subpedido"])) { throw new HttpException(400, "La request necesita un subpedido para guardar en sesión"); } + if (!isset($r["grupo_de_compra_id"])) { + throw new HttpException(400, "La request necesita un grupo de compra para guardar en sesión"); + } session(["subpedido_nombre" => $r["subpedido"]["nombre"]]); session(["subpedido_id" => $r["subpedido"]["id"]]); + session(["gdc" => $r["grupo_de_compra_id"]]); return "Subpedido guardado en sesión"; })->name('guardarSesion'); @@ -64,7 +68,8 @@ Route::middleware('auth')->group( function() { 'subpedido' => [ 'nombre' => session("subpedido_nombre"), 'id' => session("subpedido_id") - ] + ], + 'gdc' => session("gdc") ]; return $sesion; })->name('obtenerSesion');