Merge branch 'dev/controllersmenu' into 'main'

Dev/controllersmenu

See merge request jjimenez/safekat!4
This commit is contained in:
2023-05-04 08:19:36 +00:00
53 changed files with 2033 additions and 175 deletions

2
.vscode/sftp.json vendored
View File

@ -6,7 +6,7 @@
"username": "sk-jjo",
"password": "yuh1C^290",
"remotePath": "/",
"uploadOnSave": false,
"uploadOnSave": true,
"useTempFile": false,
"openSsh": false
}

View File

@ -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.

View File

@ -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);

View File

@ -82,7 +82,7 @@ class Ajax extends ResourceController
if($records[$key]['email_confirmed'] == 1){
$records[$key]['email'] = $records[$key]['email'].' '.'<span class="text-success"><i class="fas fa-check-circle"></i></span>';
}
$editLink = site_url('user/edit/').$records[$key]['token'];
$editLink = site_url('usuarios/user/edit/').$records[$key]['token'];
$records[$key]['options'] = ''.
'<div class="btn-group mr-1 mb-1" xmlns="http://www.w3.org/1999/html">
<button type="button" class="btn btn-primary btn-block dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
@ -172,7 +172,7 @@ class Ajax extends ResourceController
//Format records
foreach ($records as $key => $value){
$editLink = site_url('group/edit/').$records[$key]['token'];
$editLink = site_url('usuarios/group/edit/').$records[$key]['token'];
$records[$key]['options'] = ''.
'<div class="btn-group mr-1 mb-1" xmlns="http://www.w3.org/1999/html">
<button type="button" class="btn btn-primary btn-block dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
@ -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);
}

View File

@ -0,0 +1,30 @@
<?php
namespace App\Controllers\Catalogo;
use App\Controllers\BaseController;
class Catalogo extends BaseController
{
function __construct()
{
}
public function index()
{
echo 'Hola2';
}
public function import()
{
}
public function delete()
{
}
}

View File

@ -0,0 +1,35 @@
<?php
namespace App\Controllers\Clientes;
use App\Controllers\BaseController;
class Cliente extends BaseController
{
function __construct()
{
}
public function index()
{
echo "Cliente";
}
public function delete()
{
}
public function add()
{
}
public function edit()
{
}
}

View File

@ -0,0 +1,34 @@
<?php
namespace App\Controllers\Clientes;
use App\Controllers\BaseController;
class Tarifacliente extends BaseController
{
function __construct()
{
}
public function index()
{
echo "Tarifa Cliente";
}
public function delete()
{
}
public function add()
{
}
public function edit()
{
}
}

View File

@ -0,0 +1,25 @@
<?php
namespace App\Controllers\Configuracion;
use App\Controllers\BaseController;
class Calendario extends BaseController
{
function __construct()
{
}
public function index()
{
echo 'Calendario';
}
public function edit()
{
}
}

View File

@ -0,0 +1,21 @@
<?php
namespace App\Controllers\Configuracion;
use App\Controllers\BaseController;
class Correo extends BaseController
{
function __construct()
{
}
public function index()
{
echo 'Correo';
}
}

View File

@ -0,0 +1,35 @@
<?php
namespace App\Controllers\Configuracion;
use App\Controllers\BaseController;
class Formaspago extends BaseController
{
function __construct()
{
}
public function index()
{
echo 'Formas de pago';
}
public function edit()
{
}
public function add()
{
}
public function delete()
{
}
}

View File

@ -0,0 +1,35 @@
<?php
namespace App\Controllers\Configuracion;
use App\Controllers\BaseController;
class Imposiciones extends BaseController
{
function __construct()
{
}
public function index()
{
echo 'Imposiciones';
}
public function edit()
{
}
public function add()
{
}
public function delete()
{
}
}

View File

@ -0,0 +1,35 @@
<?php
namespace App\Controllers\Configuracion;
use App\Controllers\BaseController;
class Maquina extends BaseController
{
function __construct()
{
}
public function index()
{
echo 'Maquina';
}
public function edit()
{
}
public function add()
{
}
public function delete()
{
}
}

View File

@ -0,0 +1,35 @@
<?php
namespace App\Controllers\Configuracion;
use App\Controllers\BaseController;
class Papelgenerico extends BaseController
{
function __construct()
{
}
public function index()
{
echo 'Papel genérico';
}
public function edit()
{
}
public function add()
{
}
public function delete()
{
}
}

View File

@ -0,0 +1,21 @@
<?php
namespace App\Controllers\Configuracion;
use App\Controllers\BaseController;
class Seriefactura extends BaseController
{
function __construct()
{
}
public function index()
{
echo 'Serie factura';
}
}

View File

@ -0,0 +1,35 @@
<?php
namespace App\Controllers\Configuracion;
use App\Controllers\BaseController;
class Serviciocliente extends BaseController
{
function __construct()
{
}
public function index()
{
echo 'Servicio cliente';
}
public function edit()
{
}
public function add()
{
}
public function delete()
{
}
}

View File

@ -0,0 +1,35 @@
<?php
namespace App\Controllers\Configuracion;
use App\Controllers\BaseController;
class Tamanioformatos extends BaseController
{
function __construct()
{
}
public function index()
{
echo 'Tamaño formatos';
}
public function edit()
{
}
public function add()
{
}
public function delete()
{
}
}

View File

@ -0,0 +1,35 @@
<?php
namespace App\Controllers\Configuracion;
use App\Controllers\BaseController;
class Tamaniolibros extends BaseController
{
function __construct()
{
}
public function index()
{
echo 'Tamaño libros';
}
public function edit()
{
}
public function add()
{
}
public function delete()
{
}
}

View File

@ -0,0 +1,35 @@
<?php
namespace App\Controllers\Configuracion;
use App\Controllers\BaseController;
class Tareaservicio extends BaseController
{
function __construct()
{
}
public function index()
{
echo 'Tarea servicio';
}
public function edit()
{
}
public function add()
{
}
public function delete()
{
}
}

