diff --git a/ci4/app/Config/RBAC/permissionMatrix.php b/ci4/app/Config/RBAC/permissionMatrix.php index e8a6010b..9baeb81d 100644 --- a/ci4/app/Config/RBAC/permissionMatrix.php +++ b/ci4/app/Config/RBAC/permissionMatrix.php @@ -21,8 +21,6 @@ const SK_PERMISSION_MATRIX = [ "presupuesto-cliente.edit", "presupuesto-cliente.delete", "presupuesto-cliente.menu", - "pedidos-validacion.view", - "pedidos-validacion.menu", "pedidos-activos.view", "pedidos-activos.menu", "pedidos-finalizados.view", @@ -31,8 +29,6 @@ const SK_PERMISSION_MATRIX = [ "pedidos-cancelados.menu", "pedidos-todos.view", "pedidos-todos.menu", - "pedidos-gestion.toprod", - "pedidos-gestion.menu", "tarifa-preimpresion.create", "tarifa-preimpresion.edit", "tarifa-preimpresion.delete", @@ -224,6 +220,10 @@ const SK_PERMISSION_MATRIX = [ "proveedores.menu", "tickets.edit", "tickets.menu", + "facturas.create", + "facturas.edit", + "facturas.vencimientos", + "facturas.menu", ], "contabilidad" => [ "token.token", diff --git a/ci4/app/Config/RBAC/permissions.php b/ci4/app/Config/RBAC/permissions.php index fe9506f3..60a7ee8e 100644 --- a/ci4/app/Config/RBAC/permissions.php +++ b/ci4/app/Config/RBAC/permissions.php @@ -103,4 +103,8 @@ const SK_PERMISSIONS = [ 'roles-permisos.menu' => 'Menu shall be visualize', 'tickets.edit' => 'Can edit', 'tickets.menu' => 'Menu shall be visualize', + 'facturas.create' => 'Can create', + 'facturas.edit' => 'Can edit', + 'facturas.vencimientos' => 'Can vencimientos', + 'facturas.menu' => 'Menu shall be visualize', ]; diff --git a/ci4/app/Controllers/Facturacion/Facturas.php b/ci4/app/Controllers/Facturacion/Facturas.php index 3d914183..c6ed2ae1 100755 --- a/ci4/app/Controllers/Facturacion/Facturas.php +++ b/ci4/app/Controllers/Facturacion/Facturas.php @@ -103,6 +103,8 @@ class Facturas extends \App\Controllers\BaseResourceController public function add() { + if(!auth()->user()->can('facturas.create')) + return $this->failForbidden(lang('Basic.global.noPermission'), 403); if ($this->request->getPost()): $nullIfEmpty = true; // !(phpversion() >= '8.1'); @@ -201,6 +203,9 @@ class Facturas extends \App\Controllers\BaseResourceController public function edit($id = null) { + if(!auth()->user()->can('facturas.edit')) + return $this->failForbidden(lang('Basic.global.noPermission'), 403); + if ($id == null): return $this->redirect2listView(); endif; @@ -328,26 +333,29 @@ class Facturas extends \App\Controllers\BaseResourceController } ) ->add("action", callback: function ($q) { - if ($q->estado == 'borrador') { - return ' + if (auth()->user()->can('facturas.edit')) { + if ($q->estado == 'borrador') { + return '
'; - } else { - return ' + } else { + return ' '; - } + } + } else + return ''; }); if ($clienteId != -1) { $result->hide('cliente'); $result->hide('creditoAsegurado'); - if(!$dataForClienteForm){ + if (!$dataForClienteForm) { $result->hide('estado'); - $result->hide('estado_pago'); + $result->hide('estado_pago'); } $result->hide('forma_pago'); $result->hide('vencimiento'); @@ -357,7 +365,8 @@ class Facturas extends \App\Controllers\BaseResourceController return $result->toJson(returnAsObject: true); } - public function getDatosFacturacionClienteForm($cliente_id){ + public function getDatosFacturacionClienteForm($cliente_id) + { return $this->respond($this->model->getSumatoriosFacturacionCliente($cliente_id)); } @@ -498,7 +507,7 @@ class Facturas extends \App\Controllers\BaseResourceController ->update(); $this->model->db->query('DELETE FROM facturas_pedidos_lineas WHERE factura_id=' . $id); - + // $message = lang('Basic.global.deleteSuccess', [$objName]); IMN commented $message = lang('Basic.global.deleteSuccess', [lang('Basic.global.record')]); $response = $this->respondDeleted(['id' => $id, 'msg' => $message]); diff --git a/ci4/app/Language/es/RolesPermisos.php b/ci4/app/Language/es/RolesPermisos.php index 859e8c50..788287c3 100644 --- a/ci4/app/Language/es/RolesPermisos.php +++ b/ci4/app/Language/es/RolesPermisos.php @@ -59,7 +59,9 @@ return [ 'seriesFacturasSection' => 'Series facturas', 'ajustesSection' => 'Ajustes', 'actividadSection' => 'Accesos', - + 'facturasSection' => 'Facturas', + 'albaranesPermission' => 'Albaranes', + 'vencimientosPermission' => 'Vencimientos', "ticketsSection" => "Tickets", 'validation' => [ diff --git a/ci4/app/Views/themes/vuexy/main/menus/facturacion_menu.php b/ci4/app/Views/themes/vuexy/main/menus/facturacion_menu.php index d2a4bc73..c05d2aa7 100644 --- a/ci4/app/Views/themes/vuexy/main/menus/facturacion_menu.php +++ b/ci4/app/Views/themes/vuexy/main/menus/facturacion_menu.php @@ -2,7 +2,7 @@ /** * MENU FACTURACION */ -if (auth()->user()->inGroup('beta')) { +if (auth()->user()->inGroup('beta') || auth()->user()->can('facturas.menu')) { ?>