From d8afcf9c321afaba2175e72b3b765d8bde0444fa Mon Sep 17 00:00:00 2001 From: Jaime Jimenez Date: Wed, 16 Aug 2023 19:44:00 +0200 Subject: [PATCH] Trabajando --- ci4/app/Config/Routes.php | 4 +- .../Tarifas/Tarifaencuadernaciontiradas.php | 34 +++- .../Tarifas/Tarifasencuadernacion.php | 12 ++ .../en/TarifaEncuadernacionLineas.php | 1 + .../es/TarifaEncuadernacionLineas.php | 1 + ci4/app/Models/Compras/ProveedorModel.php | 4 +- ci4/app/Models/Compras/ProveedorTipoModel.php | 6 +- .../themes/_commonPartialsBs/_alertBoxes.php | 10 +- .../viewTarifaEncuadernacionForm.php | 173 +++++++++++------- 9 files changed, 158 insertions(+), 87 deletions(-) diff --git a/ci4/app/Config/Routes.php b/ci4/app/Config/Routes.php index 3c6ebf21..52415fbe 100644 --- a/ci4/app/Config/Routes.php +++ b/ci4/app/Config/Routes.php @@ -378,13 +378,15 @@ $routes->group('tarifaencuadernacionlineas', ['namespace' => 'App\Controllers\Ta }); $routes->resource('tarifaencuadernacionlineas', ['namespace' => 'App\Controllers\Tarifas', 'controller' => 'Tarifaencuadernacionlineas', 'except' => 'show,new,create,update']); + $routes->group('tarifaencuadernaciontiradas', ['namespace' => 'App\Controllers\Tarifas'], function ($routes) { $routes->post('datatable', 'Tarifaencuadernaciontiradas::datatable', ['as' => 'dataTableOfTarifaEncuadernacionTiradas']); $routes->post('datatable_editor', 'Tarifaencuadernaciontiradas::datatable_editor', ['as' => 'editorOfTarifaEncuadernacionTiradas']); $routes->post('menuitems', 'Tarifaencuadernaciontiradas::menuItems', ['as' => 'menuItemsOfTarifaencuadernaciontiradas']); -}); +}); $routes->resource('tarifaencuadernaciontiradas', ['namespace' => 'App\Controllers\Tarifas', 'controller' => 'Tarifaencuadernaciontiradas', 'except' => 'show,new,create,update']); + $routes->group('proveedores', ['namespace' => 'App\Controllers\Compras'], function ($routes) { $routes->get('', 'Proveedores::index', ['as' => 'proveedorList']); $routes->get('add', 'Proveedores::add', ['as' => 'newProveedor']); diff --git a/ci4/app/Controllers/Tarifas/Tarifaencuadernaciontiradas.php b/ci4/app/Controllers/Tarifas/Tarifaencuadernaciontiradas.php index ab32c9ab..67ff3c07 100644 --- a/ci4/app/Controllers/Tarifas/Tarifaencuadernaciontiradas.php +++ b/ci4/app/Controllers/Tarifas/Tarifaencuadernaciontiradas.php @@ -27,6 +27,26 @@ class Tarifaencuadernaciontiradas extends \App\Controllers\GoBaseResourceControl { protected static $controllerSlug = 'tarifaencuadernaciontiradas'; + protected $modelName = TarifaEncuadernacionTiradaModel::class; + protected $format = 'json'; + + protected static $singularObjectName = 'Tarifa Encuadernacion Tirada'; + protected static $singularObjectNameCc = 'tarifaEncuadernacionTirada'; + protected static $pluralObjectName = 'Tarifa Encuadernacion Tiradas'; + protected static $pluralObjectNameCc = 'tarifaEncuadernacionTiradas'; + + public function initController(\CodeIgniter\HTTP\RequestInterface $request, \CodeIgniter\HTTP\ResponseInterface $response, \Psr\Log\LoggerInterface $logger) + { + // Se indica que este controlador trabaja con soft_delete + $this->soft_delete = true; + // Se indica el flag para los ficheros borrados + $this->delete_flag = 1; + + $this->viewData = ['usingServerSideDataTable' => true]; // JJO + + parent::initController($request, $response, $logger); + } + public function datatable_editor() { if ($this->request->isAJAX()) { @@ -50,14 +70,11 @@ class Tarifaencuadernaciontiradas extends \App\Controllers\GoBaseResourceControl ->validator('Validate::notEmpty', array( 'message' => lang('TarifaAcabadoLineas.validation.paginas_max.required')) ), - Field::inst('proveedor') - ->options( Options::inst() - ->table( 'lg_proveedores' ) - ->value( 'id' ) - ->label( 'nombre' ) - ), + Field::inst('proveedor_id') + ->validator('Validate::notEmpty', array( + 'message' => lang('TarifaAcabadoLineas.validation.paginas_max.required')) + ), Field::inst('tarifa_encuadernacion_id'), - Field::inst('proveedor_id'), Field::inst('user_created_id'), Field::inst('created_at'), Field::inst('user_updated_id'), @@ -161,9 +178,10 @@ class Tarifaencuadernaciontiradas extends \App\Controllers\GoBaseResourceControl $tipoId = $provTipoModel->getTipoId("Encuadernacion"); $provList = $provModel->getProvList($tipoId); - + $newTokenHash = csrf_hash(); $csrfTokenName = csrf_token(); + $data = [ 'data' => $provList, $csrfTokenName => $newTokenHash diff --git a/ci4/app/Controllers/Tarifas/Tarifasencuadernacion.php b/ci4/app/Controllers/Tarifas/Tarifasencuadernacion.php index 12c6c168..f9fc8713 100644 --- a/ci4/app/Controllers/Tarifas/Tarifasencuadernacion.php +++ b/ci4/app/Controllers/Tarifas/Tarifasencuadernacion.php @@ -8,6 +8,9 @@ use App\Models\Collection; use App\Entities\Tarifas\TarifaEncuadernacionEntity; use App\Models\Tarifas\TarifaEncuadernacionModel; +use App\Models\Compras\ProveedorModel; +use App\Models\Compras\ProveedorTipoModel; + class Tarifasencuadernacion extends \App\Controllers\GoBaseResourceController { @@ -210,6 +213,8 @@ class Tarifasencuadernacion extends \App\Controllers\GoBaseResourceController $this->viewData['boxTitle'] = lang('Basic.global.edit2') . ' ' . lang('Tarifaencuadernacion.moduleTitle') . ' ' . lang('Basic.global.edit3'); + //JJO + $this->viewData['proveedores'] = $this->getProveedores(); return $this->displayForm(__METHOD__, $id); } // end function edit(...) @@ -293,4 +298,11 @@ class Tarifasencuadernacion extends \App\Controllers\GoBaseResourceController } } + private function getProveedores(){ + $provTipoModel = new ProveedorTipoModel(); + $provModel = new ProveedorModel(); + + $tipoId = $provTipoModel->getTipoId("Encuadernacion"); + return $provModel->getProvList($tipoId); + } } diff --git a/ci4/app/Language/en/TarifaEncuadernacionLineas.php b/ci4/app/Language/en/TarifaEncuadernacionLineas.php index d3528a85..97f92970 100644 --- a/ci4/app/Language/en/TarifaEncuadernacionLineas.php +++ b/ci4/app/Language/en/TarifaEncuadernacionLineas.php @@ -13,6 +13,7 @@ return [ 'paginasMin' => 'Min Pages', 'margen' => 'Margin', 'validation' => [ + 'error_seleccion_tiradas' => 'A line from the Printings table must be selected before creating a new record.', 'error_paginas_overlap' => 'The range [Min Pages, Max Pages] is overlapped with another one for the selected type.', 'error_paginas_range' => 'The field Min Pages must be lower than the field Max Pages', 'precio_max' => [ diff --git a/ci4/app/Language/es/TarifaEncuadernacionLineas.php b/ci4/app/Language/es/TarifaEncuadernacionLineas.php index eb7f5f84..69f95d65 100644 --- a/ci4/app/Language/es/TarifaEncuadernacionLineas.php +++ b/ci4/app/Language/es/TarifaEncuadernacionLineas.php @@ -13,6 +13,7 @@ return [ 'paginasMin' => 'Páginas Min', 'margen' => 'Margen', 'validation' => [ + 'error_seleccion_tiradas' => 'Debe seleccionar una línea de la tabla tiradas antes de crear un registro nuevo.', 'error_paginas_overlap' => 'El rango [Páginas Min, Páginas Max] se solapa con otro existente para el tipo seleccionado.', 'error_paginas_range' => 'El campo Páginas Min debe ser menor que el campo Páginas Max', 'precio_max' => [ diff --git a/ci4/app/Models/Compras/ProveedorModel.php b/ci4/app/Models/Compras/ProveedorModel.php index bb77ee7f..2366636d 100644 --- a/ci4/app/Models/Compras/ProveedorModel.php +++ b/ci4/app/Models/Compras/ProveedorModel.php @@ -205,9 +205,9 @@ class ProveedorModel extends \App\Models\GoBaseModel $builder = $this->db ->table($this->table . " t1") ->select( - "t1.id AS proveedor_id, t1.nombre AS proveedor") + "t1.id AS value, t1.nombre AS label") ->where("tipo_id", $tipoId); - return $builder->getResult('array'); + return $builder->get()->getResultObject(); } } diff --git a/ci4/app/Models/Compras/ProveedorTipoModel.php b/ci4/app/Models/Compras/ProveedorTipoModel.php index 1c8c9a99..747e5973 100644 --- a/ci4/app/Models/Compras/ProveedorTipoModel.php +++ b/ci4/app/Models/Compras/ProveedorTipoModel.php @@ -81,6 +81,10 @@ class ProveedorTipoModel extends \App\Models\GoBaseModel ->select("t1.id AS id") ->where("t1.nombre", $tipo); - return $builder->get()->getResultObject(); + $rows = $builder->get()->getResultObject(); + if(sizeof($rows)>0) + return intval($rows[0]->id); + else + return -1; } } diff --git a/ci4/app/Views/themes/_commonPartialsBs/_alertBoxes.php b/ci4/app/Views/themes/_commonPartialsBs/_alertBoxes.php index d3b7e52f..ab60abcd 100644 --- a/ci4/app/Views/themes/_commonPartialsBs/_alertBoxes.php +++ b/ci4/app/Views/themes/_commonPartialsBs/_alertBoxes.php @@ -24,9 +24,7 @@ if (session()->has('error')) { section('additionalInlineJs') ?> -function popAlert(message, alertType){ - var alertClass = "alert-" + alertType; - var alertIcon = alertType == "success" ? "ti-check" : "ti-" + alertType; +function popAlert(message, alertClass, alertIcon){ var htmlString = `