View File

@ -0,0 +1,35 @@
<?php
namespace App\Controllers\Configuracion;
use App\Controllers\BaseController;
class Tiposimpresion extends BaseController
{
function __construct()
{
}
public function index()
{
echo 'Tipos impresion';
}
public function edit()
{
}
public function add()
{
}
public function delete()
{
}
}

View File

@ -0,0 +1,35 @@
<?php
namespace App\Controllers\Configuracion;
use App\Controllers\BaseController;
class Trabajo extends BaseController
{
function __construct()
{
}
public function index()
{
echo 'Trabajo';
}
public function edit()
{
}
public function add()
{
}
public function delete()
{
}
}

View File

@ -0,0 +1,22 @@
<?php
namespace App\Controllers\EnviosLogistica;
use App\Controllers\BaseController;
class Logistica extends BaseController
{
function __construct()
{
}
public function index()
{
echo 'Logistica';
}
}

View File

@ -0,0 +1,30 @@
<?php
namespace App\Controllers\Facturacion;
use App\Controllers\BaseController;
class Albaran extends BaseController
{
function __construct()
{
}
public function index()
{
echo 'Albaran';
}
public function delete()
{
}
public function export()
{
}
}

View File

@ -0,0 +1,30 @@
<?php
namespace App\Controllers\Facturacion;
use App\Controllers\BaseController;
class Factura extends BaseController
{
function __construct()
{
}
public function index()
{
echo 'Facturas';
}
public function delete()
{
}
public function export()
{
}
}

View File

@ -0,0 +1,22 @@
<?php
namespace App\Controllers\Informes;
use App\Controllers\BaseController;
class Informe extends BaseController
{
function __construct()
{
}
public function index()
{
echo 'Informe';
}
}

View File

@ -0,0 +1,35 @@
<?php
namespace App\Controllers\Pedidos;
use App\Controllers\BaseController;
class Pedido extends BaseController
{
function __construct()
{
}
public function index()
{
echo 'Pedido';
}
public function delete_files()
{
}
public function pedidos_maquetacion()
{
}
public function pedidos_prestashop()
{
}
}

View File

@ -0,0 +1,35 @@
<?php
namespace App\Controllers\Presupuestos;
use App\Controllers\BaseController;
class Presupuesto extends BaseController
{
function __construct()
{
}
public function index()
{
echo 'Presupuesto';
}
public function delete()
{
}
public function add()
{
}
public function edit()
{
}
}

View File

@ -0,0 +1,35 @@
<?php
namespace App\Controllers\Presupuestos;
use App\Controllers\BaseController;
class Presupuestomaquetacion extends BaseController
{
function __construct()
{
}
public function index()
{
echo 'Presupuesto maquetacion';
}
public function delete()
{
}
public function add()
{
}
public function edit()
{
}
}

View File

@ -0,0 +1,35 @@
<?php
namespace App\Controllers\Produccion;
use App\Controllers\BaseController;
class Ordenmaquina extends BaseController
{
function __construct()
{
}
public function index()
{
echo 'Orden maquina';
}
public function delete()
{
}
public function add()
{
}
public function edit()
{
}
}

View File

@ -0,0 +1,35 @@
<?php
namespace App\Controllers\Produccion;
use App\Controllers\BaseController;
class Ordentrabajo extends BaseController
{
function __construct()
{
}
public function index()
{
echo 'Orden trabajo';
}
public function delete()
{
}
public function add()
{
}
public function edit()
{
}
}

View File

@ -0,0 +1,35 @@
<?php
namespace App\Controllers\Produccion;
use App\Controllers\BaseController;
class Ordentrabajomaquetacion extends BaseController
{
function __construct()
{
}
public function index()
{
echo 'Orden maquetación';
}
public function delete()
{
}
public function add()
{
}
public function edit()
{
}
}

View File

@ -0,0 +1,35 @@
<?php
namespace App\Controllers\Produccion;
use App\Controllers\BaseController;
class Pedidoproduccion extends BaseController
{
function __construct()
{
}
public function index()
{
echo 'Pedido produccion';
}
public function delete()
{
}
public function add()
{
}
public function edit()
{
}
}

View File

@ -0,0 +1,30 @@
<?php
namespace App\Controllers\Proveedores;
use App\Controllers\BaseController;
class Proveedor extends BaseController
{
function __construct()
{
}
public function index()
{
echo 'Proveedor';
}
public function delete()
{
}
public function export()
{
}
}

View File

@ -0,0 +1,21 @@
<?php
namespace App\Controllers\ServiciosDigitalizacion;
use App\Controllers\BaseController;
class Digitalizacion extends BaseController
{
function __construct()
{
}
public function index()
{
echo 'Digitalizacion';
}
}

View File

@ -0,0 +1,35 @@
<?php
namespace App\Controllers\Tarifas;
use App\Controllers\BaseController;
class Tarifaacabado extends BaseController
{
function __construct()
{
}
public function index()
{
echo 'Tarifa acabado';
}
public function delete()
{
}
public function add()
{
}
public function edit()
{
}
}

View File

@ -0,0 +1,35 @@
<?php
namespace App\Controllers\Tarifas;
use App\Controllers\BaseController;
class Tarifaenvio extends BaseController
{
function __construct()
{
}
public function index()
{
echo 'Tarifa envio';
}
public function delete()
{
}
public function add()
{
}
public function edit()
{
}
}

View File

@ -0,0 +1,35 @@
<?php
namespace App\Controllers\Tarifas;
use App\Controllers\BaseController;
class Tarifaimpresion extends BaseController
{
function __construct()
{
}
public function index()
{
echo 'Tarifa impresion';
}
public function delete()
{
}
public function add()
{
}
public function edit()
{
}
}

View File

