From 720346e8e3664f601e1d38b06f08cee1187eee8a Mon Sep 17 00:00:00 2001 From: imnavajas Date: Fri, 7 Jun 2024 17:22:25 +0200 Subject: [PATCH] Configurada vista de clientes --- ci4/app/Config/RBAC/permissionMatrix.php | 44 +++------ ci4/app/Config/RBAC/permissions.php | 4 + ci4/app/Config/RBAC/roles.php | 10 +- ci4/app/Controllers/Test.php | 2 +- ci4/app/Language/es/App.php | 1 + ci4/app/Language/es/RolesPermisos.php | 2 + .../themes/vuexy/main/menu_impresion.php | 31 +----- .../themes/vuexy/main/menus/clientes_menu.php | 82 +++++++++++----- .../main/menus/presupuesto_cliente_menu.php | 35 +++++++ .../themes/vuexy/main/menus/tarifas_menu.php | 98 ++++++++++--------- 10 files changed, 171 insertions(+), 138 deletions(-) create mode 100644 ci4/app/Views/themes/vuexy/main/menus/presupuesto_cliente_menu.php diff --git a/ci4/app/Config/RBAC/permissionMatrix.php b/ci4/app/Config/RBAC/permissionMatrix.php index 42082e74..8b39825f 100644 --- a/ci4/app/Config/RBAC/permissionMatrix.php +++ b/ci4/app/Config/RBAC/permissionMatrix.php @@ -74,11 +74,17 @@ const SK_PERMISSION_MATRIX = [ "roles-permisos.delete", "roles-permisos.menu", ], - "cliente" => [ - "clientes.create", - "clientes.edit", - "clientes.delete", - "clientes.menu", + "cliente-admin" => [ + "presupuesto-cliente.create", + "presupuesto-cliente.edit", + "presupuesto-cliente.delete", + "presupuesto-cliente.menu", + "usuarios.create", + "usuarios.edit", + "usuarios.delete", + "usuarios.menu", + ], + "cliente-editor" => [ "presupuesto.create", "presupuesto.edit", "presupuesto.delete", @@ -159,33 +165,5 @@ const SK_PERMISSION_MATRIX = [ "actividad.edit", "actividad.delete", "actividad.menu", - "paises.create", - "paises.edit", - "paises.delete", - "paises.menu", - "maquinas.create", - "maquinas.edit", - "maquinas.delete", - "maquinas.menu", - "maquinas-defecto.create", - "maquinas-defecto.edit", - "maquinas-defecto.delete", - "maquinas-defecto.menu", - "papel-generico.create", - "papel-generico.edit", - "papel-generico.delete", - "papel-generico.menu", - "papel-impresion.create", - "papel-impresion.edit", - "papel-impresion.delete", - "papel-impresion.menu", - "usuarios.create", - "usuarios.edit", - "usuarios.delete", - "usuarios.menu", - "roles-permisos.create", - "roles-permisos.edit", - "roles-permisos.delete", - "roles-permisos.menu", ], ]; diff --git a/ci4/app/Config/RBAC/permissions.php b/ci4/app/Config/RBAC/permissions.php index aa6861aa..8f81b5e5 100644 --- a/ci4/app/Config/RBAC/permissions.php +++ b/ci4/app/Config/RBAC/permissions.php @@ -13,6 +13,10 @@ const SK_PERMISSIONS = [ 'presupuesto.edit' => 'Can edit', 'presupuesto.delete' => 'Can delete', 'presupuesto.menu' => 'Menu shall be visualize', + 'presupuesto-cliente.create' => 'Can create', + 'presupuesto-cliente.edit' => 'Can edit', + 'presupuesto-cliente.delete' => 'Can delete', + 'presupuesto-cliente.menu' => 'Menu shall be visualize', 'tarifa-preimpresion.create' => 'Can create', 'tarifa-preimpresion.edit' => 'Can edit', 'tarifa-preimpresion.delete' => 'Can delete', diff --git a/ci4/app/Config/RBAC/roles.php b/ci4/app/Config/RBAC/roles.php index b7fc3af9..217aaf1f 100644 --- a/ci4/app/Config/RBAC/roles.php +++ b/ci4/app/Config/RBAC/roles.php @@ -5,9 +5,13 @@ const SK_ROLES = [ 'title' => 'Administrador', 'description' => '', ], - 'cliente' => [ - 'title' => 'Cliente', - 'description' => 'Rol de cliente', + 'cliente-admin' => [ + 'title' => 'Cliente administrador', + 'description' => 'Rol de cliente con permisos de administración', + ], + 'cliente-editor' => [ + 'title' => 'Cliente editor', + 'description' => 'Rol de cliente con permisos de edición', ], 'comercial' => [ 'title' => 'Comercial', diff --git a/ci4/app/Controllers/Test.php b/ci4/app/Controllers/Test.php index cc93f1eb..cccbe256 100755 --- a/ci4/app/Controllers/Test.php +++ b/ci4/app/Controllers/Test.php @@ -26,7 +26,7 @@ class Test extends BaseController //generate_php_permissions_constant(); - //echo generate_php_permissions_matrix_constant(); + echo generate_php_permissions_matrix_constant(); //$user->syncGroups('admin'); diff --git a/ci4/app/Language/es/App.php b/ci4/app/Language/es/App.php index 653da4cf..616930c4 100755 --- a/ci4/app/Language/es/App.php +++ b/ci4/app/Language/es/App.php @@ -673,6 +673,7 @@ return [ "menu_clientes" => "Clientes", "menu_plantillas_tarifas_clientes" => "Plantillas Tarifas", + "menu_perfil_clientes" => "Perfil", "menu_cliente" => "Cliente", "menu_clientes_nuevo" => "Nuevo", "menu_tarifacliente" => "Tarifas", diff --git a/ci4/app/Language/es/RolesPermisos.php b/ci4/app/Language/es/RolesPermisos.php index dbda75b9..dd344bfa 100644 --- a/ci4/app/Language/es/RolesPermisos.php +++ b/ci4/app/Language/es/RolesPermisos.php @@ -26,7 +26,9 @@ return [ // System sections 'clientesSection' => 'Clientes', 'plantillaTarifaSection' => 'Plantilla de tarifas', + 'perfilSection' => 'Perfil', 'presupuestoSection' => 'Presupuestos', + 'presupuestoClienteSection' => 'Presupuestos', 'tarifaPreimpresionSection' => 'Tarifas de preimpresión', 'tarifaManipuladoSection' => 'Tarifas de manipulado', 'tarifaAcabadoSection' => 'Tarifas de acabado', diff --git a/ci4/app/Views/themes/vuexy/main/menu_impresion.php b/ci4/app/Views/themes/vuexy/main/menu_impresion.php index 7b6202bd..b88c19be 100644 --- a/ci4/app/Views/themes/vuexy/main/menu_impresion.php +++ b/ci4/app/Views/themes/vuexy/main/menu_impresion.php @@ -24,6 +24,8 @@ require "menus/presupuesto_menu.php"; + require "menus/presupuesto_cliente_menu.php"; + require "menus/pedidos_menu.php"; require "menus/produccion_menu.php"; @@ -48,35 +50,6 @@ ?> - - user()->inGroup('beta')) { - ?> - - - \ No newline at end of file diff --git a/ci4/app/Views/themes/vuexy/main/menus/clientes_menu.php b/ci4/app/Views/themes/vuexy/main/menus/clientes_menu.php index cb6d6a3c..23921293 100644 --- a/ci4/app/Views/themes/vuexy/main/menus/clientes_menu.php +++ b/ci4/app/Views/themes/vuexy/main/menus/clientes_menu.php @@ -2,30 +2,58 @@ /** * MENU CLIENTES */ -if (auth()->user()->can('clientes.menu') || - auth()->user()->can('plantilla-tarifa.menu')) { - ?> - - - +if (auth()->user()->inGroup('cliente-admin') || auth()->user()->inGroup('cliente-editor')) { + if (auth()->user()->can('perfil.edit')) { + ?> + + + user()->can('clientes.menu') || + auth()->user()->can('plantilla-tarifa.menu')) { + ?> + + + + + + diff --git a/ci4/app/Views/themes/vuexy/main/menus/presupuesto_cliente_menu.php b/ci4/app/Views/themes/vuexy/main/menus/presupuesto_cliente_menu.php new file mode 100644 index 00000000..b0873ed2 --- /dev/null +++ b/ci4/app/Views/themes/vuexy/main/menus/presupuesto_cliente_menu.php @@ -0,0 +1,35 @@ +user()->inGroup('cliente-admin') + || auth()->user()->inGroup('cliente-editor')) { + + if (auth()->user()->can('presupuesto-cliente.menu')) { + ?> + + + diff --git a/ci4/app/Views/themes/vuexy/main/menus/tarifas_menu.php b/ci4/app/Views/themes/vuexy/main/menus/tarifas_menu.php index a38a8fa5..d3f01f87 100644 --- a/ci4/app/Views/themes/vuexy/main/menus/tarifas_menu.php +++ b/ci4/app/Views/themes/vuexy/main/menus/tarifas_menu.php @@ -2,48 +2,56 @@ /** * MENU TARIFAS */ -?> - - \ No newline at end of file +if ( + auth()->user()->can('tarifa-preimpresion.menu') || + auth()->user()->can('tarifa-manipulado.menu') || + auth()->user()->can('tarifa-acabado.menu') || + auth()->user()->can('tarifa-encuadernacion.menu') || + auth()->user()->can('tarifa-envio.menu') +) { + ?> + + + \ No newline at end of file