From c1bef7a7ed91aa2aaa57e8726bade1db6ba9fd27 Mon Sep 17 00:00:00 2001 From: Jaime Jimenez Date: Thu, 27 Apr 2023 18:29:38 +0200 Subject: [PATCH 1/7] Testeando controlador clientes --- .vscode/sftp.json | 12 ++ ci4/.env | 2 +- ci4/app/Controllers/Impresion/Clientes.php | 19 ++++ ci4/app/Controllers/Test.php | 122 +++++++++------------ ci4/app/Filters/LoginAuthFilter.php | 6 +- 5 files changed, 91 insertions(+), 70 deletions(-) create mode 100644 .vscode/sftp.json create mode 100644 ci4/app/Controllers/Impresion/Clientes.php diff --git a/.vscode/sftp.json b/.vscode/sftp.json new file mode 100644 index 00000000..a4adf0e7 --- /dev/null +++ b/.vscode/sftp.json @@ -0,0 +1,12 @@ +{ + "name": "sk-jjo", + "host": "sk-jjo.imnavajas.es", + "protocol": "ftp", + "port": 21, + "username": "sk-jjo", + "password": "yuh1C^290", + "remotePath": "/", + "uploadOnSave": true, + "useTempFile": false, + "openSsh": false +} diff --git a/ci4/.env b/ci4/.env index 8c0a37d3..fa4d571c 100644 --- a/ci4/.env +++ b/ci4/.env @@ -22,7 +22,7 @@ CI_ENVIRONMENT = development # APP #-------------------------------------------------------------------- -app.baseURL = 'http://safekat.test' +app.baseURL = 'https://sk-jjo.imnavajas.es' # app.forceGlobalSecureRequests = false # app.sessionDriver = 'CodeIgniter\Session\Handlers\FileHandler' diff --git a/ci4/app/Controllers/Impresion/Clientes.php b/ci4/app/Controllers/Impresion/Clientes.php new file mode 100644 index 00000000..abd7c691 --- /dev/null +++ b/ci4/app/Controllers/Impresion/Clientes.php @@ -0,0 +1,19 @@ +user_model = new UserModel(); - $this->group_user_model = new GroupUserModel(); - $this->group_model = new UserGroupModel(); + } public function index() { - /////////////////////////////////7 - // Join groups access rules - /*$user_token = "a4a60f9f064218b09cf108418e585507"; - $groups = $this->group_user_model - ->select('token_group') - ->where('token_user', $user_token)->findAll(); - - if(sizeof($groups)>0){ - $rules = html_entity_decode($this->group_model->select('rules')->where('token',$groups[0]['token_group'])->first()['rules']); + try { + helper('filesystem'); + helper('directory'); + if(strtolower(PHP_OS) == 'linux'){ + $compatibility = '/'; + }else{ + $compatibility = '\\'; + } + + if(empty($controller)){ + $map = directory_map(APPPATH.'Controllers'); + foreach ($map as $key=>$item) + { + if(!strpos(strtolower($key),$compatibility)){ + var_dump($key); + $name = str_replace('.php', '', $item); + if(!getIgnoreController($name)){ + $controllers[] = [ + 'name' => $name, + 'path' => '', + 'methods' => get_class_methods('App\Controllers\\'.$name) + ]; + } + }else{ + foreach ($item as $subitem){ + $name = str_replace('.php', '', $subitem); + if(!getIgnoreController($name)) { + $controllers[] = [ + 'name' => $name, + 'path' => $key, + 'methods' => get_class_methods('App\Controllers\\' . str_replace('/', '\\', $key) . $name) + ]; + } + } + } + } + }else{ + $array = explode('/',$controller); + $dir = count($array) > 1 ? $array[0] : ''; + $name = count($array) > 1 ? '\\'.$array[1] : $array[0]; + $controllers[] = [ + 'name' => $name, + 'path' => $dir, + 'methods' => get_class_methods('App\Controllers\\'.str_replace('/','\\',$dir).$name) + ]; + } + /*echo '
';
+            var_dump($controllers);
+            echo '
';
+            dd();
+            */
+        } catch (Exception $e) {
+            return [];
         }