@ -0,0 +1,35 @@
<?php
namespace App\Controllers\Tarifas;
use App\Controllers\BaseController;
class Tarifamanipulado extends BaseController
{
function __construct()
{
}
public function index()
{
echo 'Tarifa manipulado';
}
public function delete()
{
}
public function add()
{
}
public function edit()
{
}
}

View File

@ -0,0 +1,35 @@
<?php
namespace App\Controllers\Tarifas;
use App\Controllers\BaseController;
class Tarifapapelcompra extends BaseController
{
function __construct()
{
}
public function index()
{
echo 'Tarifa papel compra';
}
public function delete()
{
}
public function add()
{
}
public function edit()
{
}
}

View File

@ -0,0 +1,35 @@
<?php
namespace App\Controllers\Tarifas;
use App\Controllers\BaseController;
class Tarifapapeldefecto extends BaseController
{
function __construct()
{
}
public function index()
{
echo 'Tarifa papel defecto';
}
public function delete()
{
}
public function add()
{
}
public function edit()
{
}
}

View File

@ -0,0 +1,35 @@
<?php
namespace App\Controllers\Tarifas;
use App\Controllers\BaseController;
class Tarifapreimpresion extends BaseController
{
function __construct()
{
}
public function index()
{
echo 'Tarifa papel impresion';
}
public function delete()
{
}
public function add()
{
}
public function edit()
{
}
}

View File

@ -2,85 +2,127 @@
namespace App\Controllers;
use App\Models\UserModel;
use App\Models\UserGroupModel;
use App\Models\GroupUserModel;
class Test extends BaseController
{
private $user_model;
private $group_user_model;
private $group_model;
function __construct()
{
$this->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']);
}
for ($i = 1; $i<sizeof($groups); $i++) {
echo var_dump($this->group_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 '<pre>';
var_dump($groups_names);
var_dump($this->validateControllerAccess());
echo '</pre>';
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();
}
}
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',
];
}
}

View File

@ -1,6 +1,7 @@
<?php
namespace App\Controllers;
namespace App\Controllers\Usuarios;
use App\Controllers\BaseController;
use App\Models\UserModel;
use App\Models\UserGroupModel;
@ -59,7 +60,7 @@ class Group extends BaseController
$data['btn_return'] = [
'title' => lang("App.global_come_back"),
'route' => '/group',
'route' => 'usuarios/group',
'class' => 'btn btn-dark mr-1',
'icon' => 'fas fa-angle-left'
];
@ -94,7 +95,7 @@ class Group extends BaseController
$data['btn_return'] = [
'title' => lang("App.global_come_back"),
'route' => '/group',
'route' => 'usuarios/group',
'class' => 'btn btn-dark mr-1',
'icon' => 'fas fa-angle-left'
];
@ -108,7 +109,7 @@ class Group extends BaseController
$data['obj'] = $this->group_model->where('token', $id)->first();
if($data['obj']==null){
return redirect()->to('/group');
return redirect()->to('/usuarios/group');
}
echo view(getenv('theme.path').'main/header');
@ -121,7 +122,7 @@ class Group extends BaseController
//Demo Mode
if(env('demo.mode')??false){
session()->setFlashdata('sweet', ['warning',lang("App.general_demo_mode")]);
return redirect()->to('/group');
return redirect()->to('/usuarios/group');
}
$session = session();
@ -156,9 +157,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 +170,10 @@ class Group extends BaseController
}
}
}
$listPost['rules'] = json_encode($rules_access??'{}');
if(empty($listPost['id_group'])){
$listPost['token'] = md5(uniqid(rand(), true));
}
@ -177,13 +182,13 @@ class Group extends BaseController
if(empty($listPost['id_group'])){
$session->setFlashdata('sweet', ['success',lang("App.group_alert_add")]);
return redirect()->to('/group');
return redirect()->to('/usuarios/group');
}else{
if($session->get('group') == $this->request->getPost('token')){
$session->set('rules', $listPost['rules']);
}
$session->setFlashdata('sweet', ['success',lang("App.group_alert_edit")]);
return redirect()->to('/group');
return redirect()->to('/usuarios/group');
}
}
}else{
@ -197,7 +202,7 @@ class Group extends BaseController
//Demo Mode
if(env('demo.mode')??false){
session()->setFlashdata('sweet', ['warning',lang("App.general_demo_mode")]);
return redirect()->to('/group');
return redirect()->to('/usuarios/group');
}
$session = session();
@ -207,6 +212,6 @@ class Group extends BaseController
}else{
$session->setFlashdata('sweet', ['error',lang("App.group_alert_error")]);
}
return redirect()->to('/group');
return redirect()->to('/usuarios/group');
}
}

View File

@ -1,6 +1,7 @@
<?php
namespace App\Controllers;
namespace App\Controllers\Usuarios;
use App\Controllers\BaseController;
use App\Libraries\PasswordHash;
use App\Models\ActivityModel;

View File

@ -41,11 +41,12 @@ class LoginAuthFilter implements FilterInterface
public function validateControllerAccess(){
$request = \Config\Services::request();
$uri = $request->uri;
$language = \Config\Services::language();
$language->setLocale(session()->lang);
$getWhiteList = $this->whiteListController();
foreach ($getWhiteList as $item){
if(strtolower($item) == $uri->getSegment(1)){
return true;
@ -71,12 +72,55 @@ class LoginAuthFilter implements FilterInterface
}
}
}
}
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;
}
}
}
}
}
}
}
session()->setFlashdata('sweet', ['error',lang("App.dashboard_alert_rules")]);
header('Location: /home');
exit();
}
/**
* JJO
* Returns the controller folder list
*/
public function controllerFolderWhiteList(){
return [
'Catalogo',
'Clientes',
'Configuracion',
'ServiciosDigitalizacion',
'Facturacion',
'Informes',
'EnviosLogistica',
'Pedidos',
'Presupuestos',
'Produccion',
'Proveedores',
'Tarifas',
'Usuarios',
];
}
/**
* Returns the white list of allowed controllers.
*/
@ -94,7 +138,8 @@ class LoginAuthFilter implements FilterInterface
'Ajax',
'Integration',
'Migrate',
'Test'
'Test',
];
}

