diff --git a/ci4/app/Config/RBAC/permissionMatrix.php b/ci4/app/Config/RBAC/permissionMatrix.php index c9f0a2ee..19be9092 100644 --- a/ci4/app/Config/RBAC/permissionMatrix.php +++ b/ci4/app/Config/RBAC/permissionMatrix.php @@ -41,10 +41,18 @@ const SK_PERMISSION_MATRIX = [ "tarifa-acabado.edit", "tarifa-acabado.delete", "tarifa-acabado.menu", + "servicio-acabado.create", + "servicio-acabado.edit", + "servicio-acabado.delete", + "servicio-acabado.menu", "tarifa-encuadernacion.create", "tarifa-encuadernacion.edit", "tarifa-encuadernacion.delete", "tarifa-encuadernacion.menu", + "tarifa-extra.create", + "tarifa-extra.edit", + "tarifa-extra.delete", + "tarifa-extra.menu", "tarifa-envio.create", "tarifa-envio.edit", "tarifa-envio.delete", @@ -89,7 +97,6 @@ const SK_PERMISSION_MATRIX = [ "roles-permisos.edit", "roles-permisos.delete", "roles-permisos.menu", - "tickets.create", "tickets.edit", "tickets.menu", ], @@ -129,7 +136,6 @@ const SK_PERMISSION_MATRIX = [ "direcciones.menu", "presupuesto.create", "presupuesto.edit", - "presupuesto.delete", "presupuesto.menu", "presupuesto-cliente.create", "presupuesto-cliente.edit", @@ -221,10 +227,6 @@ const SK_PERMISSION_MATRIX = [ "tarifa-encuadernacion.edit", "tarifa-encuadernacion.delete", "tarifa-encuadernacion.menu", - "tarifa-extra.create", - "tarifa-extra.edit", - "tarifa-extra.delete", - "tarifa-extra.menu", "tarifa-envio.create", "tarifa-envio.edit", "tarifa-envio.delete", @@ -269,7 +271,6 @@ const SK_PERMISSION_MATRIX = [ "roles-permisos.edit", "roles-permisos.delete", "roles-permisos.menu", - "tickets.create", "tickets.edit", "tickets.menu", ], diff --git a/ci4/app/Config/RBAC/permissions.php b/ci4/app/Config/RBAC/permissions.php index 35e8235f..cb3aecac 100644 --- a/ci4/app/Config/RBAC/permissions.php +++ b/ci4/app/Config/RBAC/permissions.php @@ -41,6 +41,10 @@ const SK_PERMISSIONS = [ 'tarifa-acabado.edit' => 'Can edit', 'tarifa-acabado.delete' => 'Can delete', 'tarifa-acabado.menu' => 'Menu shall be visualize', + 'servicio-acabado.create' => 'Can create', + 'servicio-acabado.edit' => 'Can edit', + 'servicio-acabado.delete' => 'Can delete', + 'servicio-acabado.menu' => 'Menu shall be visualize', 'tarifa-encuadernacion.create' => 'Can create', 'tarifa-encuadernacion.edit' => 'Can edit', 'tarifa-encuadernacion.delete' => 'Can delete', @@ -93,7 +97,6 @@ const SK_PERMISSIONS = [ 'roles-permisos.edit' => 'Can edit', 'roles-permisos.delete' => 'Can delete', 'roles-permisos.menu' => 'Menu shall be visualize', - 'tickets.create' => 'Can create', 'tickets.edit' => 'Can edit', 'tickets.menu' => 'Menu shall be visualize', ]; diff --git a/ci4/app/Config/Routes.php b/ci4/app/Config/Routes.php index 5a60b886..39e25423 100644 --- a/ci4/app/Config/Routes.php +++ b/ci4/app/Config/Routes.php @@ -209,6 +209,18 @@ $routes->group('tarifasmanipulado', ['namespace' => 'App\Controllers\Tarifas'], $routes->resource('tarifasmanipulado', ['namespace' => 'App\Controllers\Tarifas', 'controller' => 'Tarifasmanipulado', 'except' => 'show,new,create,update']); +$routes->group('serviciosacabado', ['namespace' => 'App\Controllers\Tarifas\Acabados'], function ($routes) { + $routes->get('', 'ServiciosAcabado::index', ['as' => 'serviciosAcabadoList']); + $routes->get('add', 'ServiciosAcabado::add', ['as' => 'newServicioAcabado']); + $routes->post('add', 'ServiciosAcabado::add', ['as' => 'createServicioAcabado']); + $routes->get('edit/(:num)', 'ServiciosAcabado::edit/$1', ['as' => 'editServicioAcabado']); + $routes->post('edit/(:num)', 'ServiciosAcabado::edit/$1', ['as' => 'updateServicioAcabado']); + $routes->post('edit/(:num)', 'ServiciosAcabado::edit/$1', ['as' => 'updateServicioAcabado']); + $routes->get('datatable', 'ServiciosAcabado::datatable'); +}); +$routes->resource('tarifasmanipulado', ['namespace' => 'App\Controllers\Tarifas\Acabados', 'controller' => 'ServiciosAcabado', 'except' => 'show,new,create,update']); + + $routes->group('tarifamanipuladolineas', ['namespace' => 'App\Controllers\Tarifas'], function ($routes) { $routes->get('', 'Tarifamanipuladolineas::index', ['as' => 'tarifaManipuladoLineaList']); $routes->get('add', 'Tarifamanipuladolineas::add', ['as' => 'newTarifaManipuladoLinea']); diff --git a/ci4/app/Controllers/Tarifas/Acabados/ServiciosAcabado.php b/ci4/app/Controllers/Tarifas/Acabados/ServiciosAcabado.php index c350415a..1aed73dc 100644 --- a/ci4/app/Controllers/Tarifas/Acabados/ServiciosAcabado.php +++ b/ci4/app/Controllers/Tarifas/Acabados/ServiciosAcabado.php @@ -4,14 +4,14 @@ namespace App\Controllers\Tarifas\Acabados; use App\Controllers\BaseResourceController; use App\Entities\Tarifas\Acabados\ServicioAcabadoEntity; -use App\Models\Collection; -use App\Models\Tarifas\Acabados\ServiciosAcabadoModel; +use App\Models\Tarifas\Acabados\ServicioAcabadoModel; +use CodeIgniter\I18n\Time; +use Hermawan\DataTables\DataTable; - -class TarifaAcabados extends BaseResourceController +class ServiciosAcabado extends BaseResourceController { - protected $modelName = ServicioAcabadoEntity::class; + protected $modelName = ServicioAcabadoModel::class; protected $format = 'json'; protected static $singularObjectName = 'Servicio Acabado'; @@ -23,7 +23,7 @@ class TarifaAcabados extends BaseResourceController protected static $viewPath = 'themes/vuexy/form/tarifas/acabado/'; - protected $indexRoute = 'servicioAcabadoList'; + protected $indexRoute = 'serviciosAcabadoList'; public function initController(\CodeIgniter\HTTP\RequestInterface $request, \CodeIgniter\HTTP\ResponseInterface $response, \Psr\Log\LoggerInterface $logger) @@ -36,7 +36,7 @@ class TarifaAcabados extends BaseResourceController // Se indica el flag para los ficheros borrados $this->delete_flag = 1; - $this->viewData = ['usingServerSideDataTable' => true]; + //$this->viewData = ['usingServerSideDataTable' => true]; // Breadcrumbs $this->viewData['breadcrumb'] = [ @@ -44,6 +44,7 @@ class TarifaAcabados extends BaseResourceController ['title' => lang("App.menu_Servicioacabado"), 'route' => site_url('tarifas/acabados'), 'active' => true] ]; + helper("time"); parent::initController($request, $response, $logger); } @@ -62,7 +63,21 @@ class TarifaAcabados extends BaseResourceController $viewData = array_merge($this->viewData, $viewData); // merge any possible values from the parent controller class - return view(static::$viewPath . 'viewServicioAcabadoList', $viewData); + return view(static::$viewPath . 'viewServiciosAcabadoList', $viewData); + } + + public function datatable(){ + + $model = model(ServicioAcabadoModel::class); + $q = $model->getDatatableQuery(); + //return $this->response->setJSON($q->get()); + return DataTable::of($q) + ->add("action", fn($q) => $q->id) + ->edit( + "updated_at", + fn($q) => Time::createFromFormat("Y-m-d H:i:s",$q->updated_at)->format("d/m/Y") + ) + ->toJson(returnAsObject: true); } } \ No newline at end of file diff --git a/ci4/app/Database/Migrations/2025-02-24-093400_serviciosAcabado.php b/ci4/app/Database/Migrations/2025-02-24-093400_serviciosAcabado.php index 796e7495..a7f4c561 100644 --- a/ci4/app/Database/Migrations/2025-02-24-093400_serviciosAcabado.php +++ b/ci4/app/Database/Migrations/2025-02-24-093400_serviciosAcabado.php @@ -17,11 +17,6 @@ class CreateServiciosAcabadoTable extends Migration 'unsigned' => true, 'auto_increment' => true, ], - 'tarifa_id' => [ - 'type' => 'INT', - 'constraint' => 11, - 'unsigned' => true, - ], 'nombre' =>[ 'type' => 'VARCHAR', 'constraint' => 100, @@ -31,6 +26,18 @@ class CreateServiciosAcabadoTable extends Migration 'type' => 'TEXT', 'null' => true, ], + 'acabado_cubierta' => [ + 'type' => 'BOOLEAN', + 'default' => false, + ], + 'acabado_sobrecubierta' => [ + 'type' => 'BOOLEAN', + 'default' => false, + ], + 'mostrar_en_presupuesto_cliente' => [ + 'type' => 'BOOLEAN', + 'default' => true, + ], 'user_updated_id' => [ 'type' => 'INT', 'constraint' => 11, diff --git a/ci4/app/Language/es/App.php b/ci4/app/Language/es/App.php index a24597ea..bb2ea491 100755 --- a/ci4/app/Language/es/App.php +++ b/ci4/app/Language/es/App.php @@ -797,6 +797,7 @@ return [ "menu_tarifamanipulado" => "Manipulado", "menu_tarifaencuadernacion" => "Encuadernación", "menu_tarifapapelcompra" => "Papel compra", + "menu_serviciosAcabado" => "Servicios acabado", "menu_tarifaacabado" => "Acabado", "menu_tarifapapeldefecto" => "Papel defecto", "menu_tarifaenvio" => "Envío", diff --git a/ci4/app/Language/es/RolesPermisos.php b/ci4/app/Language/es/RolesPermisos.php index ccc4176a..9fbe24ba 100644 --- a/ci4/app/Language/es/RolesPermisos.php +++ b/ci4/app/Language/es/RolesPermisos.php @@ -38,6 +38,7 @@ return [ 'tarifaPreimpresionSection' => 'Tarifas de preimpresión', 'tarifaManipuladoSection' => 'Tarifas de manipulado', 'tarifaAcabadoSection' => 'Tarifas de acabado', + 'servicioAcabadoSection' => 'Servicios de acabado', 'tarifaEncuadernacionSection' => 'Tarifas de encuadernación', 'tarifaEnvioSection' => 'Tarifas de envio', 'tarifaExtraSection' => 'Tarifas extra', diff --git a/ci4/app/Language/es/ServicioAcabado.php b/ci4/app/Language/es/ServicioAcabado.php index 93a26322..02e86456 100755 --- a/ci4/app/Language/es/ServicioAcabado.php +++ b/ci4/app/Language/es/ServicioAcabado.php @@ -10,15 +10,16 @@ return [ 'comentarios' => 'Comentarios', 'mostrar_en_presupuesto_cliente' => 'Mostrar en presupuesto (cliente)', 'serviciosacabado' => 'Servicios Acabado', + 'servicioacabado' => 'Servicio Acabado', 'tarifasacabado' => 'Tarifas Acabado', - "servicio_cubierta" => "Acabado cubierta", - "servicio_sobrecubierta" => "Acabado sobrecubierta", + "servicio_cubierta" => "Servicio cubierta", + "servicio_sobrecubierta" => "Servicio sobrecubierta", 'tarifaacabado' => 'Tarifa Acabado', 'servicioscabadoList' => 'Lista Servicios Acabado', 'updatedAt' => 'Actualizado en', 'createdAt' => 'Creado en', 'deletedAt' => 'Borrado en', - 'userUpdateId' => 'ID Usuario "Actualizado en"', + 'userUpdateId' => 'Modificado por', 'validation' => [ 'nombre' => [ 'max_length' => 'El campo {field} no puede exceder {param} caracteres en longitud.', diff --git a/ci4/app/Models/Tarifas/Acabados/ServicioAcabadoModel.php b/ci4/app/Models/Tarifas/Acabados/ServicioAcabadoModel.php index d419a2f9..5468f0d7 100644 --- a/ci4/app/Models/Tarifas/Acabados/ServicioAcabadoModel.php +++ b/ci4/app/Models/Tarifas/Acabados/ServicioAcabadoModel.php @@ -1,17 +1,23 @@ "trim|required|max_length[100]", ], ]; + + public function getDatatableQuery(): BaseBuilder + { + $builder = $this->db + ->table($this->table . " t1") + ->select( + "t1.id, + t1.nombre, + t1.acabado_cubierta, + t1.acabado_sobrecubierta, + t1.mostrar_en_presupuesto_cliente, + CONCAT(users.first_name, ' ', users.last_name) as user_updated, + t1.updated_at", + ) + ->join("users", "t1.user_updated_id = users.id", "left") + ->where("t1.deleted_at", null); + return $builder; + } } diff --git a/ci4/app/Views/themes/vuexy/form/tarifas/acabado/viewServiciosAcabadoList.php b/ci4/app/Views/themes/vuexy/form/tarifas/acabado/viewServiciosAcabadoList.php new file mode 100644 index 00000000..c3c82a3d --- /dev/null +++ b/ci4/app/Views/themes/vuexy/form/tarifas/acabado/viewServiciosAcabadoList.php @@ -0,0 +1,57 @@ += $this->include('themes/_commonPartialsBs/datatables') ?> += $this->include('themes/_commonPartialsBs/_confirm2delete') ?> += $this->extend('themes/vuexy/main/defaultlayout') ?> += $this->section('content'); ?> +
| = lang('ServicioAcabado.id') ?> | += lang('ServicioAcabado.nombre') ?> | += lang('ServicioAcabado.servicio_cubierta') ?> | += lang('ServicioAcabado.servicio_sobrecubierta') ?> | += lang('ServicioAcabado.mostrar_en_presupuesto_cliente') ?> | += lang('ServicioAcabado.userUpdateId') ?> | += lang('ServicioAcabado.updatedAt') ?> | += lang('Basic.global.Action') ?> | +
|---|