-        for ($i = 1; $igroup_model->select('rules')->where('token',$groups[$i]['token_group'])->first()['rules']);
-            $rules = json_encode(
-                array_merge(
-                    json_decode($rules, true),
-                    json_decode($this->group_model->select('rules')->where('token',$groups[$i]['token_group'])->first()['rules'], true)
-                )
-            );
-        }   */
-
-        $user_token = 'c0bf18621f78cb2ffc4a67cf8d5173c7';
-        $groups_token = $this->group_user_model->select('token_group')
-            ->where('token_user',$user_token)
-            ->findAll();
-
-        $groups_names = [];
-        foreach($groups_token as $g_t){
-            $title = $this->group_model->select('title')
-                ->where('token',$g_t)
-                ->first()['title'];
-            array_push($groups_names, $title); 
-                
-        }
-
-        echo '
';
-        var_dump($groups_names);
-        echo '
'; - - dd(); - - - - //Total number of records without filtering - $totalRecords = $this->user_model->select('id_user') - ->join('auth_user_group','auth_user_group.token = auth_user.group') - ->countAllResults(); - - //Total number of records with filtering - $totalRecordwithFilter = $this->user_model->select('id_user') - ->join('auth_user_group','auth_user_group.token = auth_user.group') - ->orLike('first_name', $searchValue) - ->orLike('email', $searchValue) - ->countAllResults(); - - - - - } } diff --git a/ci4/app/Filters/LoginAuthFilter.php b/ci4/app/Filters/LoginAuthFilter.php index f9526375..15830195 100644 --- a/ci4/app/Filters/LoginAuthFilter.php +++ b/ci4/app/Filters/LoginAuthFilter.php @@ -46,6 +46,7 @@ class LoginAuthFilter implements FilterInterface $language->setLocale(session()->lang); $getWhiteList = $this->whiteListController(); + foreach ($getWhiteList as $item){ if(strtolower($item) == $uri->getSegment(1)){ return true; @@ -83,6 +84,8 @@ class LoginAuthFilter implements FilterInterface public function whiteListController(){ return [ '', + 'Clientes', + 'BaseController', 'Home', 'Login', @@ -94,7 +97,8 @@ class LoginAuthFilter implements FilterInterface 'Ajax', 'Integration', 'Migrate', - 'Test' + 'Test', + ]; } From 688642f5eae93a4a000e509f8b20013423b69c01 Mon Sep 17 00:00:00 2001 From: Jaime Jimenez Date: Thu, 27 Apr 2023 21:53:41 +0200 Subject: [PATCH 2/7] Estudiando como implementar subfolders --- ci4/app/Config/Routes.php | 2 +- .../Impresion/{Clientes.php => Cliente.php} | 7 +- ci4/app/Controllers/Tarifas.php | 20 ++++ ci4/app/Controllers/Test.php | 110 ++++++++++-------- ci4/app/Filters/LoginAuthFilter.php | 16 ++- ci4/app/Helpers/general_helper.php | 2 + 6 files changed, 100 insertions(+), 57 deletions(-) rename ci4/app/Controllers/Impresion/{Clientes.php => Cliente.php} (71%) create mode 100644 ci4/app/Controllers/Tarifas.php diff --git a/ci4/app/Config/Routes.php b/ci4/app/Config/Routes.php index aa1f48d2..294e7bd2 100644 --- a/ci4/app/Config/Routes.php +++ b/ci4/app/Config/Routes.php @@ -28,7 +28,7 @@ $routes->setAutoRoute(true); * Route Definitions * -------------------------------------------------------------------- */ - +// JJO $routes->get('cliente', 'Impresion\Cliente::index'); // We get a performance increase by specifying the default // route since we don't have to scan directories. diff --git a/ci4/app/Controllers/Impresion/Clientes.php b/ci4/app/Controllers/Impresion/Cliente.php similarity index 71% rename from ci4/app/Controllers/Impresion/Clientes.php rename to ci4/app/Controllers/Impresion/Cliente.php index abd7c691..d5d12b64 100644 --- a/ci4/app/Controllers/Impresion/Clientes.php +++ b/ci4/app/Controllers/Impresion/Cliente.php @@ -3,17 +3,18 @@ namespace App\Controllers\Impresion; use App\Controllers\BaseController; -class Clientes extends BaseController + +class Cliente extends BaseController { function __construct() { - + } public function index() { - + echo 'Hola2'; } } diff --git a/ci4/app/Controllers/Tarifas.php b/ci4/app/Controllers/Tarifas.php new file mode 100644 index 00000000..914db980 --- /dev/null +++ b/ci4/app/Controllers/Tarifas.php @@ -0,0 +1,20 @@ +setLocale(session()->lang); + + $getWhiteList = $this->whiteListController(); + + foreach ($getWhiteList as $item){ + if(strtolower($item) == $uri->getSegment(1)){ + return true; } - - if(empty($controller)){ - $map = directory_map(APPPATH.'Controllers'); - foreach ($map as $key=>$item) - { - if(!strpos(strtolower($key),$compatibility)){ - var_dump($key); - $name = str_replace('.php', '', $item); - if(!getIgnoreController($name)){ - $controllers[] = [ - 'name' => $name, - 'path' => '', - 'methods' => get_class_methods('App\Controllers\\'.$name) - ]; - } - }else{ - foreach ($item as $subitem){ - $name = str_replace('.php', '', $subitem); - if(!getIgnoreController($name)) { - $controllers[] = [ - 'name' => $name, - 'path' => $key, - 'methods' => get_class_methods('App\Controllers\\' . str_replace('/', '\\', $key) . $name) - ]; - } - } + } + + $getRules = json_decode(session()->get('rules')??'[]'); + + foreach ($this->whiteListMethod() as $item){ + if(strtolower($item) == $uri->getSegment(2)){ + return true; + } + } + + foreach ($getRules as $key=>$value){ + if(strtolower($key) == $uri->getSegment(1)){ + if($uri->getTotalSegments() <= 1){ + return true; + } + foreach ($value as $item){ + if(strtolower($item) == $uri->getSegment(2)){ + return true; } } - }else{ - $array = explode('/',$controller); - $dir = count($array) > 1 ? $array[0] : ''; - $name = count($array) > 1 ? '\\'.$array[1] : $array[0]; - $controllers[] = [ - 'name' => $name, - 'path' => $dir, - 'methods' => get_class_methods('App\Controllers\\'.str_replace('/','\\',$dir).$name) - ]; } - /*echo '
';
-            var_dump($controllers);
-            echo '
';
-            dd();
-            */
-        } catch (Exception $e) {
-            return [];
         }
+        session()->setFlashdata('sweet', ['error',lang("App.dashboard_alert_rules")]);
+        header('Location: /home');
+        exit();
+           
+        echo '
';
+        var_dump($controllers);
+        echo '
'; + + } + + + /** + * Returns the white list of allowed controllers. + */ + public function whiteListController(){ + return [ + '', + 'BaseController', + 'Home', + 'Login', + 'Oauth', + 'Language', + 'Api', + 'Cron', + 'lang', + 'Ajax', + 'Integration', + 'Migrate', + 'Test', + + ]; + } } diff --git a/ci4/app/Filters/LoginAuthFilter.php b/ci4/app/Filters/LoginAuthFilter.php index 15830195..d189fb22 100644 --- a/ci4/app/Filters/LoginAuthFilter.php +++ b/ci4/app/Filters/LoginAuthFilter.php @@ -66,12 +66,22 @@ class LoginAuthFilter implements FilterInterface if($uri->getTotalSegments() <= 1){ return true; } - foreach ($value as $item){ + echo '
';
+                var_dump($value);
+                /*var_dump($uri->getSegment(0));
+                var_dump($uri->getSegment(1));
+                var_dump($uri->getSegment(2));
+                var_dump($uri->getTotalSegments());*/
+                echo '
'; + + /*foreach ($value as $item){ if(strtolower($item) == $uri->getSegment(2)){ return true; } - } + }*/ + } + dd(); } session()->setFlashdata('sweet', ['error',lang("App.dashboard_alert_rules")]); header('Location: /home'); @@ -84,8 +94,6 @@ class LoginAuthFilter implements FilterInterface public function whiteListController(){ return [ '', - 'Clientes', - 'BaseController', 'Home', 'Login', diff --git a/ci4/app/Helpers/general_helper.php b/ci4/app/Helpers/general_helper.php index c57f99cc..e967b196 100644 --- a/ci4/app/Helpers/general_helper.php +++ b/ci4/app/Helpers/general_helper.php @@ -155,6 +155,8 @@ function getDictionary($word=''){ 'view' => lang("App.group_rules_label_view"), 'oauth_store' => lang("App.group_rules_label_oauth_store"), 'template_store' => lang("App.group_rules_label_template_store"), + 'Tarifas' => 'Tarifas', + 'Cliente' => 'Cliente' ]; return array_key_exists($word,$dictionary)?$dictionary[$word] : $word; } catch (Exception $e) { From 59c05ee5fd780f60a19316246fc0d5d2f4730093 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaime=20Jim=C3=A9nez?= Date: Sat, 29 Apr 2023 11:26:41 +0200 Subject: [PATCH 3/7] Empezando a trabajar en menus --- ci4/app/Controllers/Group.php | 4 + .../{Cliente.php => Impresioncliente.php} | 8 +- ci4/app/Controllers/Tarifas.php | 20 --- ci4/app/Controllers/Test.php | 118 ++++++++++++++++-- ci4/app/Filters/LoginAuthFilter.php | 42 +++++-- ci4/app/Helpers/general_helper.php | 2 +- 6 files changed, 150 insertions(+), 44 deletions(-) rename ci4/app/Controllers/Impresion/{Cliente.php => Impresioncliente.php} (77%) delete mode 100644 ci4/app/Controllers/Tarifas.php diff --git a/ci4/app/Controllers/Group.php b/ci4/app/Controllers/Group.php index cb7ab367..4c52769c 100644 --- a/ci4/app/Controllers/Group.php +++ b/ci4/app/Controllers/Group.php @@ -156,9 +156,11 @@ class Group extends BaseController $exp = explode('_',$key); $controller[] = $exp[0]; } + if($controller != null){ foreach (array_unique($controller) as $item){ $rules_access[$item] = []; + foreach ($getChecked as $key=>$value){ $exp = explode('_',$key); if($exp[0] == $item){ @@ -167,8 +169,10 @@ class Group extends BaseController } } } + $listPost['rules'] = json_encode($rules_access??'{}'); + if(empty($listPost['id_group'])){ $listPost['token'] = md5(uniqid(rand(), true)); } diff --git a/ci4/app/Controllers/Impresion/Cliente.php b/ci4/app/Controllers/Impresion/Impresioncliente.php similarity index 77% rename from ci4/app/Controllers/Impresion/Cliente.php rename to ci4/app/Controllers/Impresion/Impresioncliente.php index d5d12b64..76b259c4 100644 --- a/ci4/app/Controllers/Impresion/Cliente.php +++ b/ci4/app/Controllers/Impresion/Impresioncliente.php @@ -4,8 +4,8 @@ namespace App\Controllers\Impresion; use App\Controllers\BaseController; -class Cliente extends BaseController -{ +class Impresioncliente extends BaseController +{ function __construct() { @@ -13,8 +13,8 @@ class Cliente extends BaseController public function index() { - echo 'Hola2'; - } + } } + \ No newline at end of file diff --git a/ci4/app/Controllers/Tarifas.php b/ci4/app/Controllers/Tarifas.php deleted file mode 100644 index 914db980..00000000 --- a/ci4/app/Controllers/Tarifas.php +++ /dev/null @@ -1,20 +0,0 @@ -setLocale(session()->lang); @@ -23,6 +24,13 @@ class Test extends BaseController foreach ($getWhiteList as $item){ if(strtolower($item) == $uri->getSegment(1)){ + + + echo '
';
+                var_dump('1');
+                echo '
'; + dd(); + return true; } } @@ -31,6 +39,12 @@ class Test extends BaseController foreach ($this->whiteListMethod() as $item){ if(strtolower($item) == $uri->getSegment(2)){ + + echo '
';
+                var_dump('2');
+                echo '
'; + dd(); + return true; } } @@ -38,24 +52,68 @@ class Test extends BaseController foreach ($getRules as $key=>$value){ if(strtolower($key) == $uri->getSegment(1)){ if($uri->getTotalSegments() <= 1){ + + echo '
';
+                    var_dump('3');
+                    echo '
'; + dd(); + return true; } + foreach ($value as $item){ if(strtolower($item) == $uri->getSegment(2)){ + + echo '
';
+                        var_dump('4');
+                        echo '
'; + dd(); + return true; } } + + } + else{ + foreach($this->controllerFolderList() as $folder){ + if(strtolower($folder) == $uri->getSegment(1)){ + var_dump($key); + if(strtolower($key) == $uri->getSegment(2)){ + if($uri->getTotalSegments() <= 2){ + + echo '
';
+                                var_dump('5');
+                                echo '
'; + dd(); + + return true; + } + + foreach ($value as $item){ + if(strtolower($item) == $uri->getSegment(3)){ + + echo '
';
+                                    var_dump('6');
+                                    echo '
'; + dd(); + + return true; + } + } + + } + } + } + } } - session()->setFlashdata('sweet', ['error',lang("App.dashboard_alert_rules")]); - header('Location: /home'); - exit(); - - echo '
';
-        var_dump($controllers);
-        echo '
'; - + echo '
';
+        var_dump($uri->getSegment(1));
+        var_dump($uri->getSegment(2));
+        var_dump($uri->getSegment(3));
+        echo '
'; + dd(); } @@ -81,4 +139,46 @@ class Test extends BaseController ]; } + + /** + * JJO + * Returns the controller folder list + */ + public function controllerFolderList(){ + return [ + 'impresion', + ]; + } + + + /** + * Returns the whitelist of public controllers. + */ + public function ignoreListController(){ + return [ + ]; + } + + public function validateIgnoreControllerAccess(){ + $request = \Config\Services::request(); + $uri = $request->uri; + + $getList = $this->ignoreListController(); + foreach ($getList as $item){ + if(strtolower($item) == $uri->getSegment(1)){ + return true; + } + } + return false; + } + + public function whiteListMethod(){ + return [ + 'initController', + '__construct', + 'validateControllerAccess', + 'whiteListController', + 'whiteListMethod' + ]; + } } diff --git a/ci4/app/Filters/LoginAuthFilter.php b/ci4/app/Filters/LoginAuthFilter.php index d189fb22..d014012f 100644 --- a/ci4/app/Filters/LoginAuthFilter.php +++ b/ci4/app/Filters/LoginAuthFilter.php @@ -66,22 +66,33 @@ class LoginAuthFilter implements FilterInterface if($uri->getTotalSegments() <= 1){ return true; } - echo '
';
-                var_dump($value);
-                /*var_dump($uri->getSegment(0));
-                var_dump($uri->getSegment(1));
-                var_dump($uri->getSegment(2));
-                var_dump($uri->getTotalSegments());*/
-                echo '
'; - /*foreach ($value as $item){ + foreach ($value as $item){ if(strtolower($item) == $uri->getSegment(2)){ return true; } - }*/ + } + + } + else{ + foreach($this->controllerFolderList() as $folder){ + if(strtolower($folder) == $uri->getSegment(1)){ + if(strtolower($key) == $uri->getSegment(2)){ + if($uri->getTotalSegments() <= 2){ + return true; + } + + foreach ($value as $item){ + if(strtolower($item) == $uri->getSegment(3)){ + return true; + } + } + + } + } + } } - dd(); } session()->setFlashdata('sweet', ['error',lang("App.dashboard_alert_rules")]); header('Location: /home'); @@ -110,6 +121,17 @@ class LoginAuthFilter implements FilterInterface ]; } + /** + * JJO + * Returns the controller folder list + */ + public function controllerFolderList(){ + return [ + 'impresion', + ]; + } + + /** * Returns the whitelist of public controllers. */ diff --git a/ci4/app/Helpers/general_helper.php b/ci4/app/Helpers/general_helper.php index e967b196..a75ddd2f 100644 --- a/ci4/app/Helpers/general_helper.php +++ b/ci4/app/Helpers/general_helper.php @@ -156,7 +156,7 @@ function getDictionary($word=''){ 'oauth_store' => lang("App.group_rules_label_oauth_store"), 'template_store' => lang("App.group_rules_label_template_store"), 'Tarifas' => 'Tarifas', - 'Cliente' => 'Cliente' + 'ImpresionCliente' => 'Cliente' ]; return array_key_exists($word,$dictionary)?$dictionary[$word] : $word; } catch (Exception $e) { From 1116d8c43511ddc3114c8a44bcd4c1095c074b62 Mon Sep 17 00:00:00 2001 From: Jaime Jimenez Date: Tue, 2 May 2023 07:59:52 +0200 Subject: [PATCH 4/7] Permisos agrupados --- ci4/app/Controllers/Ajax.php | 4 +- ci4/app/Controllers/Catalogo/Catalogo.php | 30 +++ ci4/app/Controllers/Clientes/Cliente.php | 35 ++++ .../Controllers/Clientes/Tarifacliente.php | 34 ++++ .../Controllers/Configuracion/Calendario.php | 25 +++ .../Correo.php} | 5 +- .../Controllers/Configuracion/Formaspago.php | 35 ++++ .../Configuracion/Imposiciones.php | 35 ++++ ci4/app/Controllers/Configuracion/Maquina.php | 35 ++++ .../Configuracion/Papelgenerico.php | 35 ++++ ci4/app/Controllers/Configuracion/Serie.php | 21 +++ .../Configuracion/Serviciocliente.php | 35 ++++ .../Configuracion/Tamanioformatos.php | 35 ++++ .../Configuracion/Tamaniolibros.php | 35 ++++ .../Configuracion/Tareaservicio.php | 35 ++++ .../Configuracion/Tiposimpresion.php | 35 ++++ ci4/app/Controllers/Configuracion/Trabajo.php | 35 ++++ .../Digitalizacion/Digitalizacion.php | 21 +++ ci4/app/Controllers/Facturacion/Albaran.php | 30 +++ ci4/app/Controllers/Facturacion/Factura.php | 30 +++ ci4/app/Controllers/Informes/Informe.php | 22 +++ ci4/app/Controllers/Logistica/Logistica.php | 22 +++ ci4/app/Controllers/Pedidos/Pedido.php | 35 ++++ .../Controllers/Presupuestos/Presupuesto.php | 35 ++++ .../Presupuestos/Presupuestomaquetacion.php | 35 ++++ .../Controllers/Produccion/Ordenmaquina.php | 35 ++++ .../Controllers/Produccion/Ordentrabajo.php | 35 ++++ .../Produccion/Ordentrabajomaquetacion.php | 35 ++++ ci4/app/Controllers/Produccion/Pedido.php | 35 ++++ ci4/app/Controllers/Proveedores/Proveedor.php | 30 +++ ci4/app/Controllers/Tarifas/Tarifaacabado.php | 35 ++++ ci4/app/Controllers/Tarifas/Tarifaenvio.php | 35 ++++ .../Controllers/Tarifas/Tarifaimpresion.php | 35 ++++ .../Controllers/Tarifas/Tarifamanipulado.php | 35 ++++ .../Controllers/Tarifas/Tarifapapelcompra.php | 35 ++++ .../Tarifas/Tarifapapeldefecto.php | 35 ++++ .../Tarifas/Tarifapreimpresion.php | 35 ++++ ci4/app/Controllers/Test.php | 171 +----------------- ci4/app/Controllers/{ => Usuarios}/Group.php | 19 +- ci4/app/Controllers/{ => Usuarios}/User.php | 3 +- ci4/app/Filters/LoginAuthFilter.php | 43 +++-- ci4/app/Helpers/general_helper.php | 6 + .../backend/focus2/form/activity/index.php | 2 +- .../themes/backend/focus2/form/group/form.php | 39 ++-- .../backend/focus2/form/group/index.php | 2 +- .../themes/backend/focus2/form/user/index.php | 2 +- .../Views/themes/backend/focus2/main/menu.php | 8 +- 47 files changed, 1227 insertions(+), 217 deletions(-) create mode 100644 ci4/app/Controllers/Catalogo/Catalogo.php create mode 100644 ci4/app/Controllers/Clientes/Cliente.php create mode 100644 ci4/app/Controllers/Clientes/Tarifacliente.php create mode 100644 ci4/app/Controllers/Configuracion/Calendario.php rename ci4/app/Controllers/{Impresion/Impresioncliente.php => Configuracion/Correo.php} (67%) create mode 100644 ci4/app/Controllers/Configuracion/Formaspago.php create mode 100644 ci4/app/Controllers/Configuracion/Imposiciones.php create mode 100644 ci4/app/Controllers/Configuracion/Maquina.php create mode 100644 ci4/app/Controllers/Configuracion/Papelgenerico.php create mode 100644 ci4/app/Controllers/Configuracion/Serie.php create mode 100644 ci4/app/Controllers/Configuracion/Serviciocliente.php create mode 100644 ci4/app/Controllers/Configuracion/Tamanioformatos.php create mode 100644 ci4/app/Controllers/Configuracion/Tamaniolibros.php create mode 100644 ci4/app/Controllers/Configuracion/Tareaservicio.php create mode 100644 ci4/app/Controllers/Configuracion/Tiposimpresion.php create mode 100644 ci4/app/Controllers/Configuracion/Trabajo.php create mode 100644 ci4/app/Controllers/Digitalizacion/Digitalizacion.php create mode 100644 ci4/app/Controllers/Facturacion/Albaran.php create mode 100644 ci4/app/Controllers/Facturacion/Factura.php create mode 100644 ci4/app/Controllers/Informes/Informe.php create mode 100644 ci4/app/Controllers/Logistica/Logistica.php create mode 100644 ci4/app/Controllers/Pedidos/Pedido.php create mode 100644 ci4/app/Controllers/Presupuestos/Presupuesto.php create mode 100644 ci4/app/Controllers/Presupuestos/Presupuestomaquetacion.php create mode 100644 ci4/app/Controllers/Produccion/Ordenmaquina.php create mode 100644 ci4/app/Controllers/Produccion/Ordentrabajo.php create mode 100644 ci4/app/Controllers/Produccion/Ordentrabajomaquetacion.php create mode 100644 ci4/app/Controllers/Produccion/Pedido.php create mode 100644 ci4/app/Controllers/Proveedores/Proveedor.php create mode 100644 ci4/app/Controllers/Tarifas/Tarifaacabado.php create mode 100644 ci4/app/Controllers/Tarifas/Tarifaenvio.php create mode 100644 ci4/app/Controllers/Tarifas/Tarifaimpresion.php create mode 100644 ci4/app/Controllers/Tarifas/Tarifamanipulado.php create mode 100644 ci4/app/Controllers/Tarifas/Tarifapapelcompra.php create mode 100644 ci4/app/Controllers/Tarifas/Tarifapapeldefecto.php create mode 100644 ci4/app/Controllers/Tarifas/Tarifapreimpresion.php rename ci4/app/Controllers/{ => Usuarios}/Group.php (93%) rename ci4/app/Controllers/{ => Usuarios}/User.php (99%) diff --git a/ci4/app/Controllers/Ajax.php b/ci4/app/Controllers/Ajax.php index 0c4d1982..0de78ad5 100644 --- a/ci4/app/Controllers/Ajax.php +++ b/ci4/app/Controllers/Ajax.php @@ -82,7 +82,7 @@ class Ajax extends ResourceController if($records[$key]['email_confirmed'] == 1){ $records[$key]['email'] = $records[$key]['email'].' '.''; } - $editLink = site_url('user/edit/').$records[$key]['token']; + $editLink = site_url('usuarios/user/edit/').$records[$key]['token']; $records[$key]['options'] = ''. '
-
+
diff --git a/ci4/app/Views/themes/backend/focus2/form/group/form.php b/ci4/app/Views/themes/backend/focus2/form/group/form.php index dd113010..795eb819 100644 --- a/ci4/app/Views/themes/backend/focus2/form/group/form.php +++ b/ci4/app/Views/themes/backend/focus2/form/group/form.php @@ -60,19 +60,34 @@
- -
-

- - -
- - +
+ +
+
+

+
+
+
+ + +
+

+ + +
+ + +
+ + +
+ +
- - -
- +
+
+ +
diff --git a/ci4/app/Views/themes/backend/focus2/form/group/index.php b/ci4/app/Views/themes/backend/focus2/form/group/index.php index bfae4df2..4d233d31 100644 --- a/ci4/app/Views/themes/backend/focus2/form/group/index.php +++ b/ci4/app/Views/themes/backend/focus2/form/group/index.php @@ -110,7 +110,7 @@ }).then(function(isConfirm) { console.log(isConfirm); if (isConfirm.value) { - window.location.href = ''+id; + window.location.href = ''+id; } }) } diff --git a/ci4/app/Views/themes/backend/focus2/form/user/index.php b/ci4/app/Views/themes/backend/focus2/form/user/index.php index 32e64a25..c29315e5 100644 --- a/ci4/app/Views/themes/backend/focus2/form/user/index.php +++ b/ci4/app/Views/themes/backend/focus2/form/user/index.php @@ -112,7 +112,7 @@ }).then(function(isConfirm) { console.log(isConfirm); if (isConfirm.value) { - window.location.href = ''+id; + window.location.href = ''+id; } }) } diff --git a/ci4/app/Views/themes/backend/focus2/main/menu.php b/ci4/app/Views/themes/backend/focus2/main/menu.php index 6e5b1ee5..5f53a38c 100644 --- a/ci4/app/Views/themes/backend/focus2/main/menu.php +++ b/ci4/app/Views/themes/backend/focus2/main/menu.php @@ -9,10 +9,10 @@
  • @@ -21,10 +21,10 @@
  • From b21686c78a0591f023f787749d3d43052d17767d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaime=20Jim=C3=A9nez?= Date: Tue, 2 May 2023 14:32:27 +0200 Subject: [PATCH 5/7] =?UTF-8?q?A=C3=B1adido=20lenguaje=20a=20los=20roles.?= =?UTF-8?q?=20Orden=20por=20grupos?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ci4/app/Controllers/Activity.php | 2 +- ci4/app/Controllers/Ajax.php | 22 ++--- .../{Pedido.php => Pedidoproduccion.php} | 2 +- ci4/app/Helpers/general_helper.php | 88 ++++++++++++++++--- ci4/app/Language/en/App.php | 81 +++++++++++++++++ ci4/app/Language/es/App.php | 81 +++++++++++++++++ .../themes/backend/focus2/form/group/form.php | 26 +++++- 7 files changed, 276 insertions(+), 26 deletions(-) rename ci4/app/Controllers/Produccion/{Pedido.php => Pedidoproduccion.php} (87%) diff --git a/ci4/app/Controllers/Activity.php b/ci4/app/Controllers/Activity.php index 8b0b9da5..95b695e8 100644 --- a/ci4/app/Controllers/Activity.php +++ b/ci4/app/Controllers/Activity.php @@ -41,7 +41,7 @@ class Activity extends BaseController SUM( IF( browser LIKE "%Safari%", 1, 0 ) ) AS safari, SUM( IF( browser LIKE "%Internet Explorer%", 1, 0 ) ) AS ie, SUM( IF( browser LIKE "%Edge%", 1, 0 ) ) AS edge, - SUM( IF( browser LIKE "%Opera%", 1, 0 ) ) AS opera')->where('activity.user',$session->get('token'))->first(); + SUM( IF( browser LIKE "%Opera%", 1, 0 ) ) AS opera')->where('auth_activity.user',$session->get('token'))->first(); $data['all'] = ""; echo view(getenv('theme.path').'main/header'); echo view(getenv('theme.path').'form/activity/index',$data); diff --git a/ci4/app/Controllers/Ajax.php b/ci4/app/Controllers/Ajax.php index 0de78ad5..e044c218 100644 --- a/ci4/app/Controllers/Ajax.php +++ b/ci4/app/Controllers/Ajax.php @@ -231,41 +231,41 @@ class Ajax extends ResourceController //Total number of records without filtering if($session->get('dashboard')=='admin' && !empty($all)){ $totalRecords = $this->activity_model->select('id_activity') - ->join('user','user.token = activity.user') + ->join('auth_user','auth_user.token = auth_activity.user') ->countAllResults(); }else{ $totalRecords = $this->activity_model->select('id_activity') - ->join('user','user.token = activity.user') - ->where('activity.user',$session->get('token')) + ->join('auth_user','auth_user.token = auth_activity.user') + ->where('auth_activity.user',$session->get('token')) ->countAllResults(); } //Total number of records with filtering if($session->get('dashboard')=='admin' && !empty($all)){ $totalRecordwithFilter = $this->activity_model->select('id_activity') - ->join('user','user.token = activity.user') + ->join('auth_user','auth_user.token = auth_activity.user') ->orLike('first_name', $searchValue) ->countAllResults(); }else{ $totalRecordwithFilter = $this->activity_model->select('id_activity') - ->join('user','user.token = activity.user') + ->join('auth_user','auth_user.token = auth_activity.user') ->orLike('first_name', $searchValue) - ->where('activity.user',$session->get('token')) + ->where('auth_activity.user',$session->get('token')) ->countAllResults(); } //Fetch records if($session->get('dashboard')=='admin' && !empty($all)){ - $records = $this->activity_model->select('activity.*,concat(first_name, " (",email, ")") AS name') - ->join('user','user.token = activity.user') + $records = $this->activity_model->select('auth_activity.*,concat(first_name, " (",email, ")") AS name') + ->join('auth_user','auth_user.token = auth_activity.user') ->orLike('first_name', $searchValue) ->orderBy($columnName,$columnSortOrder) ->findAll($rowperpage, $start); }else{ - $records = $this->activity_model->select('activity.*,concat(first_name, " (",email, ")") AS name') - ->join('user','user.token = activity.user') + $records = $this->activity_model->select('auth_activity.*,concat(first_name, " (",email, ")") AS name') + ->join('auth_user','auth_user.token = auth_activity.user') ->orLike('first_name', $searchValue) - ->where('activity.user',$session->get('token')) + ->where('auth_activity.user',$session->get('token')) ->orderBy($columnName,$columnSortOrder) ->findAll($rowperpage, $start); } diff --git a/ci4/app/Controllers/Produccion/Pedido.php b/ci4/app/Controllers/Produccion/Pedidoproduccion.php similarity index 87% rename from ci4/app/Controllers/Produccion/Pedido.php rename to ci4/app/Controllers/Produccion/Pedidoproduccion.php index 83a4ff16..4963db91 100644 --- a/ci4/app/Controllers/Produccion/Pedido.php +++ b/ci4/app/Controllers/Produccion/Pedidoproduccion.php @@ -4,7 +4,7 @@ namespace App\Controllers\Produccion; use App\Controllers\BaseController; -class Pedido extends BaseController +class Pedidoproduccion extends BaseController { function __construct() { diff --git a/ci4/app/Helpers/general_helper.php b/ci4/app/Helpers/general_helper.php index 22a38641..dd9bc3e0 100644 --- a/ci4/app/Helpers/general_helper.php +++ b/ci4/app/Helpers/general_helper.php @@ -146,23 +146,87 @@ function getIgnoreMethod($method) function getDictionary($word=''){ try { $dictionary = [ - 'Group' => lang("App.group_rules_label_group"), - 'User' => lang("App.group_rules_label_user"), - 'Settings' => lang("App.group_rules_label_settings"), - 'index' => lang("App.group_rules_label_index"), - 'add' => lang("App.group_rules_label_add"), - 'edit' => lang("App.group_rules_label_edit"), - 'delete' => lang("App.group_rules_label_delete"), - 'store' => lang("App.group_rules_label_store"), + 'index' => lang("App.permisos_index"), + 'view' => lang("App.permisos_view"), + 'add' => lang("App.permisos_add"), + 'edit' => lang("App.permisos_editar"), + 'delete' => lang("App.permisos_del"), + 'store' => lang("App.permisos_save"), + 'import' => lang("App.permisos_import"), + 'export' => lang("App.permisos_export"), + + 'Profile' => lang("App.permisos_perfil"), + 'Activity' => lang("App.permisos_actividad"), + 'Settings' => lang("App.permisos_configuracion"), + 'my' => lang("App.permisos_my"), + 'Notification' => lang("App.permisos_notificacion"), + + 'Usuarios' => lang("App.permisos_usuarios"), + 'Usuario' => lang("App.permisos_usuario"), + 'Group' => lang("App.permisos_roles"), + + 'Logistica' => lang("App.permisos_logistica"), + + 'Tarifas' => lang("App.permisos_tarifas"), + 'Tarifapreimpresion' => lang("App.permisos_tarifapreimpresion"), + 'Tarifamanipulado' => lang("App.permisos_tarifamanipulado"), + 'Tarifapapelcompra' => lang("App.permisos_tarifapapelcompra"), + 'Tarifaacabado' => lang("App.permisos_tarifaacabado"), + 'Tarifapapeldefecto' => lang("App.permisos_tarifapapeldefecto"), + 'Tarifaenvio' => lang("App.permisos_tarifaenvio"), + 'Tarifaimpresion' => lang("App.permisos_tarifaimpresion"), + + 'Configuracion' => lang("App.permisos_configuracion"), + 'Tareaservicio' => lang("App.permisos_tareasservicio"), + 'Formaspago' => lang("App.permisos_formaspago"), + 'Papelgenerico' => lang("App.permisos_papelgenerico"), + 'Tiposimpresion' => lang("App.permisos_tiposimpresion"), + 'Trabajo' => lang("App.permisos_trabajo"), + 'Maquina' => lang("App.permisos_maquina"), + 'Tamaniolibros' => lang("App.permisos_tamaniolibros"), + 'Imposiciones' => lang("App.permisos_imposiciones"), + 'Serie' => lang("App.permisos_serie"), + 'Tamanioformatos' => lang("App.permisos_tamanioformatos"), + 'Serviciocliente' => lang("App.permisos_serviciocliente"), + 'Calendario' => lang("App.permisos_calendario"), + 'Correo' => lang("App.permisos_correo"), + + 'Presupuestos' => lang("App.permisos_presupuestos"), + 'Presupuesto' => lang("App.permisos_presupuestos"), + 'Presupuestomaquetacion' => lang("App.permisos_presupuestomaquetacion"), + + 'Catalogo' => lang("App.permisos_catalogo"), + + 'Clientes' => lang("App.permisos_clientes"), + 'Tarifacliente' => lang("App.permisos_tarifacliente"), + + 'Proveedores' => lang("App.permisos_proveedores"), + 'Proveedor' => lang("App.permisos_proveedores"), + + 'Informes' => lang("App.permisos_informes"), + 'Informe' => lang("App.permisos_informes"), + + 'Facturacion' => lang("App.permisos_facturación"), + 'Albaran' => lang("App.permisos_albaran"), + 'Factura' => lang("App.permisos_facturas"), + + 'Pedidos' => lang("App.permisos_pedidos"), + 'Pedido' => lang("App.permisos_pedidos"), + + 'Digitalizacion' => lang("App.permisos_digitalización"), + + 'Produccion' => lang("App.permisos_produccion"), + 'Ordentrabajomaquetacion' => lang("App.permisos_ordentrabajomaquetacion"), + 'Ordenmaquina' => lang("App.permisos_ordenmaquina"), + 'Pedidoproduccion' => lang("App.permisos_pedidoproduccion"), + 'Ordentrabajo' => lang("App.permisos_ordentrabajo"), + 'oauth' => lang("App.group_rules_label_oauth"), 'template' => lang("App.group_rules_label_template"), 'all' => lang("App.group_rules_label_all"), - 'my' => lang("App.group_rules_label_my"), - 'view' => lang("App.group_rules_label_view"), 'oauth_store' => lang("App.group_rules_label_oauth_store"), 'template_store' => lang("App.group_rules_label_template_store"), - 'Tarifas' => 'Tarifas', - 'ImpresionCliente' => 'Cliente' + ]; return array_key_exists($word,$dictionary)?$dictionary[$word] : $word; } catch (Exception $e) { diff --git a/ci4/app/Language/en/App.php b/ci4/app/Language/en/App.php index 78bd2f17..58628bc5 100644 --- a/ci4/app/Language/en/App.php +++ b/ci4/app/Language/en/App.php @@ -323,6 +323,7 @@ return [ "group_rules_dashboard_r" => "The panel field is mandatory!", // GROUP - Rules Name + /* JJO "group_rules_label_group" => "Group Permission", "group_rules_label_user" => "User", "group_rules_label_settings" => "Settings", @@ -338,6 +339,7 @@ return [ "group_rules_label_view" => "View Notification", "group_rules_label_oauth_store" => "Save oAuth", "group_rules_label_template_store" => "Save Templates", + */ // AUTH - index "oauth_title" => "oAuth Authentication", @@ -599,4 +601,83 @@ return [ // v1.2.1 "global_select" => "Select an item", + + /** + * + * SAFEKAT + * + */ + + // NOMBRES DE LOS PERMISOS + "permisos_index" => "List", + "permisos_view" => "View", + "permisos_add" => "Add", + "permisos_editar" => "Edit", + "permisos_save" => "Save", + "permisos_del" => "Delete", + "permisos_export" => "Export", + "permisos_import" => "Import", + + "permisos_general" => "General", + "permisos_perfil" => "Profile", + "permisos_actividad" => "Activity", + "permisos_configuracion" => "Configuration", + "permisos_my" => "My", + "permisos_notificacion" => "Notification", + + "permisos_usuarios" => "Users", + "permisos_usuario" => "User", + "permisos_roles" => "Roles", + + "permisos_logistica" => "Logistics", + + "permisos_tarifas" => "Rates", + "permisos_tarifapreimpresion" => "Preprinting", + "permisos_tarifamanipulado" => "Handling", + "permisos_tarifapapelcompra" => "Paper", + "permisos_tarifaacabado" => "Finish", + "permisos_tarifapapeldefecto" => "Default paper", + "permisos_tarifaenvio" => "Shipping", + "permisos_tarifaimpresion" => "Printing", + + "permisos_configuracion" => "Configuration", + "permisos_tareasservicio" => "Service tasks", + "permisos_formaspago" => "Payment methods", + "permisos_papelgenerico" => "Generic paper", + "permisos_tiposimpresion" => "Printing types", + "permisos_trabajo" => "Work", + "permisos_maquina" => "Machine", + "permisos_tamaniolibros" => "Books size", + "permisos_imposiciones" => "Impositions", + "permisos_serie" => "Serie", + "permisos_tamanioformatos" => "Format size", + "permisos_serviciocliente" => "Customer service", + "permisos_calendario" => "Calendar", + "permisos_correo" => "Mail", + + "permisos_presupuestos" => "Budgets", + "permisos_presupuestomaquetacion" => "Layout", + + "permisos_catalogo" => "Catalogue", + + "permisos_clientes" => "Customers", + "permisos_tarifacliente" => "Customer fee", + + "permisos_proveedores" => "Providers", + + "permisos_informes" => "Reports", + + "permisos_facturación" => "Billing", + "permisos_albaran" => "Deluvery note", + "permisos_facturas" => "Invoices", + + "permisos_pedidos" => "Orders", + + "permisos_digitalización" => "Digitalisation", + + "permisos_produccion" => "Production", + "permisos_ordentrabajomaquetacion" => "Layout work order", + "permisos_ordenmaquina" => "Machine order", + "permisos_pedidoproduccion" => "Orders", + "permisos_ordentrabajo" => "Work order", ]; \ No newline at end of file diff --git a/ci4/app/Language/es/App.php b/ci4/app/Language/es/App.php index 6789e99d..0226a819 100644 --- a/ci4/app/Language/es/App.php +++ b/ci4/app/Language/es/App.php @@ -323,6 +323,7 @@ return [ "group_rules_dashboard_r" => "¡El campo del panel es obligatorio!", // GROUP - Rules Name + /* JJO "group_rules_label_group" => "Permiso de grupo", "group_rules_label_user" => "Usuario", "group_rules_label_settings" => "Configuración", @@ -338,6 +339,7 @@ return [ "group_rules_label_view" => "Ver notificación", "group_rules_label_oauth_store" => "Guardar oAuth", "group_rules_label_template_store" => "Guardar plantillas", + */ // AUTH - index "oauth_title" => "Autenticación oAuth", @@ -599,4 +601,83 @@ return [ // v1.2.1 "global_select" => "Selecciona un artículo", + + /** + * + * SAFEKAT + * + */ + + // NOMBRES DE LOS PERMISOS + "permisos_index" => "Listar", + "permisos_view" => "Ver", + "permisos_add" => "Añadir", + "permisos_editar" => "Editar", + "permisos_save" => "Guardar", + "permisos_del" => "Eliminar", + "permisos_export" => "Exportar", + "permisos_import" => "Importar", + + "permisos_general" => "General", + "permisos_perfil" => "Perfil", + "permisos_actividad" => "Actividad", + "permisos_configuracion" => "Configuración", + "permisos_my" => "My", + "permisos_notificacion" => "Notificacion", + + "permisos_usuarios" => "Usuarios", + "permisos_usuario" => "Usuario", + "permisos_roles" => "Roles", + + "permisos_logistica" => "Logística", + + "permisos_tarifas" => "Tarifas", + "permisos_tarifapreimpresion" => "Preimpresión", + "permisos_tarifamanipulado" => "Manipulado", + "permisos_tarifapapelcompra" => "Papel compra", + "permisos_tarifaacabado" => "Acabado", + "permisos_tarifapapeldefecto" => "Papel defecto", + "permisos_tarifaenvio" => "Envío", + "permisos_tarifaimpresion" => "Impresión", + + "permisos_configuracion" => "Configuración", + "permisos_tareasservicio" => "Tareas servicio", + "permisos_formaspago" => "Formas de pago", + "permisos_papelgenerico" => "Papel genérico", + "permisos_tiposimpresion" => "Tipos de impresión", + "permisos_trabajo" => "Trabajo", + "permisos_maquina" => "Máquina", + "permisos_tamaniolibros" => "Tamaño libros", + "permisos_imposiciones" => "Imposiciones", + "permisos_serie" => "Serie", + "permisos_tamanioformatos" => "Tamaño de formatos", + "permisos_serviciocliente" => "Servicio cliente", + "permisos_calendario" => "Calendario", + "permisos_correo" => "Correo", + + "permisos_presupuestos" => "Presupuestos", + "permisos_presupuestomaquetacion" => "Maquetación", + + "permisos_catalogo" => "Catálogo", + + "permisos_clientes" => "Clientes", + "permisos_tarifacliente" => "Tarifas cliente", + + "permisos_proveedores" => "Proveedores", + + "permisos_informes" => "Informes", + + "permisos_facturación" => "Facturación", + "permisos_albaran" => "Albarán", + "permisos_facturas" => "Facturas", + + "permisos_pedidos" => "Pedidos", + + "permisos_digitalización" => "Digitalización", + + "permisos_produccion" => "Producción", + "permisos_ordentrabajomaquetacion" => "Orden de trabajo maquetación", + "permisos_ordenmaquina" => "Orden máquina", + "permisos_pedidoproduccion" => "Pedidos", + "permisos_ordentrabajo" => "Orden de trabajo", ]; \ No newline at end of file diff --git a/ci4/app/Views/themes/backend/focus2/form/group/form.php b/ci4/app/Views/themes/backend/focus2/form/group/form.php index 795eb819..00f7dd80 100644 --- a/ci4/app/Views/themes/backend/focus2/form/group/form.php +++ b/ci4/app/Views/themes/backend/focus2/form/group/form.php @@ -61,10 +61,34 @@
    +
    +
    +

    +
    +
    +
    + + +
    +

    + + +
    + + +
    + + +
    + + +
    +
    +
    -

    +

    From 88f0853425e329936cbf0dbacc054498c1411f39 Mon Sep 17 00:00:00 2001 From: Jaime Jimenez Date: Wed, 3 May 2023 21:15:18 +0200 Subject: [PATCH 6/7] Menu lateral inicial creado --- ci4/app/Controllers/Clientes/Cliente.php | 4 +- .../Controllers/Clientes/Tarifacliente.php | 2 +- .../Controllers/Configuracion/Calendario.php | 2 +- ci4/app/Controllers/Configuracion/Correo.php | 2 +- .../Controllers/Configuracion/Formaspago.php | 2 +- .../Configuracion/Imposiciones.php | 2 +- ci4/app/Controllers/Configuracion/Maquina.php | 2 +- .../Configuracion/Papelgenerico.php | 2 +- .../{Serie.php => Seriefactura.php} | 4 +- .../Configuracion/Serviciocliente.php | 2 +- .../Configuracion/Tamanioformatos.php | 2 +- .../Configuracion/Tamaniolibros.php | 2 +- .../Configuracion/Tareaservicio.php | 2 +- .../Configuracion/Tiposimpresion.php | 2 +- ci4/app/Controllers/Configuracion/Trabajo.php | 2 +- .../Logistica.php | 4 +- ci4/app/Controllers/Facturacion/Albaran.php | 2 +- ci4/app/Controllers/Facturacion/Factura.php | 2 +- ci4/app/Controllers/Informes/Informe.php | 2 +- ci4/app/Controllers/Pedidos/Pedido.php | 2 +- .../Controllers/Presupuestos/Presupuesto.php | 2 +- .../Presupuestos/Presupuestomaquetacion.php | 2 +- .../Controllers/Produccion/Ordenmaquina.php | 2 +- .../Controllers/Produccion/Ordentrabajo.php | 2 +- .../Produccion/Ordentrabajomaquetacion.php | 2 +- .../Produccion/Pedidoproduccion.php | 2 +- ci4/app/Controllers/Proveedores/Proveedor.php | 2 +- .../Digitalizacion.php | 4 +- ci4/app/Controllers/Tarifas/Tarifaacabado.php | 2 +- ci4/app/Controllers/Tarifas/Tarifaenvio.php | 2 +- .../Controllers/Tarifas/Tarifaimpresion.php | 2 +- .../Controllers/Tarifas/Tarifamanipulado.php | 2 +- .../Controllers/Tarifas/Tarifapapelcompra.php | 2 +- .../Tarifas/Tarifapapeldefecto.php | 2 +- .../Tarifas/Tarifapreimpresion.php | 2 +- ci4/app/Controllers/Test.php | 113 ++++++++- ci4/app/Filters/LoginAuthFilter.php | 4 +- ci4/app/Helpers/general_helper.php | 21 +- ci4/app/Language/en/App.php | 89 +++++-- ci4/app/Language/es/App.php | 91 +++++-- .../themes/backend/focus2/form/group/form.php | 2 +- .../Views/themes/backend/focus2/main/menu.php | 233 ++++++++++++++++-- 42 files changed, 534 insertions(+), 97 deletions(-) rename ci4/app/Controllers/Configuracion/{Serie.php => Seriefactura.php} (72%) rename ci4/app/Controllers/{Logistica => Envioslogistica}/Logistica.php (73%) rename ci4/app/Controllers/{Digitalizacion => Serviciosdigitalizacion}/Digitalizacion.php (70%) diff --git a/ci4/app/Controllers/Clientes/Cliente.php b/ci4/app/Controllers/Clientes/Cliente.php index f3184a20..45015345 100644 --- a/ci4/app/Controllers/Clientes/Cliente.php +++ b/ci4/app/Controllers/Clientes/Cliente.php @@ -12,8 +12,8 @@ class Cliente extends BaseController } public function index() - { - echo 'Hola2'; + { + echo "Cliente"; } public function delete() diff --git a/ci4/app/Controllers/Clientes/Tarifacliente.php b/ci4/app/Controllers/Clientes/Tarifacliente.php index 345f239a..cb136439 100644 --- a/ci4/app/Controllers/Clientes/Tarifacliente.php +++ b/ci4/app/Controllers/Clientes/Tarifacliente.php @@ -13,7 +13,7 @@ class Tarifacliente extends BaseController public function index() { - echo 'Hola2'; + echo "Tarifa Cliente"; } public function delete() diff --git a/ci4/app/Controllers/Configuracion/Calendario.php b/ci4/app/Controllers/Configuracion/Calendario.php index acb93eae..82fa2c9f 100644 --- a/ci4/app/Controllers/Configuracion/Calendario.php +++ b/ci4/app/Controllers/Configuracion/Calendario.php @@ -13,7 +13,7 @@ class Calendario extends BaseController public function index() { - echo 'Hola2'; + echo 'Calendario'; } public function edit() diff --git a/ci4/app/Controllers/Configuracion/Correo.php b/ci4/app/Controllers/Configuracion/Correo.php index f935718e..c28e78b7 100644 --- a/ci4/app/Controllers/Configuracion/Correo.php +++ b/ci4/app/Controllers/Configuracion/Correo.php @@ -13,7 +13,7 @@ class Correo extends BaseController public function index() { - echo 'Hola2'; + echo 'Correo'; } diff --git a/ci4/app/Controllers/Configuracion/Formaspago.php b/ci4/app/Controllers/Configuracion/Formaspago.php index f4b8e09a..26d7f796 100644 --- a/ci4/app/Controllers/Configuracion/Formaspago.php +++ b/ci4/app/Controllers/Configuracion/Formaspago.php @@ -13,7 +13,7 @@ class Formaspago extends BaseController public function index() { - echo 'Hola2'; + echo 'Formas de pago'; } public function edit() diff --git a/ci4/app/Controllers/Configuracion/Imposiciones.php b/ci4/app/Controllers/Configuracion/Imposiciones.php index 2b9f27be..eb621786 100644 --- a/ci4/app/Controllers/Configuracion/Imposiciones.php +++ b/ci4/app/Controllers/Configuracion/Imposiciones.php @@ -13,7 +13,7 @@ class Imposiciones extends BaseController public function index() { - echo 'Hola2'; + echo 'Imposiciones'; } public function edit() diff --git a/ci4/app/Controllers/Configuracion/Maquina.php b/ci4/app/Controllers/Configuracion/Maquina.php index b8576303..2af78cb9 100644 --- a/ci4/app/Controllers/Configuracion/Maquina.php +++ b/ci4/app/Controllers/Configuracion/Maquina.php @@ -13,7 +13,7 @@ class Maquina extends BaseController public function index() { - echo 'Hola2'; + echo 'Maquina'; } public function edit() diff --git a/ci4/app/Controllers/Configuracion/Papelgenerico.php b/ci4/app/Controllers/Configuracion/Papelgenerico.php index a402faae..f8d9d19b 100644 --- a/ci4/app/Controllers/Configuracion/Papelgenerico.php +++ b/ci4/app/Controllers/Configuracion/Papelgenerico.php @@ -13,7 +13,7 @@ class Papelgenerico extends BaseController public function index() { - echo 'Hola2'; + echo 'Papel genérico'; } public function edit() diff --git a/ci4/app/Controllers/Configuracion/Serie.php b/ci4/app/Controllers/Configuracion/Seriefactura.php similarity index 72% rename from ci4/app/Controllers/Configuracion/Serie.php rename to ci4/app/Controllers/Configuracion/Seriefactura.php index 5f185e00..7215f566 100644 --- a/ci4/app/Controllers/Configuracion/Serie.php +++ b/ci4/app/Controllers/Configuracion/Seriefactura.php @@ -4,7 +4,7 @@ namespace App\Controllers\Configuracion; use App\Controllers\BaseController; -class Serie extends BaseController +class Seriefactura extends BaseController { function __construct() { @@ -13,7 +13,7 @@ class Serie extends BaseController public function index() { - echo 'Hola2'; + echo 'Serie factura'; } diff --git a/ci4/app/Controllers/Configuracion/Serviciocliente.php b/ci4/app/Controllers/Configuracion/Serviciocliente.php index 925471a5..730c2bc2 100644 --- a/ci4/app/Controllers/Configuracion/Serviciocliente.php +++ b/ci4/app/Controllers/Configuracion/Serviciocliente.php @@ -13,7 +13,7 @@ class Serviciocliente extends BaseController public function index() { - echo 'Hola2'; + echo 'Servicio cliente'; } public function edit() diff --git a/ci4/app/Controllers/Configuracion/Tamanioformatos.php b/ci4/app/Controllers/Configuracion/Tamanioformatos.php index 5076a27f..2497a343 100644 --- a/ci4/app/Controllers/Configuracion/Tamanioformatos.php +++ b/ci4/app/Controllers/Configuracion/Tamanioformatos.php @@ -13,7 +13,7 @@ class Tamanioformatos extends BaseController public function index() { - echo 'Hola2'; + echo 'Tamaño formatos'; } public function edit() diff --git a/ci4/app/Controllers/Configuracion/Tamaniolibros.php b/ci4/app/Controllers/Configuracion/Tamaniolibros.php index 3769b718..3ff02ba8 100644 --- a/ci4/app/Controllers/Configuracion/Tamaniolibros.php +++ b/ci4/app/Controllers/Configuracion/Tamaniolibros.php @@ -13,7 +13,7 @@ class Tamaniolibros extends BaseController public function index() { - echo 'Hola2'; + echo 'Tamaño libros'; } public function edit() diff --git a/ci4/app/Controllers/Configuracion/Tareaservicio.php b/ci4/app/Controllers/Configuracion/Tareaservicio.php index 7bfc2302..7be3eb10 100644 --- a/ci4/app/Controllers/Configuracion/Tareaservicio.php +++ b/ci4/app/Controllers/Configuracion/Tareaservicio.php @@ -13,7 +13,7 @@ class Tareaservicio extends BaseController public function index() { - echo 'Hola2'; + echo 'Tarea servicio'; } public function edit() diff --git a/ci4/app/Controllers/Configuracion/Tiposimpresion.php b/ci4/app/Controllers/Configuracion/Tiposimpresion.php index 6432df84..10510a2d 100644 --- a/ci4/app/Controllers/Configuracion/Tiposimpresion.php +++ b/ci4/app/Controllers/Configuracion/Tiposimpresion.php @@ -13,7 +13,7 @@ class Tiposimpresion extends BaseController public function index() { - echo 'Hola2'; + echo 'Tipos impresion'; } public function edit() diff --git a/ci4/app/Controllers/Configuracion/Trabajo.php b/ci4/app/Controllers/Configuracion/Trabajo.php index 603d455b..54a33842 100644 --- a/ci4/app/Controllers/Configuracion/Trabajo.php +++ b/ci4/app/Controllers/Configuracion/Trabajo.php @@ -13,7 +13,7 @@ class Trabajo extends BaseController public function index() { - echo 'Hola2'; + echo 'Trabajo'; } public function edit() diff --git a/ci4/app/Controllers/Logistica/Logistica.php b/ci4/app/Controllers/Envioslogistica/Logistica.php similarity index 73% rename from ci4/app/Controllers/Logistica/Logistica.php rename to ci4/app/Controllers/Envioslogistica/Logistica.php index 1083b02a..157d8a21 100644 --- a/ci4/app/Controllers/Logistica/Logistica.php +++ b/ci4/app/Controllers/Envioslogistica/Logistica.php @@ -1,6 +1,6 @@ '; + var_dump($this->validateControllerAccess()); + echo '
    '; } + + public function validateControllerAccess(){ + $request = \Config\Services::request(); + $uri = $uri = new \CodeIgniter\HTTP\URI('https://sk-jjo.imnavajas.es/envioslogistica/logistica'); + $language = \Config\Services::language(); + $language->setLocale(session()->lang); + + $getWhiteList = $this->whiteListController(); + + foreach ($getWhiteList as $item){ + if(strtolower($item) == $uri->getSegment(1)){ + return true; + } + } + + $getRules = json_decode(session()->get('rules')??'[]'); + + foreach ($this->whiteListMethod() as $item){ + if(strtolower($item) == $uri->getSegment(2)){ + return true; + } + } + + foreach ($getRules as $key=>$value){ + if($key=='Digitalizacion') { + echo 'Hola'; + } + if(strtolower($key) == $uri->getSegment(1)){ + if($uri->getTotalSegments() <= 1){ + return true; + } + foreach ($value as $item){ + if(strtolower($item) == $uri->getSegment(2)){ + return true; + } + } + } + else{ + foreach($this->controllerFolderWhiteList() as $folder){ + + if(strtolower($folder) == $uri->getSegment(1)){ + + if(strtolower($key) == $uri->getSegment(2)){ + if($uri->getTotalSegments() <= 2){ + return true; + } + + foreach ($value as $item){ + if(strtolower($item) == $uri->getSegment(3)){ + return true; + } + } + + } + } + } + + } + } + return false; + } + + public function whiteListController(){ + return [ + '', + 'BaseController', + 'Home', + 'Login', + 'Oauth', + 'Language', + 'Api', + 'Cron', + 'lang', + 'Ajax', + 'Integration', + 'Migrate', + 'Test', + + ]; + } + + public function whiteListMethod(){ + return [ + 'initController', + '__construct', + 'validateControllerAccess', + 'whiteListController', + 'whiteListMethod' + ]; + } + + public function controllerFolderWhiteList(){ + return [ + 'Catalogo', + 'Clientes', + 'Configuracion', + 'Digitalizacion', + 'Facturacion', + 'Informes', + 'EnviosLogistica', + 'Pedidos', + 'Presupuestos', + 'Produccion', + 'Proveedores', + 'Tarifas', + 'Usuarios', + ]; + } } \ No newline at end of file diff --git a/ci4/app/Filters/LoginAuthFilter.php b/ci4/app/Filters/LoginAuthFilter.php index fb508a47..5e5f558e 100644 --- a/ci4/app/Filters/LoginAuthFilter.php +++ b/ci4/app/Filters/LoginAuthFilter.php @@ -106,10 +106,10 @@ class LoginAuthFilter implements FilterInterface 'Catalogo', 'Clientes', 'Configuracion', - 'Digitalizacion', + 'ServiciosDigitalizacion', 'Facturacion', 'Informes', - 'Logistica', + 'EnviosLogistica', 'Pedidos', 'Presupuestos', 'Produccion', diff --git a/ci4/app/Helpers/general_helper.php b/ci4/app/Helpers/general_helper.php index dd9bc3e0..3d0dd4e9 100644 --- a/ci4/app/Helpers/general_helper.php +++ b/ci4/app/Helpers/general_helper.php @@ -185,7 +185,7 @@ function getDictionary($word=''){ 'Maquina' => lang("App.permisos_maquina"), 'Tamaniolibros' => lang("App.permisos_tamaniolibros"), 'Imposiciones' => lang("App.permisos_imposiciones"), - 'Serie' => lang("App.permisos_serie"), + 'Seriefactura' => lang("App.permisos_seriefactura"), 'Tamanioformatos' => lang("App.permisos_tamanioformatos"), 'Serviciocliente' => lang("App.permisos_serviciocliente"), 'Calendario' => lang("App.permisos_calendario"), @@ -197,7 +197,7 @@ function getDictionary($word=''){ 'Catalogo' => lang("App.permisos_catalogo"), - 'Clientes' => lang("App.permisos_clientes"), + 'Cliente' => lang("App.permisos_clientes"), 'Tarifacliente' => lang("App.permisos_tarifacliente"), 'Proveedores' => lang("App.permisos_proveedores"), @@ -253,6 +253,23 @@ function getMenuControl(){ } } +function allowMenuSection(array $array, array $keys, $method){ + try{ + $value = false; + foreach($keys as $key){ + if (count($temp=getArrayItem($array,'name',$key)) > 0){ + if (count(getArrayItem($temp,'methods','index',true)) > 0){ + $value = true; + } + } + } + return $value; + + } catch (Exception $e) { + return []; + } +} + function getArrayItem(array $array, $key, $word, $isArray=false) { try { diff --git a/ci4/app/Language/en/App.php b/ci4/app/Language/en/App.php index 58628bc5..120021fb 100644 --- a/ci4/app/Language/en/App.php +++ b/ci4/app/Language/en/App.php @@ -1,21 +1,5 @@ "Dashboard", - "menu_registration" => "Registration", - "menu_users" => "Users", - "menu_permission_group" => "Permission Group", - "menu_settings" => "Settings", - "menu_general" => "General", - "menu_logout" => "Logout", - "menu_profile" => "My Profile", - "menu_activity" => "Activities", - "menu_notification" => "Notifications", - "menu_list" => "List", - "menu_add" => "Add", - "menu_oauth" => "Authentications", - "menu_template" => "Templates", - // LANGUAGES "lang_en" => "English", "lang_es" => "Spanish", @@ -649,7 +633,7 @@ return [ "permisos_maquina" => "Machine", "permisos_tamaniolibros" => "Books size", "permisos_imposiciones" => "Impositions", - "permisos_serie" => "Serie", + "permisos_seriefactura" => "Billing series", "permisos_tamanioformatos" => "Format size", "permisos_serviciocliente" => "Customer service", "permisos_calendario" => "Calendar", @@ -668,7 +652,7 @@ return [ "permisos_informes" => "Reports", "permisos_facturación" => "Billing", - "permisos_albaran" => "Deluvery note", + "permisos_albaran" => "Delivery notes", "permisos_facturas" => "Invoices", "permisos_pedidos" => "Orders", @@ -680,4 +664,73 @@ return [ "permisos_ordenmaquina" => "Machine order", "permisos_pedidoproduccion" => "Orders", "permisos_ordentrabajo" => "Work order", + + + // MENUS + "menu_dashboard" => "Dashboard", + + "menu_clientes" => "Customers", + "menu_tarifacliente" => "Customer Fee", + + "menu_configuration" => "Settings", + "menu_calendario" => "Calendar", + "menu_correo" => "Mail", + "menu_formaspago" => "Payment methods", + "menu_imposiciones" => "Impositions", + "menu_maquina" => "Machines", + "menu_papelgenerico" => "Generic paper", + "menu_seriefactura" => "Billing series", + "menu_serviciocliente" => "Customer service", + "menu_tamanioformatos" => "Format size", + "menu_tamaniolibros" => "Books size", + "menu_tareasservicio" => "Service tasks", + "menu_tiposimpresion" => "Printing types", + "menu_trabajo" => "Works", + + "menu_digitalizacion" => "Digitalisation", + + "menu_logistica" => "Logistics", + + "menu_facturación" => "Billing", + "menu_albaran" => "Delivery notes", + "menu_facturas" => "Invoices", + + "menu_informes" => "Reports", + + "menu_pedidos" => "Orders", + + "menu_presupuestos" => "Budgets", + "menu_presupuestomaquetacion" => "Layout budgets", + + "menu_produccion" => "Production", + "menu_ordentrabajomaquetacion" => "Layout work order", + "menu_ordenmaquina" => "Machine order", + "menu_pedidoproduccion" => "Orders", + "menu_ordentrabajo" => "Work order", + + "menu_proveedores" => "Providers", + + "menu_tarifas" => "Rates", + "menu_tarifapreimpresion" => "Preprinting", + "menu_tarifamanipulado" => "Handling", + "menu_tarifapapelcompra" => "Paper", + "menu_tarifaacabado" => "Finish", + "menu_tarifapapeldefecto" => "Default paper", + "menu_tarifaenvio" => "Shipping", + "menu_tarifaimpresion" => "Printing", + + "menu_users" => "Users", + "menu_permission_group" => "Roles and permissions", + + "menu_registration" => "Registration", + "menu_settings" => "Settings", + "menu_general" => "General", + "menu_logout" => "Logout", + "menu_profile" => "My Profile", + "menu_activity" => "Activities", + "menu_notification" => "Notifications", + "menu_list" => "List", + "menu_add" => "Add", + "menu_oauth" => "Authentications", + "menu_template" => "Templates", ]; \ No newline at end of file diff --git a/ci4/app/Language/es/App.php b/ci4/app/Language/es/App.php index 0226a819..4646ffc3 100644 --- a/ci4/app/Language/es/App.php +++ b/ci4/app/Language/es/App.php @@ -1,21 +1,5 @@ "Panel", - "menu_registration" => "Registro", - "menu_users" => "Usuarios", - "menu_permission_group" => "Grupo Permisos", - "menu_settings" => "Ajustes", - "menu_general" => "General", - "menu_logout" => "Salir", - "menu_profile" => "Mi Perfil", - "menu_activity" => "Ocupaciones", - "menu_notification" => "Notificaciones", - "menu_list" => "Lista", - "menu_add" => "Agregar", - "menu_oauth" => "Autenticaciones", - "menu_template" => "Plantillas", - // LANGUAGES "lang_en" => "Inglés", "lang_es" => "Español", @@ -649,7 +633,7 @@ return [ "permisos_maquina" => "Máquina", "permisos_tamaniolibros" => "Tamaño libros", "permisos_imposiciones" => "Imposiciones", - "permisos_serie" => "Serie", + "permisos_seriefactura" => "Series facturas", "permisos_tamanioformatos" => "Tamaño de formatos", "permisos_serviciocliente" => "Servicio cliente", "permisos_calendario" => "Calendario", @@ -668,7 +652,7 @@ return [ "permisos_informes" => "Informes", "permisos_facturación" => "Facturación", - "permisos_albaran" => "Albarán", + "permisos_albaran" => "Albaranes", "permisos_facturas" => "Facturas", "permisos_pedidos" => "Pedidos", @@ -680,4 +664,75 @@ return [ "permisos_ordenmaquina" => "Orden máquina", "permisos_pedidoproduccion" => "Pedidos", "permisos_ordentrabajo" => "Orden de trabajo", + + + // MENUS + "menu_dashboard" => "Panel", + + "menu_clientes" => "Clientes", + "menu_tarifacliente" => "Tarifa Clientes", + + "menu_configuration" => "Configuracion", + "menu_calendario" => "Calendario", + "menu_correo" => "Correo", + "menu_formaspago" => "Metodos de pago", + "menu_imposiciones" => "Imposiciones", + "menu_maquina" => "Maquinas", + "menu_papelgenerico" => "Papel generico", + "menu_seriefactura" => "Series facturas", + "menu_serviciocliente" => "Servicio cliente", + "menu_tamanioformatos" => "Tamaño formatos", + "menu_tamaniolibros" => "Tamaño libros", + "menu_tareasservicio" => "Tareas Servicio", + "menu_tiposimpresion" => "Tipos de impresion", + "menu_trabajo" => "Trabajos", + + "menu_digitalizacion" => "Digitalización", + + "menu_logistica" => "Logistica", + + "menu_facturación" => "Facturación", + "menu_albaran" => "Albaranes", + "menu_facturas" => "Facturas", + + "menu_informes" => "Informes", + + "menu_pedidos" => "Pedidos", + + "menu_presupuestos" => "Presupuestos", + "menu_presupuestomaquetacion" => "Presupuestos maquetación", + + "menu_produccion" => "Producción", + "menu_ordentrabajomaquetacion" => "Orden de trabajo maquetación", + "menu_ordenmaquina" => "Orden máquina", + "menu_pedidoproduccion" => "Pedidos", + "menu_ordentrabajo" => "Orden de trabajo", + + "menu_proveedores" => "Proveedores", + + "menu_tarifas" => "Tarifas", + "menu_tarifapreimpresion" => "Preimpresión", + "menu_tarifamanipulado" => "Manipulado", + "menu_tarifapapelcompra" => "Papel compra", + "menu_tarifaacabado" => "Acabado", + "menu_tarifapapeldefecto" => "Papel defecto", + "menu_tarifaenvio" => "Envío", + "menu_tarifaimpresion" => "Impresión", + + "menu_users" => "Usuarios", + "menu_permission_group" => "Roles y permisos", + + "menu_registration" => "Registro", + "menu_settings" => "Ajustes", + "menu_general" => "General", + "menu_logout" => "Salir", + "menu_profile" => "Mi Perfil", + "menu_activity" => "Ocupaciones", + "menu_notification" => "Notificaciones", + "menu_list" => "Lista", + "menu_add" => "Agregar", + "menu_oauth" => "Autenticaciones", + "menu_template" => "Plantillas", + + ]; \ No newline at end of file diff --git a/ci4/app/Views/themes/backend/focus2/form/group/form.php b/ci4/app/Views/themes/backend/focus2/form/group/form.php index 00f7dd80..dd972e4e 100644 --- a/ci4/app/Views/themes/backend/focus2/form/group/form.php +++ b/ci4/app/Views/themes/backend/focus2/form/group/form.php @@ -28,7 +28,7 @@
    -
    " method="post"> + " method="post"> diff --git a/ci4/app/Views/themes/backend/focus2/main/menu.php b/ci4/app/Views/themes/backend/focus2/main/menu.php index 5f53a38c..1c612fc4 100644 --- a/ci4/app/Views/themes/backend/focus2/main/menu.php +++ b/ci4/app/Views/themes/backend/focus2/main/menu.php @@ -4,31 +4,234 @@