From 9c3a7848f373e27e65ab7036ec504d6eb401a33c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaime=20Jim=C3=A9nez?= Date: Mon, 14 Oct 2024 14:29:43 +0200 Subject: [PATCH] arreglado los select2 para que funcionen con el select2 de alvaro --- ci4/app/Config/Routes.php | 1 + ci4/app/Controllers/Clientes/Cliente.php | 24 +++++++++++++++++++ .../assets/js/safekat/components/select2.js | 16 +++++++++---- .../presupuestoCliente/datosGenerales.js | 2 +- 4 files changed, 37 insertions(+), 6 deletions(-) diff --git a/ci4/app/Config/Routes.php b/ci4/app/Config/Routes.php index 1448159a..f2958a65 100644 --- a/ci4/app/Config/Routes.php +++ b/ci4/app/Config/Routes.php @@ -370,6 +370,7 @@ $routes->group('clientes', ['namespace' => 'App\Controllers\Clientes'], function $routes->get('delete/(:num)', 'Cliente::delete/$1', ['as' => 'clienteDelete']); $routes->post('datatable', 'Cliente::datatable', ['as' => 'clienteDT']); $routes->post('menuitems', 'Cliente::menuItems', ['as' => 'menuItemsOfClientes']); + $routes->get('getSelect2', 'Cliente::getSelect2', ['as' => 'getListaSelect2']); }); }); diff --git a/ci4/app/Controllers/Clientes/Cliente.php b/ci4/app/Controllers/Clientes/Cliente.php index 678532c9..44c7e8f4 100755 --- a/ci4/app/Controllers/Clientes/Cliente.php +++ b/ci4/app/Controllers/Clientes/Cliente.php @@ -330,6 +330,30 @@ class Cliente extends \App\Controllers\BaseResourceController } + public function getSelect2() + { + if ($this->request->isAJAX()) { + $searchStr = goSanitize($this->request->getGet('searchTerm'))[0]; + $reqId = goSanitize($this->request->getGet('id'))[0]; + $reqText = goSanitize($this->request->getGet('text'))[0]; + $onlyActiveOnes = false; + $columns2select = [$reqId ?? 'id', $reqText ?? 'nombre']; + $onlyActiveOnes = false; + try{ + $menu = $this->model->getSelect2MenuItems($columns2select, $columns2select[1], $onlyActiveOnes, $searchStr); + } + catch(Exception $e){ + $menu = []; + } + + $menu, + return $this->respond($menu); + } else { + return $this->failUnauthorized('Invalid request', 403); + } + } + + protected function getPaisListItems($selId = null) { $paisModel = model('App\Models\Configuracion\PaisModel'); diff --git a/httpdocs/assets/js/safekat/components/select2.js b/httpdocs/assets/js/safekat/components/select2.js index b3fe0317..a2b71f22 100644 --- a/httpdocs/assets/js/safekat/components/select2.js +++ b/httpdocs/assets/js/safekat/components/select2.js @@ -4,9 +4,11 @@ * @param {String} url * @param {String} placeholder */ -let ClassSelect = function (domItem, url, placeholder, allowClear = false) { +let ClassSelect = function (domItem, url, placeholder, allowClear = false, params = {}) { this.url = url; this.item = domItem; + this.params = params; + this.config = { placeholder: placeholder, allowClear: allowClear, @@ -15,10 +17,14 @@ let ClassSelect = function (domItem, url, placeholder, allowClear = false) { url: () => { return this.url; }, - data: function (params) { - return { - q: $.trim(params.term), - }; + data: (params) => { + let d = $.trim(params.term); + + for (let key in this.params) { + d[key] = this.params[key]; + } + + return d; }, processResults: function (data) { return { diff --git a/httpdocs/assets/js/safekat/pages/presupuestoCliente/datosGenerales.js b/httpdocs/assets/js/safekat/pages/presupuestoCliente/datosGenerales.js index 78e8ebc2..e0e33c4f 100644 --- a/httpdocs/assets/js/safekat/pages/presupuestoCliente/datosGenerales.js +++ b/httpdocs/assets/js/safekat/pages/presupuestoCliente/datosGenerales.js @@ -10,7 +10,7 @@ class DatosGenerales { this.validatorStepper = validatorStepper; this.formatoLibro = new ClassSelect($("#papelFormatoId"), '/papel-formato/menuitems', window.translations["formatoLibro"]); - this.cliente = new ClassSelect($("#clienteId"), '/clientes/cliente/menuitems', window.translations["selectCliente"]); + this.cliente = new ClassSelect($("#clienteId"), '/clientes/cliente/getSelect2', window.translations["selectCliente"]); this.titulo = this.domItem.find("#titulo");