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", "username": "sk-jjo",
"password": "yuh1C^290", "password": "yuh1C^290",
"remotePath": "/", "remotePath": "/",
"uploadOnSave": false, "uploadOnSave": true,
"useTempFile": false, "useTempFile": false,
"openSsh": false "openSsh": false
} }

View File

@ -28,7 +28,7 @@ $routes->setAutoRoute(true);
* Route Definitions * Route Definitions
* -------------------------------------------------------------------- * --------------------------------------------------------------------
*/ */
// JJO $routes->get('cliente', 'Impresion\Cliente::index');
// We get a performance increase by specifying the default // We get a performance increase by specifying the default
// route since we don't have to scan directories. // 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 "%Safari%", 1, 0 ) ) AS safari,
SUM( IF( browser LIKE "%Internet Explorer%", 1, 0 ) ) AS ie, SUM( IF( browser LIKE "%Internet Explorer%", 1, 0 ) ) AS ie,
SUM( IF( browser LIKE "%Edge%", 1, 0 ) ) AS edge, 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'] = ""; $data['all'] = "";
echo view(getenv('theme.path').'main/header'); echo view(getenv('theme.path').'main/header');
echo view(getenv('theme.path').'form/activity/index',$data); 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){ if($records[$key]['email_confirmed'] == 1){
$records[$key]['email'] = $records[$key]['email'].' '.'<span class="text-success"><i class="fas fa-check-circle"></i></span>'; $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'] = ''. $records[$key]['options'] = ''.
'<div class="btn-group mr-1 mb-1" xmlns="http://www.w3.org/1999/html"> '<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"> <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 //Format records
foreach ($records as $key => $value){ 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'] = ''. $records[$key]['options'] = ''.
'<div class="btn-group mr-1 mb-1" xmlns="http://www.w3.org/1999/html"> '<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"> <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 //Total number of records without filtering
if($session->get('dashboard')=='admin' && !empty($all)){ if($session->get('dashboard')=='admin' && !empty($all)){
$totalRecords = $this->activity_model->select('id_activity') $totalRecords = $this->activity_model->select('id_activity')
->join('user','user.token = activity.user') ->join('auth_user','auth_user.token = auth_activity.user')
->countAllResults(); ->countAllResults();
}else{ }else{
$totalRecords = $this->activity_model->select('id_activity') $totalRecords = $this->activity_model->select('id_activity')
->join('user','user.token = activity.user') ->join('auth_user','auth_user.token = auth_activity.user')
->where('activity.user',$session->get('token')) ->where('auth_activity.user',$session->get('token'))
->countAllResults(); ->countAllResults();
} }
//Total number of records with filtering //Total number of records with filtering
if($session->get('dashboard')=='admin' && !empty($all)){ if($session->get('dashboard')=='admin' && !empty($all)){
$totalRecordwithFilter = $this->activity_model->select('id_activity') $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) ->orLike('first_name', $searchValue)
->countAllResults(); ->countAllResults();
}else{ }else{
$totalRecordwithFilter = $this->activity_model->select('id_activity') $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) ->orLike('first_name', $searchValue)
->where('activity.user',$session->get('token')) ->where('auth_activity.user',$session->get('token'))
->countAllResults(); ->countAllResults();
} }
//Fetch records //Fetch records
if($session->get('dashboard')=='admin' && !empty($all)){ if($session->get('dashboard')=='admin' && !empty($all)){
$records = $this->activity_model->select('activity.*,concat(first_name, " (",email, ")") AS name') $records = $this->activity_model->select('auth_activity.*,concat(first_name, " (",email, ")") AS name')
->join('user','user.token = activity.user') ->join('auth_user','auth_user.token = auth_activity.user')
->orLike('first_name', $searchValue) ->orLike('first_name', $searchValue)
->orderBy($columnName,$columnSortOrder) ->orderBy($columnName,$columnSortOrder)
->findAll($rowperpage, $start); ->findAll($rowperpage, $start);
}else{ }else{
$records = $this->activity_model->select('activity.*,concat(first_name, " (",email, ")") AS name') $records = $this->activity_model->select('auth_activity.*,concat(first_name, " (",email, ")") AS name')
->join('user','user.token = activity.user') ->join('auth_user','auth_user.token = auth_activity.user')
->orLike('first_name', $searchValue) ->orLike('first_name', $searchValue)
->where('activity.user',$session->get('token')) ->where('auth_activity.user',$session->get('token'))
->orderBy($columnName,$columnSortOrder) ->orderBy($columnName,$columnSortOrder)
->findAll($rowperpage, $start); ->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; namespace App\Controllers;
use App\Models\UserModel;
use App\Models\UserGroupModel;
use App\Models\GroupUserModel;
class Test extends BaseController class Test extends BaseController
{ {
private $user_model;
private $group_user_model;
private $group_model;
function __construct() function __construct()
{ {
$this->user_model = new UserModel();
$this->group_user_model = new GroupUserModel();
$this->group_model = new UserGroupModel();
} }
public function index() 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>'; echo '<pre>';
var_dump($groups_names); var_dump($this->validateControllerAccess());
echo '</pre>'; 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 <?php
namespace App\Controllers; namespace App\Controllers\Usuarios;
use App\Controllers\BaseController;
use App\Models\UserModel; use App\Models\UserModel;
use App\Models\UserGroupModel; use App\Models\UserGroupModel;
@ -59,7 +60,7 @@ class Group extends BaseController
$data['btn_return'] = [ $data['btn_return'] = [
'title' => lang("App.global_come_back"), 'title' => lang("App.global_come_back"),
'route' => '/group', 'route' => 'usuarios/group',
'class' => 'btn btn-dark mr-1', 'class' => 'btn btn-dark mr-1',
'icon' => 'fas fa-angle-left' 'icon' => 'fas fa-angle-left'
]; ];
@ -94,7 +95,7 @@ class Group extends BaseController
$data['btn_return'] = [ $data['btn_return'] = [
'title' => lang("App.global_come_back"), 'title' => lang("App.global_come_back"),
'route' => '/group', 'route' => 'usuarios/group',
'class' => 'btn btn-dark mr-1', 'class' => 'btn btn-dark mr-1',
'icon' => 'fas fa-angle-left' 'icon' => 'fas fa-angle-left'
]; ];
@ -108,7 +109,7 @@ class Group extends BaseController
$data['obj'] = $this->group_model->where('token', $id)->first(); $data['obj'] = $this->group_model->where('token', $id)->first();
if($data['obj']==null){ if($data['obj']==null){
return redirect()->to('/group'); return redirect()->to('/usuarios/group');
} }
echo view(getenv('theme.path').'main/header'); echo view(getenv('theme.path').'main/header');
@ -121,7 +122,7 @@ class Group extends BaseController
//Demo Mode //Demo Mode
if(env('demo.mode')??false){ if(env('demo.mode')??false){
session()->setFlashdata('sweet', ['warning',lang("App.general_demo_mode")]); session()->setFlashdata('sweet', ['warning',lang("App.general_demo_mode")]);
return redirect()->to('/group'); return redirect()->to('/usuarios/group');
} }
$session = session(); $session = session();
@ -156,9 +157,11 @@ class Group extends BaseController
$exp = explode('_',$key); $exp = explode('_',$key);
$controller[] = $exp[0]; $controller[] = $exp[0];
} }
if($controller != null){ if($controller != null){
foreach (array_unique($controller) as $item){ foreach (array_unique($controller) as $item){
$rules_access[$item] = []; $rules_access[$item] = [];
foreach ($getChecked as $key=>$value){ foreach ($getChecked as $key=>$value){
$exp = explode('_',$key); $exp = explode('_',$key);
if($exp[0] == $item){ if($exp[0] == $item){
@ -167,8 +170,10 @@ class Group extends BaseController
} }
} }
} }
$listPost['rules'] = json_encode($rules_access??'{}'); $listPost['rules'] = json_encode($rules_access??'{}');
if(empty($listPost['id_group'])){ if(empty($listPost['id_group'])){
$listPost['token'] = md5(uniqid(rand(), true)); $listPost['token'] = md5(uniqid(rand(), true));
} }
@ -177,13 +182,13 @@ class Group extends BaseController
if(empty($listPost['id_group'])){ if(empty($listPost['id_group'])){
$session->setFlashdata('sweet', ['success',lang("App.group_alert_add")]); $session->setFlashdata('sweet', ['success',lang("App.group_alert_add")]);
return redirect()->to('/group'); return redirect()->to('/usuarios/group');
}else{ }else{
if($session->get('group') == $this->request->getPost('token')){ if($session->get('group') == $this->request->getPost('token')){
$session->set('rules', $listPost['rules']); $session->set('rules', $listPost['rules']);
} }
$session->setFlashdata('sweet', ['success',lang("App.group_alert_edit")]); $session->setFlashdata('sweet', ['success',lang("App.group_alert_edit")]);
return redirect()->to('/group'); return redirect()->to('/usuarios/group');
} }
} }
}else{ }else{
@ -197,7 +202,7 @@ class Group extends BaseController
//Demo Mode //Demo Mode
if(env('demo.mode')??false){ if(env('demo.mode')??false){
session()->setFlashdata('sweet', ['warning',lang("App.general_demo_mode")]); session()->setFlashdata('sweet', ['warning',lang("App.general_demo_mode")]);
return redirect()->to('/group'); return redirect()->to('/usuarios/group');
} }
$session = session(); $session = session();
@ -207,6 +212,6 @@ class Group extends BaseController
}else{ }else{
$session->setFlashdata('sweet', ['error',lang("App.group_alert_error")]); $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 <?php
namespace App\Controllers; namespace App\Controllers\Usuarios;
use App\Controllers\BaseController;
use App\Libraries\PasswordHash; use App\Libraries\PasswordHash;
use App\Models\ActivityModel; use App\Models\ActivityModel;

View File

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

View File

@ -54,6 +54,10 @@ function getAllClass($controller = null){
} }
} }
function getAllClassFolder($folder = null){ function getAllClassFolder($folder = null){
try { try {
helper('filesystem'); helper('filesystem');
@ -107,6 +111,8 @@ function getAllFolder(){
} }
} }
function getIgnoreController($controller) function getIgnoreController($controller)
{ {
try { try {
@ -140,21 +146,88 @@ function getIgnoreMethod($method)
function getDictionary($word=''){ function getDictionary($word=''){
try { try {
$dictionary = [ $dictionary = [
'Group' => lang("App.group_rules_label_group"), 'index' => lang("App.permisos_index"),
'User' => lang("App.group_rules_label_user"), 'view' => lang("App.permisos_view"),
'Settings' => lang("App.group_rules_label_settings"), 'add' => lang("App.permisos_add"),
'index' => lang("App.group_rules_label_index"), 'edit' => lang("App.permisos_editar"),
'add' => lang("App.group_rules_label_add"), 'delete' => lang("App.permisos_del"),
'edit' => lang("App.group_rules_label_edit"), 'store' => lang("App.permisos_save"),
'delete' => lang("App.group_rules_label_delete"), 'import' => lang("App.permisos_import"),
'store' => lang("App.group_rules_label_store"), '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"), 'oauth' => lang("App.group_rules_label_oauth"),
'template' => lang("App.group_rules_label_template"), 'template' => lang("App.group_rules_label_template"),
'all' => lang("App.group_rules_label_all"), '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"), 'oauth_store' => lang("App.group_rules_label_oauth_store"),
'template_store' => lang("App.group_rules_label_template_store"), 'template_store' => lang("App.group_rules_label_template_store"),
]; ];
return array_key_exists($word,$dictionary)?$dictionary[$word] : $word; return array_key_exists($word,$dictionary)?$dictionary[$word] : $word;
} catch (Exception $e) { } 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) function getArrayItem(array $array, $key, $word, $isArray=false)
{ {
try { try {

View File

@ -1,21 +1,5 @@
<?php <?php
return [ 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 // LANGUAGES
"lang_en" => "English", "lang_en" => "English",
"lang_es" => "Spanish", "lang_es" => "Spanish",
@ -323,6 +307,7 @@ return [
"group_rules_dashboard_r" => "The panel field is mandatory!", "group_rules_dashboard_r" => "The panel field is mandatory!",
// GROUP - Rules Name // GROUP - Rules Name
/* JJO
"group_rules_label_group" => "Group Permission", "group_rules_label_group" => "Group Permission",
"group_rules_label_user" => "User", "group_rules_label_user" => "User",
"group_rules_label_settings" => "Settings", "group_rules_label_settings" => "Settings",
@ -338,6 +323,7 @@ return [
"group_rules_label_view" => "View Notification", "group_rules_label_view" => "View Notification",
"group_rules_label_oauth_store" => "Save oAuth", "group_rules_label_oauth_store" => "Save oAuth",
"group_rules_label_template_store" => "Save Templates", "group_rules_label_template_store" => "Save Templates",
*/
// AUTH - index // AUTH - index
"oauth_title" => "oAuth Authentication", "oauth_title" => "oAuth Authentication",
@ -599,4 +585,152 @@ return [
// v1.2.1 // v1.2.1
"global_select" => "Select an item", "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 <?php
return [ 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 // LANGUAGES
"lang_en" => "Inglés", "lang_en" => "Inglés",
"lang_es" => "Español", "lang_es" => "Español",
@ -323,6 +307,7 @@ return [
"group_rules_dashboard_r" => "¡El campo del panel es obligatorio!", "group_rules_dashboard_r" => "¡El campo del panel es obligatorio!",
// GROUP - Rules Name // GROUP - Rules Name
/* JJO
"group_rules_label_group" => "Permiso de grupo", "group_rules_label_group" => "Permiso de grupo",
"group_rules_label_user" => "Usuario", "group_rules_label_user" => "Usuario",
"group_rules_label_settings" => "Configuración", "group_rules_label_settings" => "Configuración",
@ -338,6 +323,7 @@ return [
"group_rules_label_view" => "Ver notificación", "group_rules_label_view" => "Ver notificación",
"group_rules_label_oauth_store" => "Guardar oAuth", "group_rules_label_oauth_store" => "Guardar oAuth",
"group_rules_label_template_store" => "Guardar plantillas", "group_rules_label_template_store" => "Guardar plantillas",
*/
// AUTH - index // AUTH - index
"oauth_title" => "Autenticación oAuth", "oauth_title" => "Autenticación oAuth",
@ -599,4 +585,154 @@ return [
// v1.2.1 // v1.2.1
"global_select" => "Selecciona un artículo", "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>
</div> </div>
<div class="col-lg-3 col-sm-6"> <div class="col-12">
<div class="card"> <div class="card">
<div class="stat-widget-one card-body"> <div class="stat-widget-one card-body">
<div class="d-inline-block"> <div class="d-inline-block">

View File

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

View File

@ -110,7 +110,7 @@
}).then(function(isConfirm) { }).then(function(isConfirm) {
console.log(isConfirm); console.log(isConfirm);
if (isConfirm.value) { 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) { }).then(function(isConfirm) {
console.log(isConfirm); console.log(isConfirm);
if (isConfirm.value) { 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="collapse navbar-collapse justify-content-between">
<div class="header-left"></div> <div class="header-left"></div>
<ul class="navbar-nav header-right"> <ul class="navbar-nav header-right">
<!--- JJO
<li class="nav-item dropdown notification_dropdown"> <li class="nav-item dropdown notification_dropdown">
<a class="nav-link" href="#" role="button" data-toggle="dropdown"> <a class="nav-link" href="#" role="button" data-toggle="dropdown">
<i class="fas fa-bell"></i> <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> <a class="all-notification" href="<?=site_url('my/notification')?>"><?= lang("App.notification_bell_btn") ?> <i class="ti-arrow-right"></i></a>
</div> </div>
</li> </li>
--->
<li class="nav-item dropdown header-profile"> <li class="nav-item dropdown header-profile">
<a class="nav-link" href="#" role="button" data-toggle="dropdown"> <a class="nav-link" href="#" role="button" data-toggle="dropdown">
<i class="fas fa-globe-americas"></i> <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')?>"> <img src="<?=site_url('assets/flags/es_32_circle.png')?>">
<span class="ml-2"><?= lang("App.lang_es") ?></span> <span class="ml-2"><?= lang("App.lang_es") ?></span>
</a> </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> </div>
</li> </li>
<li class="nav-item dropdown header-profile"> <li class="nav-item dropdown header-profile">
@ -111,10 +109,12 @@ $notification = session()->get('notification');
<i class="fas fa-user"></i> <i class="fas fa-user"></i>
<span class="ml-2"><?= lang("App.menu_profile") ?></span> <span class="ml-2"><?= lang("App.menu_profile") ?></span>
</a> </a>
<!--- JJO
<a href="<?= site_url('activity'); ?>" class="dropdown-item"> <a href="<?= site_url('activity'); ?>" class="dropdown-item">
<i class="fas fa-list"></i> <i class="fas fa-list"></i>
<span class="ml-2"><?= lang("App.menu_activity") ?></span> <span class="ml-2"><?= lang("App.menu_activity") ?></span>
</a> </a>
--->
<a href="<?= site_url('login/logout'); ?>" class="dropdown-item"> <a href="<?= site_url('login/logout'); ?>" class="dropdown-item">
<i class="fas fa-sign-out-alt"></i> <i class="fas fa-sign-out-alt"></i>
<span class="ml-2"><?= lang("App.menu_logout") ?></span> <span class="ml-2"><?= lang("App.menu_logout") ?></span>

View File

@ -4,31 +4,234 @@
<div class="quixnav-scroll"> <div class="quixnav-scroll">
<ul class="metismenu" id="menu"> <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> <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"> <ul aria-expanded="false">
<?php if (count(getArrayItem($menus,'methods','index',true)) > 0): ?> <?php if (count($temp=getArrayItem($menus,'name','Cliente')) > 0): ?>
<li><a href="<?= site_url("user")?>"><?= lang("App.menu_list") ?></a></li> <?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 endif; ?>
<?php if (count(getArrayItem($menus,'methods','add',true)) > 0): ?> <?php endif; ?>
<li><a href="<?= site_url("user/add")?>"><?= lang("App.menu_add") ?></a></li> <?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; ?>
<?php endif; ?>
</ul> </ul>
</li>
<?php endif; ?> <?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"> <ul aria-expanded="false">
<?php if (count(getArrayItem($menus,'methods','index',true)) > 0): ?> <?php if (count($temp=getArrayItem($menus,'name','Calendario')) > 0): ?>
<li><a href="<?= site_url("group")?>"><?= lang("App.menu_list") ?></a></li> <?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 endif; ?>
<?php if (count(getArrayItem($menus,'methods','add',true)) > 0): ?> <?php endif; ?>
<li><a href="<?= site_url("group/add")?>"><?= lang("App.menu_add") ?></a></li> <?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 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> </ul>
</li>
<?php endif; ?> <?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): ?> <?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> <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"> <ul aria-expanded="false">
@ -52,6 +255,8 @@
<?php endif; ?> <?php endif; ?>
<?php endif; ?> <?php endif; ?>
<li class="nav-label"></li> <li class="nav-label"></li>
--->
<?php if (count(getArrayItem($menus,'name','Activity')) > 0): ?> <?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> <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; ?> <?php endif; ?>