From d472a76ca580383aa0e757d669a6fc79cd57d925 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaime=20Jim=C3=A9nez?= Date: Wed, 8 May 2024 14:49:18 +0200 Subject: [PATCH] Terminado direcciones --- ci4/app/Config/Routes.php | 2 + .../Presupuestos/Presupuestocliente.php | 71 +- .../Clientes/ClienteDireccionesModel.php | 8 + .../cliente/_clienteDireccionesForm.php | 6 +- .../cliente/_direccionesItems.php | 2 + .../form/presupuestos/cliente/direcciones.js | 163 +- .../form/presupuestos/cliente/disenioLibro.js | 3 +- .../cliente/viewPresupuestoclienteForm.php | 1 + xdebug.log | 8104 +++++++++++++++++ 9 files changed, 8316 insertions(+), 44 deletions(-) diff --git a/ci4/app/Config/Routes.php b/ci4/app/Config/Routes.php index 375e1890..2d83fb2d 100755 --- a/ci4/app/Config/Routes.php +++ b/ci4/app/Config/Routes.php @@ -560,6 +560,8 @@ $routes->group('presupuestocliente', ['namespace' => 'App\Controllers\Presupuest $routes->post('getgramaje', 'Presupuestocliente::getGramaje', ['as' => 'obtenerGramaje']); $routes->post('presupuesto', 'Presupuestocliente::presupuesto', ['as' => 'presupuestoCliente']); $routes->post('getDireccionesCliente', 'Presupuestocliente::getDireccionesCliente', ['as' => 'getDirecciones']); + $routes->post('getDatosDireccion', 'Presupuestocliente::getDatosDireccion', ['as' => 'getDatosDireccion']); + $routes->post('getNuevaDireccion', 'Presupuestocliente::getNuevaDireccion', ['as' => 'nuevaDireccion']); }); $routes->resource('presupuestocliente', ['namespace' => 'App\Controllers\Presupuestos', 'controller' => 'Presupuestocliente', 'except' => 'show,new,create,update']); diff --git a/ci4/app/Controllers/Presupuestos/Presupuestocliente.php b/ci4/app/Controllers/Presupuestos/Presupuestocliente.php index 5962c7fe..86c310e1 100755 --- a/ci4/app/Controllers/Presupuestos/Presupuestocliente.php +++ b/ci4/app/Controllers/Presupuestos/Presupuestocliente.php @@ -147,7 +147,6 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController // Se obtiene el cliente ID a partir del usuario de la sesion $clienteId = 999; // Fijo hasta desarollar clientes usuarios - $presupuestoEntity = isset($sanitizedData) ? new PresupuestoEntity($sanitizedData) : new PresupuestoEntity(); $presupuestoEntity->clienteId = $clienteId; @@ -172,6 +171,8 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController $this->viewData['formAction'] = route_to('crearPresupuestoCliente'); + $this->viewData['paisList'] = $this->getPaisListItems(); + $this->viewData['presupuestoEntity'] = $presupuestoEntity; $this->viewData['datosPresupuesto'] = $datosPresupuesto; @@ -963,6 +964,65 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController } } + public function getDatosDireccion(){ + + if ($this->request->isAJAX()) { + + $newTokenHash = csrf_hash(); + $csrfTokenName = csrf_token(); + + $reqData = $this->request->getPost(); + $direccionId = $reqData['id'] ?? 0; + $model = model('App\Models\Clientes\ClienteDireccionesModel'); + $data = $model->getDireccion($direccionId); + + + return $this->respond([ + 'data'=>$data, + $csrfTokenName => $newTokenHash + ]); + } else { + return $this->failUnauthorized('Invalid request', 403); + } + } + + public function getNuevaDireccion(){ + + if ($this->request->isAJAX()) { + + $newTokenHash = csrf_hash(); + $csrfTokenName = csrf_token(); + + $reqData = $this->request->getPost(); + + $data = [ + 'cliente_id' => $reqData['cliente_id'] ?? 0, + 'alias' => $reqData['alias'] ?? "", + 'att' => $reqData['att'] ?? "", + 'email' => $reqData['email'] ?? "", + 'direccion' => $reqData['direccion'] ?? "", + 'pais_id' => $reqData['pais_id'] ?? 0, + 'municipio' => $reqData['municipio'] ?? "", + 'provincia' => $reqData['provincia'] ?? "", + 'cp' => $reqData['cp'] ?? "", + 'telefono' => $reqData['telefono'] ?? "" + ]; + + $model = model('App\Models\Clientes\ClienteDireccionesModel'); + $id = $model->nuevaDireccion($data); + + $menu = $model->getMenuDirecciones($data['cliente_id']); + + + return $this->respond([ + 'data'=>$menu, + $csrfTokenName => $newTokenHash + ]); + } else { + return $this->failUnauthorized('Invalid request', 403); + } + } + /*********************** * @@ -1077,4 +1137,13 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController endif; return $data; } + + protected function getPaisListItems() + { + $paisModel = model('App\Models\Configuracion\PaisModel'); + $onlyActiveOnes = true; + $data = $paisModel->getAllForMenu('id, nombre', 'nombre', $onlyActiveOnes); + + return $data; + } } diff --git a/ci4/app/Models/Clientes/ClienteDireccionesModel.php b/ci4/app/Models/Clientes/ClienteDireccionesModel.php index 8f5e3b97..09d8f385 100755 --- a/ci4/app/Models/Clientes/ClienteDireccionesModel.php +++ b/ci4/app/Models/Clientes/ClienteDireccionesModel.php @@ -141,6 +141,7 @@ class ClienteDireccionesModel extends \App\Models\BaseModel return $builder->get()->getResultObject(); } + public function getMenuDirecciones($cliente_id=-1){ @@ -154,4 +155,11 @@ class ClienteDireccionesModel extends \App\Models\BaseModel return $builder->get()->getResultArray(); } + + public function nuevaDireccion($data) + { + $builder = $this->db->table($this->table); + $builder->insert($data); + return $this->db->insertID(); + } } diff --git a/ci4/app/Views/themes/backend/vuexy/form/clientes/cliente/_clienteDireccionesForm.php b/ci4/app/Views/themes/backend/vuexy/form/clientes/cliente/_clienteDireccionesForm.php index 9bdc786b..851428a2 100755 --- a/ci4/app/Views/themes/backend/vuexy/form/clientes/cliente/_clienteDireccionesForm.php +++ b/ci4/app/Views/themes/backend/vuexy/form/clientes/cliente/_clienteDireccionesForm.php @@ -19,7 +19,7 @@
@@ -65,7 +65,7 @@