View File

@ -54,6 +54,10 @@ function getAllClass($controller = null){
}
}
function getAllClassFolder($folder = null){
try {
helper('filesystem');
@ -107,6 +111,8 @@ function getAllFolder(){
}
}
function getIgnoreController($controller)
{
try {
@ -140,21 +146,88 @@ 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"),
'Seriefactura' => lang("App.permisos_seriefactura"),
'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"),
'Cliente' => 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"),
'Serviciosdigitalizacion' => lang("App.permisos_digitalización"),
'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"),
];
return array_key_exists($word,$dictionary)?$dictionary[$word] : $word;
} catch (Exception $e) {
@ -181,6 +254,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 {

View File

@ -1,21 +1,5 @@
<?php
return [
// MENUS
"menu_dashboard" => "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",
@ -323,6 +307,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 +323,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 +585,152 @@ 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_seriefactura" => "Billing series",
"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" => "Delivery notes",
"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",
// 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",
];

View File

@ -1,21 +1,5 @@
<?php
return [
// MENUS
"menu_dashboard" => "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",
@ -323,6 +307,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 +323,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 +585,154 @@ 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_seriefactura" => "Series facturas",
"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" => "Albaranes",
"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",
// 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",
];

View File

@ -34,7 +34,7 @@
</div>
</div>
</div>
<div class="col-lg-3 col-sm-6">
<div class="col-12">
<div class="card">
<div class="stat-widget-one card-body">
<div class="d-inline-block">

View File

@ -28,7 +28,7 @@
</div>
<div class="card-body">
<?= formAlert() ?>
<form class="form" action="<?= site_url("group/store")?>" method="post">
<form class="form" action="<?= site_url("usuarios/group/store")?>" method="post">
<?= csrf_field() ?>
<input type="hidden" name="id_group" value="<?= (isset($obj)) ? $obj['id_group'] : set_value('id_group') ?>">
<input type="hidden" name="token" value="<?= (isset($obj)) ? $obj['token'] : set_value('token') ?>">
@ -60,19 +60,58 @@
</div>
</div>
<div class="row">
<?php foreach(getAllClass() as $item): ?>
<div class="col-md-3 col-lg-2">
<h4 class="danger"><?=getDictionary($item['name'])?></h4>
<?php foreach($item['methods'] as $subitem): ?>
<?php if(!getIgnoreMethod($subitem)): ?>
<div class="custom-control custom-switch">
<input type="checkbox" id="<?=$item['name'].'_'.$subitem?>" name="<?=$item['name'].'_'.$subitem?>" class="custom-control-input">
<label for="<?=$item['name'].'_'.$subitem?>" class="custom-control-label"><?=getDictionary($subitem)?></label>
</div>
<?php endif; ?>
<?php endforeach; ?>
<div class="col-md-12 right">
<div class="card">
<div class="card-header">
<h4 class="card-title"><?= lang("App.permisos_general") ?></h4>
</div>
<div class="card-body">
<div class="row">
<?php foreach(getAllClass() as $item): ?>
<?php if (empty($item['path'])): ?>
<div class="col-md-3 col-lg-2">
<h4 class="danger"><?=getDictionary($item['name'])?></h4>
<?php foreach($item['methods'] as $subitem): ?>
<?php if(!getIgnoreMethod($subitem)): ?>
<div class="custom-control custom-switch">
<input type="checkbox" id="<?=$item['name'].'_'.$subitem?>" name="<?=$item['name'].'_'.$subitem?>" class="custom-control-input">
<label for="<?=$item['name'].'_'.$subitem?>" class="custom-control-label"><?=getDictionary($subitem)?></label>
</div>
<?php endif; ?>
<?php endforeach; ?>
</div>
<?php endif; ?>
<?php endforeach; ?>
</div>
</div>
</div>
<?php endforeach; ?>
<?php foreach(getAllFolder() as $folder): ?>
<div class="card">
<div class="card-header">
<h4 class="card-title"><?= getDictionary($folder)??'' ?></h4>
</div>
<div class="card-body">
<div class="row">
<?php foreach(getAllClass() as $item): ?>
<?php if (str_contains($item['path'], $folder)): ?>
<div class="col-md-3 col-lg-2">
<h4 class="danger"><?=getDictionary($item['name'])?></h4>
<?php foreach($item['methods'] as $subitem): ?>
<?php if(!getIgnoreMethod($subitem)): ?>
<div class="custom-control custom-switch">
<input type="checkbox" id="<?=$item['name'].'_'.$subitem?>" name="<?=$item['name'].'_'.$subitem?>" class="custom-control-input">
<label for="<?=$item['name'].'_'.$subitem?>" class="custom-control-label"><?=getDictionary($subitem)?></label>
</div>
<?php endif; ?>
<?php endforeach; ?>
</div>
<?php endif; ?>
<?php endforeach; ?>
</div>
</div>
</div>
<?php endforeach; ?>
</div>
</div>
</div>
<div class="form-actions mt-2">

View File

@ -110,7 +110,7 @@
}).then(function(isConfirm) {
console.log(isConfirm);
if (isConfirm.value) {
window.location.href = '<?=site_url("group/delete/")?>'+id;
window.location.href = '<?=site_url("usuarios/group/delete/")?>'+id;
}
})
}

View File

@ -112,7 +112,7 @@
}).then(function(isConfirm) {
console.log(isConfirm);
if (isConfirm.value) {
window.location.href = '<?=site_url("user/delete/")?>'+id;
window.location.href = '<?=site_url("usuarios/user/delete/")?>'+id;
}
})
}

View File

@ -55,6 +55,7 @@ $notification = session()->get('notification');
<div class="collapse navbar-collapse justify-content-between">
<div class="header-left"></div>
<ul class="navbar-nav header-right">
<!--- JJO
<li class="nav-item dropdown notification_dropdown">
<a class="nav-link" href="#" role="button" data-toggle="dropdown">
<i class="fas fa-bell"></i>
@ -83,6 +84,7 @@ $notification = session()->get('notification');
<a class="all-notification" href="<?=site_url('my/notification')?>"><?= lang("App.notification_bell_btn") ?> <i class="ti-arrow-right"></i></a>
</div>
</li>
--->
<li class="nav-item dropdown header-profile">
<a class="nav-link" href="#" role="button" data-toggle="dropdown">
<i class="fas fa-globe-americas"></i>
@ -96,10 +98,6 @@ $notification = session()->get('notification');
<img src="<?=site_url('assets/flags/es_32_circle.png')?>">
<span class="ml-2"><?= lang("App.lang_es") ?></span>
</a>
<a href="<?= site_url('lang/pt'); ?>" class="dropdown-item">
<img src="<?=site_url('assets/flags/br_32_circle.png')?>">
<span class="ml-2"><?= lang("App.lang_pt") ?></span>
</a>
</div>
</li>
<li class="nav-item dropdown header-profile">
@ -111,10 +109,12 @@ $notification = session()->get('notification');
<i class="fas fa-user"></i>
<span class="ml-2"><?= lang("App.menu_profile") ?></span>
</a>
<!--- JJO
<a href="<?= site_url('activity'); ?>" class="dropdown-item">
<i class="fas fa-list"></i>
<span class="ml-2"><?= lang("App.menu_activity") ?></span>
</a>
--->
<a href="<?= site_url('login/logout'); ?>" class="dropdown-item">
<i class="fas fa-sign-out-alt"></i>
<span class="ml-2"><?= lang("App.menu_logout") ?></span>

View File

@ -4,31 +4,234 @@
<div class="quixnav-scroll">
<ul class="metismenu" id="menu">
<li><a href="<?= site_url("")?>" aria-expanded="false"><i class="fas fa-th-large"></i><span class="nav-text"><?= lang("App.menu_dashboard") ?></span></a></li>
<?php if (count(getArrayItem($menus,'name','User')) > 0): ?>
<li class="nav-label"><?= lang("App.menu_registration") ?></li>
<li><a class="has-arrow" href="Javascript:void()" aria-expanded="false"><i class="fas fa-user-friends"></i><span class="nav-text"><?= lang("App.menu_users") ?></span></a>
<?php if(allowMenuSection($menus, ['Cliente', 'Tarifacliente'], 'index')): ?>
<li><a class="has-arrow" href="Javascript:void()" aria-expanded="false"><i class="icon-arrow-down"></i><span class="nav-text"><?= lang("App.menu_clientes") ?></span></a>
<ul aria-expanded="false">
<?php if (count(getArrayItem($menus,'methods','index',true)) > 0): ?>
<li><a href="<?= site_url("user")?>"><?= lang("App.menu_list") ?></a></li>
<?php if (count($temp=getArrayItem($menus,'name','Cliente')) > 0): ?>
<?php if (count(getArrayItem($temp,'methods','index',true)) > 0): ?>
<li><a href="<?= site_url("clientes/cliente")?>" aria-expanded="false"><i class="icon-list"></i><span class="nav-text"><?= lang("App.menu_clientes") ?></span></a></li>
<?php endif; ?>
<?php if (count(getArrayItem($menus,'methods','add',true)) > 0): ?>
<li><a href="<?= site_url("user/add")?>"><?= lang("App.menu_add") ?></a></li>
<?php endif; ?>
<?php if (count($temp=getArrayItem($menus,'name','Tarifacliente')) > 0): ?>
<?php if (count(getArrayItem($temp,'methods','index',true)) > 0): ?>
<li><a href="<?= site_url("clientes/tarifacliente")?>" aria-expanded="false"><i class="icon-list"></i><span class="nav-text"><?= lang("App.menu_tarifacliente") ?></span></a></li>
<?php endif; ?>
<?php endif; ?>
</ul>
</li>
<?php endif; ?>
<?php if (count(getArrayItem($menus,'name','Group')) > 0): ?>
<li><a class="has-arrow" href="Javascript:void()" aria-expanded="false"><i class="fas fa-user-lock"></i><span class="nav-text"><?= lang("App.menu_permission_group") ?></span></a>
<?php if(allowMenuSection($menus, ['Calendario', 'Correo', 'Formaspago', 'Imposiciones', 'Maquina', 'Papelgenerico', 'Seriefactura', 'Serviciocliente', 'Tamanioformatos', 'Tamaniolibros', 'Tareaservicio', 'Tiposimpresion', 'Trabajo'], 'index')): ?>
<li><a class="has-arrow" href="Javascript:void()" aria-expanded="false"><i class="icon-arrow-down"></i><span class="nav-text"><?= lang("App.menu_configuration") ?></span></a>
<ul aria-expanded="false">
<?php if (count(getArrayItem($menus,'methods','index',true)) > 0): ?>
<li><a href="<?= site_url("group")?>"><?= lang("App.menu_list") ?></a></li>
<?php if (count($temp=getArrayItem($menus,'name','Calendario')) > 0): ?>
<?php if (count(getArrayItem($temp,'methods','index',true)) > 0): ?>
<li><a href="<?= site_url("configuracion/calendario")?>" aria-expanded="false"><i class="icon-list"></i><span class="nav-text"><?= lang("App.menu_calendario") ?></span></a></li>
<?php endif; ?>
<?php if (count(getArrayItem($menus,'methods','add',true)) > 0): ?>
<li><a href="<?= site_url("group/add")?>"><?= lang("App.menu_add") ?></a></li>
<?php endif; ?>
<?php if (count($temp=getArrayItem($menus,'name','Correo')) > 0): ?>
<?php if (count(getArrayItem($temp,'methods','index',true)) > 0): ?>
<li><a href="<?= site_url("configuracion/correo")?>" aria-expanded="false"><i class="icon-list"></i><span class="nav-text"><?= lang("App.menu_correo") ?></span></a></li>
<?php endif; ?>
<?php endif; ?>
<?php if (count($temp=getArrayItem($menus,'name','Formaspago')) > 0): ?>
<?php if (count(getArrayItem($temp,'methods','index',true)) > 0): ?>
<li><a href="<?= site_url("configuracion/formaspago")?>" aria-expanded="false"><i class="icon-list"></i><span class="nav-text"><?= lang("App.menu_formaspago") ?></span></a></li>
<?php endif; ?>
<?php endif; ?>
<?php if (count($temp=getArrayItem($menus,'name','Imposiciones')) > 0): ?>
<?php if (count(getArrayItem($temp,'methods','index',true)) > 0): ?>
<li><a href="<?= site_url("configuracion/imposiciones")?>" aria-expanded="false"><i class="icon-list"></i><span class="nav-text"><?= lang("App.menu_imposiciones") ?></span></a></li>
<?php endif; ?>
<?php endif; ?>
<?php if (count($temp=getArrayItem($menus,'name','Maquina')) > 0): ?>
<?php if (count(getArrayItem($temp,'methods','index',true)) > 0): ?>
<li><a href="<?= site_url("configuracion/maquina")?>" aria-expanded="false"><i class="icon-list"></i><span class="nav-text"><?= lang("App.menu_maquina") ?></span></a></li>
<?php endif; ?>
<?php endif; ?>
<?php if (count($temp=getArrayItem($menus,'name','Papelgenerico')) > 0): ?>
<?php if (count(getArrayItem($temp,'methods','index',true)) > 0): ?>
<li><a href="<?= site_url("configuracion/papelgenerico")?>" aria-expanded="false"><i class="icon-list"></i><span class="nav-text"><?= lang("App.menu_papelgenerico") ?></span></a></li>
<?php endif; ?>
<?php endif; ?>
<?php if (count($temp=getArrayItem($menus,'name','Seriefactura')) > 0): ?>
<?php if (count(getArrayItem($temp,'methods','index',true)) > 0): ?>
<li><a href="<?= site_url("configuracion/seriefactura")?>" aria-expanded="false"><i class="icon-list"></i><span class="nav-text"><?= lang("App.menu_seriefactura") ?></span></a></li>
<?php endif; ?>
<?php endif; ?>
<?php if (count($temp=getArrayItem($menus,'name','Serviciocliente')) > 0): ?>
<?php if (count(getArrayItem($temp,'methods','index',true)) > 0): ?>
<li><a href="<?= site_url("configuracion/serviciocliente")?>" aria-expanded="false"><i class="icon-list"></i><span class="nav-text"><?= lang("App.menu_serviciocliente") ?></span></a></li>
<?php endif; ?>
<?php endif; ?>
<?php if (count($temp=getArrayItem($menus,'name','Tamanioformatos')) > 0): ?>
<?php if (count(getArrayItem($temp,'methods','index',true)) > 0): ?>
<li><a href="<?= site_url("configuracion/tamanioformatos")?>" aria-expanded="false"><i class="icon-list"></i><span class="nav-text"><?= lang("App.menu_tamanioformatos") ?></span></a></li>
<?php endif; ?>
<?php endif; ?>
<?php if (count($temp=getArrayItem($menus,'name','Tamaniolibros')) > 0): ?>
<?php if (count(getArrayItem($temp,'methods','index',true)) > 0): ?>
<li><a href="<?= site_url("configuracion/tamaniolibros")?>" aria-expanded="false"><i class="icon-list"></i><span class="nav-text"><?= lang("App.menu_tamaniolibros") ?></span></a></li>
<?php endif; ?>
<?php endif; ?>
<?php if (count($temp=getArrayItem($menus,'name','Tareasservicio')) > 0): ?>
<?php if (count(getArrayItem($temp,'methods','index',true)) > 0): ?>
<li><a href="<?= site_url("configuracion/tareasservicio")?>" aria-expanded="false"><i class="icon-list"></i><span class="nav-text"><?= lang("App.menu_tareasservicio") ?></span></a></li>
<?php endif; ?>
<?php endif; ?>
<?php if (count($temp=getArrayItem($menus,'name','Tiposimpresion')) > 0): ?>
<?php if (count(getArrayItem($temp,'methods','index',true)) > 0): ?>
<li><a href="<?= site_url("configuracion/tiposimpresion")?>" aria-expanded="false"><i class="icon-list"></i><span class="nav-text"><?= lang("App.menu_tiposimpresion") ?></span></a></li>
<?php endif; ?>
<?php endif; ?>
<?php if (count($temp=getArrayItem($menus,'name','Trabajo')) > 0): ?>
<?php if (count(getArrayItem($temp,'methods','index',true)) > 0): ?>
<li><a href="<?= site_url("configuracion/trabajo")?>" aria-expanded="false"><i class="icon-list"></i><span class="nav-text"><?= lang("App.menu_trabajo") ?></span></a></li>
<?php endif; ?>
<?php endif; ?>
</ul>
</li>
<?php endif; ?>
<?php if (count(getArrayItem($menus,'name','Digitalizacion')) > 0): ?>
<li><a href="<?= site_url("serviciosdigitalizacion/digitalizacion")?>" aria-expanded="false"><i class="fas fa-list"></i><span class="nav-text"><?= lang("App.menu_digitalizacion") ?></span></a></li>
<?php endif; ?>
<?php if (count(getArrayItem($menus,'name','Logistica')) > 0): ?>
<li><a href="<?= site_url("envioslogistica/logistica")?>" aria-expanded="false"><i class="fas fa-list"></i><span class="nav-text"><?= lang("App.menu_logistica") ?></span></a></li>
<?php endif; ?>
<?php if(allowMenuSection($menus, ['Albaran', 'Factura'], 'index')): ?>
<li><a class="has-arrow" href="Javascript:void()" aria-expanded="false"><i class="icon-arrow-down"></i><span class="nav-text"><?= lang("App.menu_facturación") ?></span></a>
<ul aria-expanded="false">
<?php if (count($temp=getArrayItem($menus,'name','Albaran')) > 0): ?>
<?php if (count(getArrayItem($temp,'methods','index',true)) > 0): ?>
<li><a href="<?= site_url("facturacion/albaran")?>" aria-expanded="false"><i class="icon-list"></i><span class="nav-text"><?= lang("App.menu_albaran") ?></span></a></li>
<?php endif; ?>
<?php endif; ?>
<?php if (count($temp=getArrayItem($menus,'name','Factura')) > 0): ?>
<?php if (count(getArrayItem($temp,'methods','index',true)) > 0): ?>
<li><a href="<?= site_url("facturacion/factura")?>" aria-expanded="false"><i class="icon-list"></i><span class="nav-text"><?= lang("App.menu_facturas") ?></span></a></li>
<?php endif; ?>
<?php endif; ?>
</ul>
<?php endif; ?>
<?php if (count(getArrayItem($menus,'name','Informe')) > 0): ?>
<li><a href="<?= site_url("informes/informe")?>" aria-expanded="false"><i class="fas fa-list"></i><span class="nav-text"><?= lang("App.menu_informes") ?></span></a></li>
<?php endif; ?>
<?php if (count(getArrayItem($menus,'name','Pedido')) > 0): ?>
<li><a href="<?= site_url("pedidos/pedido")?>" aria-expanded="false"><i class="fas fa-list"></i><span class="nav-text"><?= lang("App.menu_pedidos") ?></span></a></li>
<?php endif; ?>
<?php if(allowMenuSection($menus, ['Presupuesto', 'Presupuestomaquetacion'], 'index')): ?>
<li><a class="has-arrow" href="Javascript:void()" aria-expanded="false"><i class="icon-arrow-down"></i><span class="nav-text"><?= lang("App.menu_presupuestos") ?></span></a>
<ul aria-expanded="false">
<?php if (count($temp=getArrayItem($menus,'name','Albaran')) > 0): ?>
<?php if (count(getArrayItem($temp,'methods','index',true)) > 0): ?>
<li><a href="<?= site_url("presupuestos/presupuesto")?>" aria-expanded="false"><i class="icon-list"></i><span class="nav-text"><?= lang("App.menu_presupuestos") ?></span></a></li>
<?php endif; ?>
<?php endif; ?>
<?php if (count($temp=getArrayItem($menus,'name','Factura')) > 0): ?>
<?php if (count(getArrayItem($temp,'methods','index',true)) > 0): ?>
<li><a href="<?= site_url("presupuestos/presupuestomaquetacion")?>" aria-expanded="false"><i class="icon-list"></i><span class="nav-text"><?= lang("App.menu_presupuestomaquetacion") ?></span></a></li>
<?php endif; ?>
<?php endif; ?>
</ul>
<?php endif; ?>
<?php if(allowMenuSection($menus, ['Ordenmaquina', 'Ordentrabajo', 'Ordentrabajomaquetacion', 'Pedidoproduccion'], 'index')): ?>
<li><a class="has-arrow" href="Javascript:void()" aria-expanded="false"><i class="icon-arrow-down"></i><span class="nav-text"><?= lang("App.menu_produccion") ?></span></a>
<ul aria-expanded="false">
<?php if (count($temp=getArrayItem($menus,'name','Ordenmaquina')) > 0): ?>
<?php if (count(getArrayItem($temp,'methods','index',true)) > 0): ?>
<li><a href="<?= site_url("produccion/ordenmaquina")?>" aria-expanded="false"><i class="icon-list"></i><span class="nav-text"><?= lang("App.menu_ordenmaquina") ?></span></a></li>
<?php endif; ?>
<?php endif; ?>
<?php if (count($temp=getArrayItem($menus,'name','Ordentrabajo')) > 0): ?>
<?php if (count(getArrayItem($temp,'methods','index',true)) > 0): ?>
<li><a href="<?= site_url("produccion/ordentrabajo")?>" aria-expanded="false"><i class="icon-list"></i><span class="nav-text"><?= lang("App.menu_ordentrabajo") ?></span></a></li>
<?php endif; ?>
<?php endif; ?>
<?php if (count($temp=getArrayItem($menus,'name','Ordentrabajomaquetacion')) > 0): ?>
<?php if (count(getArrayItem($temp,'methods','index',true)) > 0): ?>
<li><a href="<?= site_url("produccion/ordentrabajomaquetacion")?>" aria-expanded="false"><i class="icon-list"></i><span class="nav-text"><?= lang("App.menu_ordentrabajomaquetacion") ?></span></a></li>
<?php endif; ?>
<?php endif; ?>
<?php if (count($temp=getArrayItem($menus,'name','Pedidoproduccion')) > 0): ?>
<?php if (count(getArrayItem($temp,'methods','index',true)) > 0): ?>
<li><a href="<?= site_url("produccion/pedidoproduccion")?>" aria-expanded="false"><i class="icon-list"></i><span class="nav-text"><?= lang("App.menu_pedidoproduccion") ?></span></a></li>
<?php endif; ?>
<?php endif; ?>
</ul>
<?php endif; ?>
<?php if (count(getArrayItem($menus,'name','Proveedor')) > 0): ?>
<li><a href="<?= site_url("proveedores/proveedor")?>" aria-expanded="false"><i class="fas fa-list"></i><span class="nav-text"><?= lang("App.menu_proveedores") ?></span></a></li>
<?php endif; ?>
<?php if(allowMenuSection($menus, ['Tarifaacabado', 'Tarifaenvio', 'Tarifaimpresion', 'Tarifamanipulado', 'Tarifapapelcompra', 'Tarifapapeldefecto', 'Tarifapreimpresion'], 'index')): ?>
<li><a class="has-arrow" href="Javascript:void()" aria-expanded="false"><i class="icon-arrow-down"></i><span class="nav-text"><?= lang("App.menu_produccion") ?></span></a>
<ul aria-expanded="false">
<?php if (count($temp=getArrayItem($menus,'name','Taricaacabado')) > 0): ?>
<?php if (count(getArrayItem($temp,'methods','index',true)) > 0): ?>
<li><a href="<?= site_url("tarifas/tarifaacabado")?>" aria-expanded="false"><i class="icon-list"></i><span class="nav-text"><?= lang("App.menu_tarifaacabado") ?></span></a></li>
<?php endif; ?>
<?php endif; ?>
<?php if (count($temp=getArrayItem($menus,'name','Tarifaenvio')) > 0): ?>
<?php if (count(getArrayItem($temp,'methods','index',true)) > 0): ?>
<li><a href="<?= site_url("tarifas/tarifaenvio")?>" aria-expanded="false"><i class="icon-list"></i><span class="nav-text"><?= lang("App.menu_tarifaenvio") ?></span></a></li>
<?php endif; ?>
<?php endif; ?>
<?php if (count($temp=getArrayItem($menus,'name','Tarifaimpresion')) > 0): ?>
<?php if (count(getArrayItem($temp,'methods','index',true)) > 0): ?>
<li><a href="<?= site_url("tarifas/tarifaimpresion")?>" aria-expanded="false"><i class="icon-list"></i><span class="nav-text"><?= lang("App.menu_tarifaimpresion") ?></span></a></li>
<?php endif; ?>
<?php endif; ?>
<?php if (count($temp=getArrayItem($menus,'name','Tarifamanipulado')) > 0): ?>
<?php if (count(getArrayItem($temp,'methods','index',true)) > 0): ?>
<li><a href="<?= site_url("tarifas/tarifamanipulado")?>" aria-expanded="false"><i class="icon-list"></i><span class="nav-text"><?= lang("App.menu_tarifamanipulado") ?></span></a></li>
<?php endif; ?>
<?php endif; ?>
<?php if (count($temp=getArrayItem($menus,'name','Tarifapapelcompra')) > 0): ?>
<?php if (count(getArrayItem($temp,'methods','index',true)) > 0): ?>
<li><a href="<?= site_url("tarifas/tarifapapelcompra")?>" aria-expanded="false"><i class="icon-list"></i><span class="nav-text"><?= lang("App.menu_tarifapapelcompra") ?></span></a></li>
<?php endif; ?>
<?php endif; ?>
<?php if (count($temp=getArrayItem($menus,'name','Tarifapapeldefecto')) > 0): ?>
<?php if (count(getArrayItem($temp,'methods','index',true)) > 0): ?>
<li><a href="<?= site_url("tarifas/tarifapapeldefecto")?>" aria-expanded="false"><i class="icon-list"></i><span class="nav-text"><?= lang("App.menu_tarifapapeldefecto") ?></span></a></li>
<?php endif; ?>
<?php endif; ?>
<?php if (count($temp=getArrayItem($menus,'name','Tarifapreimpresion')) > 0): ?>
<?php if (count(getArrayItem($temp,'methods','index',true)) > 0): ?>
<li><a href="<?= site_url("tarifas/tarifapreimpresion")?>" aria-expanded="false"><i class="icon-list"></i><span class="nav-text"><?= lang("App.menu_tarifapreimpresion") ?></span></a></li>
<?php endif; ?>
<?php endif; ?>
</ul>
<?php endif; ?>
<?php if(allowMenuSection($menus, ['User', 'Group'], 'index')): ?>
<li><a class="has-arrow" href="Javascript:void()" aria-expanded="false"><i class="icon-arrow-down"></i><span class="nav-text"><?= lang("App.menu_users") ?></span></a>
<ul aria-expanded="false">
<?php if (count($temp=getArrayItem($menus,'name','User')) > 0): ?>
<?php if (count(getArrayItem($temp,'methods','index',true)) > 0): ?>
<li><a href="<?= site_url("usuarios/user")?>" aria-expanded="false"><i class="icon-list"></i><span class="nav-text"><?= lang("App.menu_users") ?></span></a></li>
<?php endif; ?>
<?php endif; ?>
<?php if (count($temp=getArrayItem($menus,'name','Group')) > 0): ?>
<?php if (count(getArrayItem($temp,'methods','index',true)) > 0): ?>
<li><a href="<?= site_url("usuarios/group")?>" aria-expanded="false"><i class="icon-list"></i><span class="nav-text"><?= lang("App.menu_permission_group") ?></span></a></li>
<?php endif; ?>
<?php endif; ?>
</ul>
<?php endif; ?>
<!---
<?php if (count(getArrayItem($menus,'name','Notification')) > 0): ?>
<li><a class="has-arrow" href="Javascript:void()" aria-expanded="false"><i class="fas fa-bell"></i><span class="nav-text"><?= lang("App.menu_notification") ?></span></a>
<ul aria-expanded="false">
@ -52,6 +255,8 @@
<?php endif; ?>
<?php endif; ?>
<li class="nav-label"></li>
--->
<?php if (count(getArrayItem($menus,'name','Activity')) > 0): ?>
<li><a href="<?= site_url("activity")?>" aria-expanded="false"><i class="fas fa-list"></i><span class="nav-text"><?= lang("App.menu_activity") ?></span></a></li>
<?php endif; ?>