Merge branch 'main' into 'dev/papelimp_tip3'

# Conflicts:
#   ci4/app/Views/themes/backend/vuexy/form/configuracion/papel/viewPapelImpresionForm.php
This commit is contained in:
2023-06-12 07:43:28 +00:00
51 changed files with 3122 additions and 1092 deletions

23
.idea/webServers.xml generated
View File

@ -2,13 +2,6 @@
<project version="4">
<component name="WebServers">
<option name="servers">
<webServer id="c01b8916-f9bb-46f4-a585-5f4f4064aa87" name="SK-IMN" url="http://sk-imn.imnavajas.es">
<fileTransfer host="sk-imn.imnavajas.es" port="21">
<advancedOptions>
<advancedOptions dataProtectionLevel="Private" passiveMode="true" shareSSLContext="true" />
</advancedOptions>
</fileTransfer>
</webServer>
<webServer id="b340ea2c-6cfa-4862-a020-5d4f6e482cc1" name="SK-MAIN" url="http://sk-main.imnavajas.es">
<fileTransfer host="sk-main.imnavajas.es" port="21">
<advancedOptions>
@ -16,6 +9,22 @@
</advancedOptions>
</fileTransfer>
</webServer>
<webServer id="c01b8916-f9bb-46f4-a585-5f4f4064aa87" name="SK-IMN" url="http://sk-imn.imnavajas.es">
<fileTransfer host="sk-imn.imnavajas.es" port="21">
<advancedOptions>
<advancedOptions dataProtectionLevel="Private" passiveMode="true" shareSSLContext="true" />
</advancedOptions>
</fileTransfer>
</webServer>
</option>
<groups>
<group>
<name>DEV/UI</name>
<servers>
<name value="SK-MAIN" />
<name value="SK-IMN" />
</servers>
</group>
</groups>
</component>
</project>

68
.idea/workspace.xml generated
View File

@ -5,16 +5,36 @@
</component>
<component name="ChangeListManager">
<list default="true" id="7c8f7059-cd40-417c-936e-48dbc0507d86" name="Changes" comment="Add static Vuexy files">
<<<<<<< HEAD
<change afterPath="$PROJECT_DIR$/ci4/app/Controllers/Compras/Compras.php" afterDir="false" />
<change afterPath="$PROJECT_DIR$/ci4/app/Controllers/Compras/Productos.php" afterDir="false" />
<change afterPath="$PROJECT_DIR$/ci4/app/Controllers/Importacion/Importar.php" afterDir="false" />
<change afterPath="$PROJECT_DIR$/ci4/app/Views/themes/backend/vuexy/main/menu_impresion.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ci4/app/Controllers/Settings.php" beforeDir="false" afterPath="$PROJECT_DIR$/ci4/app/Controllers/Settings.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ci4/.env" beforeDir="false" afterPath="$PROJECT_DIR$/ci4/.env" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ci4/app/Controllers/Catalogo/Catalogo.php" beforeDir="false" afterPath="$PROJECT_DIR$/ci4/app/Controllers/Catalogo/Catalogo.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ci4/app/Controllers/Envioslogistica/Logistica.php" beforeDir="false" afterPath="$PROJECT_DIR$/ci4/app/Controllers/Envioslogistica/Logistica.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ci4/app/Controllers/Facturacion/Factura.php" beforeDir="false" afterPath="$PROJECT_DIR$/ci4/app/Controllers/Facturacion/Factura.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ci4/app/Controllers/Pedidos/Pedido.php" beforeDir="false" afterPath="$PROJECT_DIR$/ci4/app/Controllers/Pedidos/Pedido.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ci4/app/Controllers/Produccion/Ordentrabajo.php" beforeDir="false" afterPath="$PROJECT_DIR$/ci4/app/Controllers/Produccion/Ordentrabajo.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ci4/app/Controllers/Proveedores/Proveedor.php" beforeDir="false" afterPath="$PROJECT_DIR$/ci4/app/Controllers/Compras/Proveedor.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ci4/app/Filters/LoginAuthFilter.php" beforeDir="false" afterPath="$PROJECT_DIR$/ci4/app/Filters/LoginAuthFilter.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ci4/app/Helpers/general_helper.php" beforeDir="false" afterPath="$PROJECT_DIR$/ci4/app/Helpers/general_helper.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ci4/app/Language/en/App.php" beforeDir="false" afterPath="$PROJECT_DIR$/ci4/app/Language/en/App.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ci4/app/Language/es/App.php" beforeDir="false" afterPath="$PROJECT_DIR$/ci4/app/Language/es/App.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ci4/app/Views/themes/backend/vuexy/form/settings/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/ci4/app/Views/themes/backend/vuexy/form/settings/index.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ci4/app/Views/themes/backend/vuexy/form/tarifas/acabado/viewTarifaacabadoForm.php" beforeDir="false" afterPath="$PROJECT_DIR$/ci4/app/Views/themes/backend/vuexy/form/tarifas/acabado/viewTarifaacabadoForm.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ci4/app/Views/themes/backend/vuexy/form/tarifas/preimpresion/viewTarifapreimpresionForm.php" beforeDir="false" afterPath="$PROJECT_DIR$/ci4/app/Views/themes/backend/vuexy/form/tarifas/preimpresion/viewTarifapreimpresionForm.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ci4/app/Views/themes/backend/vuexy/form/tarifas/preimpresion/viewTarifapreimpresionList.php" beforeDir="false" afterPath="$PROJECT_DIR$/ci4/app/Views/themes/backend/vuexy/form/tarifas/preimpresion/viewTarifapreimpresionList.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ci4/app/Views/themes/backend/vuexy/main/menu.php" beforeDir="false" afterPath="$PROJECT_DIR$/ci4/app/Views/themes/backend/vuexy/main/menu.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ci4/app/Views/themes/backend/vuexy/main/all.php" beforeDir="false" afterPath="$PROJECT_DIR$/ci4/app/Views/themes/backend/vuexy/main/all.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ci4/app/Views/themes/backend/vuexy/main/defaultlayout.php" beforeDir="false" afterPath="$PROJECT_DIR$/ci4/app/Views/themes/backend/vuexy/main/defaultlayout.php" afterDir="false" />
=======
<change beforePath="$PROJECT_DIR$/.idea/webServers.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/webServers.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ci4/app/Language/en/Users.php" beforeDir="false" afterPath="$PROJECT_DIR$/ci4/app/Language/en/Users.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ci4/app/Language/es/Users.php" beforeDir="false" afterPath="$PROJECT_DIR$/ci4/app/Language/es/Users.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ci4/app/Views/themes/backend/vuexy/form/configuracion/paises/viewPaisForm.php" beforeDir="false" afterPath="$PROJECT_DIR$/ci4/app/Views/themes/backend/vuexy/form/configuracion/paises/viewPaisForm.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ci4/app/Views/themes/backend/vuexy/form/configuracion/paises/viewPaisList.php" beforeDir="false" afterPath="$PROJECT_DIR$/ci4/app/Views/themes/backend/vuexy/form/configuracion/paises/viewPaisList.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ci4/app/Views/themes/backend/vuexy/form/configuracion/papel/viewPapelGenericoForm.php" beforeDir="false" afterPath="$PROJECT_DIR$/ci4/app/Views/themes/backend/vuexy/form/configuracion/papel/viewPapelGenericoForm.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ci4/app/Views/themes/backend/vuexy/form/configuracion/papel/viewPapelImpresionForm.php" beforeDir="false" afterPath="$PROJECT_DIR$/ci4/app/Views/themes/backend/vuexy/form/configuracion/papel/viewPapelImpresionForm.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ci4/app/Views/themes/backend/vuexy/form/user/_userFormItems.php" beforeDir="false" afterPath="$PROJECT_DIR$/ci4/app/Views/themes/backend/vuexy/form/user/_userFormItems.php" afterDir="false" />
>>>>>>> 38e9feb4c8537689e5d266a1dbe3371003d2457f
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -36,25 +56,25 @@
<option name="hideEmptyMiddlePackages" value="true" />
<option name="showLibraryContents" value="true" />
</component>
<component name="PropertiesComponent">{
&quot;keyToString&quot;: {
&quot;RunOnceActivity.OpenProjectViewOnStart&quot;: &quot;true&quot;,
&quot;RunOnceActivity.ShowReadmeOnStart&quot;: &quot;true&quot;,
&quot;WebServerToolWindowFactoryState&quot;: &quot;false&quot;,
&quot;last_opened_file_path&quot;: &quot;C:/temp-sk/safekat/ci4/app/Views/themes/backend/vuexy/form/settings&quot;,
&quot;node.js.detected.package.eslint&quot;: &quot;true&quot;,
&quot;node.js.detected.package.tslint&quot;: &quot;true&quot;,
&quot;node.js.selected.package.eslint&quot;: &quot;(autodetect)&quot;,
&quot;node.js.selected.package.tslint&quot;: &quot;(autodetect)&quot;,
&quot;nodejs_package_manager_path&quot;: &quot;npm&quot;,
&quot;settings.editor.selected.configurable&quot;: &quot;preferences.pluginManager&quot;,
&quot;vue.rearranger.settings.migration&quot;: &quot;true&quot;
<component name="PropertiesComponent"><![CDATA[{
"keyToString": {
"RunOnceActivity.OpenProjectViewOnStart": "true",
"RunOnceActivity.ShowReadmeOnStart": "true",
"WebServerToolWindowFactoryState": "false",
"last_opened_file_path": "C:/temp-sk/safekat/ci4/app/Views/themes/backend/vuexy/main",
"node.js.detected.package.eslint": "true",
"node.js.detected.package.tslint": "true",
"node.js.selected.package.eslint": "(autodetect)",
"node.js.selected.package.tslint": "(autodetect)",
"nodejs_package_manager_path": "npm",
"settings.editor.selected.configurable": "preferences.pluginManager",
"vue.rearranger.settings.migration": "true"
}
}</component>
}]]></component>
<component name="RecentsManager">
<key name="CopyFile.RECENT_KEYS">
<recent name="C:\temp-sk\safekat\ci4\app\Views\themes\backend\vuexy\form\settings" />
<recent name="C:\temp-sk\safekat\ci4\app\Views\themes\backend\vuexy\main" />
<recent name="C:\temp-sk\safekat\ci4\app\Views\themes\backend\vuexy\form\settings" />
<recent name="C:\temp-sk\safekat\ci4\app\Views\themes\backend\vuexy\form\profile" />
<recent name="D:\Safekat\safekat\ci4\app\Views\themes\_commonPartialsBs" />
<recent name="C:\temp-sk\safekat\httpdocs\themes\vuexy\vendor\libs\toastr" />
@ -98,6 +118,12 @@
<workItem from="1685038598644" duration="6958000" />
<workItem from="1685102978387" duration="3272000" />
<workItem from="1685266094611" duration="3469000" />
<<<<<<< HEAD
<workItem from="1685365444846" duration="191000" />
<workItem from="1685689980219" duration="12098000" />
=======
<workItem from="1685564762632" duration="2787000" />
>>>>>>> 38e9feb4c8537689e5d266a1dbe3371003d2457f
</task>
<task id="LOCAL-00001" summary="Starting Vuexy Theme creation">
<created>1682339938559</created>

View File

@ -22,8 +22,8 @@ CI_ENVIRONMENT = development
# APP
#--------------------------------------------------------------------
app.baseURL = 'https://sk-jjo.imnavajas.es'
# app.baseURL = 'https://sk-imn.imnavajas.es'
# app.baseURL = 'https://sk-jjo.imnavajas.es'
app.baseURL = 'https://sk-imn.imnavajas.es'
# app.baseURL = "http://safekat.test/"
# app.forceGlobalSecureRequests = false
@ -41,22 +41,22 @@ app.baseURL = 'https://sk-jjo.imnavajas.es'
# DATABASE
#--------------------------------------------------------------------
database.default.hostname = localhost
database.default.database = sk_jjo
database.default.username = sk_jjo
database.default.password = 61tv&G1Zf^XY
database.default.DBDriver = MySQLi
database.default.DBPrefix =
database.default.dump =
# database.default.hostname = localhost
# database.default.database = sk_imn
# database.default.username = sk_imn
# database.default.password = Uyia19_87
# database.default.database = sk_jjo
# database.default.username = sk_jjo
# database.default.password = 61tv&G1Zf^XY
# database.default.DBDriver = MySQLi
# database.default.DBPrefix =
# database.default.DBPrefix =
# database.default.dump =
database.default.hostname = localhost
database.default.database = sk_imn
database.default.username = sk_imn
database.default.password = Uyia19_87
database.default.DBDriver = MySQLi
database.default.DBPrefix =
database.default.dump =
# database.tests.hostname = localhost
# database.tests.database = ci4
# database.tests.username = root

View File

@ -24,68 +24,72 @@ namespace Config;
use CodeIgniter\Config\BaseConfig;
class Basics extends BaseConfig {
class Basics extends BaseConfig
{
public $appName = 'Safekat';
public $appName = 'Safekat';
public $i18n = 'es-ES';
public $languages = [
'en' => 'English',
'es' => 'Spanish',
];
public $i18n = 'es-ES';
public $languageFlags = [
'en' => 'us',
'es' => 'es',
];
public $vista_impresion = 'impresion';
public $vista_maquetacion = 'maquetacion';
public $vista_digitalizacion = 'digitalizacion';
public $languages = [
'en' => 'English',
'es' => 'Spanish',
];
public $authImplemented = false;
public $languageFlags = [
'en' => 'us',
'es' => 'es',
];
public $authImplemented = false;
public $theme = [
'name' => 'vuexy',
'body-sm' => false,
'navbar' => [
'bg' => 'gray',
'type' => 'dark',
'border' => true,
'user' => [
'visible' => true,
'shadow' => 0,
],
],
'sidebar' => [
'type' => 'dark',
'shadow' => 4,
'border' => false,
'compact' => true,
'links' => [
'bg' => 'black', // only works with AdminLTE theme
'shadow' => 1,
],
'brand' => [
'bg' => 'gray-dark',
'logo' => [
'icon' => 'favicon.ico', // path to image | this example icon on public root folder.
'text' => 'sk_test',
'shadow' => 2,
],
],
'user' => [
'visible' => true,
'shadow' => 2,
],
],
'footer' => [
'fixed' => false,
'organization' => 'Your Awesome Company',
'orglink' => 'https://www.ozar.net/',
],
];
public $theme = [
'name' => 'vuexy',
'body-sm' => false,
'navbar' => [
'bg' => 'gray',
'type' => 'dark',
'border' => true,
'user' => [
'visible' => true,
'shadow' => 0,
],
],
'sidebar' => [
'type' => 'dark',
'shadow' => 4,
'border' => false,
'compact' => true,
'links' => [
'bg' => 'black', // only works with AdminLTE theme
'shadow' => 1,
],
'brand' => [
'bg' => 'gray-dark',
'logo' => [
'icon' => 'favicon.ico', // path to image | this example icon on public root folder.
'text' => 'sk_test',
'shadow' => 2,
],
],
'user' => [
'visible' => true,
'shadow' => 2,
],
],
'footer' => [
'fixed' => false,
'organization' => 'Your Awesome Company',
'orglink' => 'https://www.ozar.net/',
],
];
}

View File

@ -29,6 +29,7 @@ $routes->setAutoRoute(true);
//------------------------------------------------------------------
$routes->get('/', 'Home::index');
$routes->get('lang/{locale}', 'Language::index');
$routes->get('viewmode/(:alpha)', 'Viewmode::index/$1');
//API ROUTER ------------------------------------------------------
//------------------------------------------------------------------
@ -76,7 +77,7 @@ $routes->group('tarifaacabado', ['namespace' => 'App\Controllers\Tarifas'], func
$routes->post('menuitems', 'Tarifaacabado::menuItems', ['as' => 'menuItemsOfTarifasacabado']);
});
$routes->group('users', ['namespace' => 'App\Controllers\Usuarios'], function ($routes) {
$routes->group('users', ['namespace' => 'App\Controllers\Configuracion'], function ($routes) {
$routes->get('', 'Users::index', ['as' => 'userList']);
$routes->get('index', 'Users::index', ['as' => 'userIndex']);
$routes->get('list', 'Users::index', ['as' => 'userList2']);
@ -89,7 +90,7 @@ $routes->group('users', ['namespace' => 'App\Controllers\Usuarios'], function ($
$routes->post('menuitems', 'Users::menuItems', ['as' => 'menuItemsOfUsers']);
});
$routes->group('group', ['namespace' => 'App\Controllers\Usuarios'], function ($routes) {
$routes->group('group', ['namespace' => 'App\Controllers\Configuracion'], function ($routes) {
$routes->get('', 'Group::index', ['as' => 'userGroupList']);
$routes->get('index', 'Group::index', ['as' => 'groupIndex']);
$routes->post('edit/(:num)', 'Group::edit/$1', ['as' => 'updateGroup']);

View File

@ -43,9 +43,7 @@ class Activity extends BaseController
SUM( IF( browser LIKE "%Edge%", 1, 0 ) ) AS edge,
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);
echo view(getenv('theme.path').'main/footer');
}
public function all()
@ -79,8 +77,6 @@ class Activity extends BaseController
SUM( IF( browser LIKE "%Edge%", 1, 0 ) ) AS edge,
SUM( IF( browser LIKE "%Opera%", 1, 0 ) ) AS opera')->first();
$data['all'] = "/all";
echo view(getenv('theme.path').'main/header');
echo view(getenv('theme.path').'form/activity/index',$data);
echo view(getenv('theme.path').'main/footer');
}
}

View File

@ -5,8 +5,8 @@ namespace App\Controllers;
use App\Models\CronTabModel;
use App\Models\NotificationModel;
use App\Models\Usuarios\UserModel;
use App\Models\UserGroupModel;
use App\Models\GroupUserModel;
use App\Models\Usuarios\UserGroupModel;
use App\Models\Usuarios\GroupUserModel;
use App\Models\ActivityModel;
use CodeIgniter\RESTful\ResourceController;

View File

@ -13,12 +13,22 @@ class Catalogo extends BaseController
public function index()
{
echo 'Hola2';
echo 'Catalogo Libros';
}
public function import()
public function importar()
{
echo 'Importar Catalogo Libros';
}
public function nuevo()
{
echo 'Nuevo Catalogo Libros';
}
public function categorias()
{
echo 'Categorias de Catalogo de Libros';
}
public function delete()

View File

@ -1,4 +1,4 @@
<?php namespace App\Controllers\Usuarios;
<?php namespace App\Controllers\Configuracion;
use App\Entities\Usuarios\UserGroupEntity;

View File

@ -1,4 +1,4 @@
<?php namespace App\Controllers\Usuarios;
<?php namespace App\Controllers\Configuracion;
use App\Entities\Usuarios\UserEntity;

View File

@ -14,9 +14,19 @@ class Logistica extends BaseController
public function index()
{
echo 'Logistica';
}
}
public function etiquetas()
{
echo 'Etiquetas';
}
public function tracking()
{
echo 'Traking';
}
}

View File

@ -14,7 +14,18 @@ class Factura extends BaseController
public function index()
{
echo 'Facturas';
}
}
public function nueva()
{
echo 'Nueva Factura';
}
public function vencimiento()
{
echo 'Vencimiento Factura';
}
public function delete()
{

View File

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

View File

@ -12,7 +12,7 @@ class Language extends BaseController
$locale = $this->request->getLocale();
$session->remove('lang');
$session->set('lang', $locale);
$url = base_url();
$url = previous_url();
return redirect()->to($url);
}
}

View File

@ -13,8 +13,28 @@ class Pedido extends BaseController
public function index()
{
echo 'Pedido';
}
echo 'Pedidos';
}
public function activos()
{
echo 'Pedidos Activos';
}
public function finalizados()
{
echo 'Pedidos Finalizados';
}
public function cancelados()
{
echo 'Pedidos Cancelados';
}
public function manuales()
{
echo 'Pedidos Manuales';
}
// public function delete_files()
// {

View File

@ -13,8 +13,23 @@ class Presupuestomaquetacion extends BaseController
public function index()
{
echo 'Presupuesto maquetacion';
}
echo 'Presupuesto maquetacion Todos';
}
public function nuevo()
{
echo 'Presupuesto maquetacion Nuevo';
}
public function borrador()
{
echo 'Presupuesto maquetacion Borrador';
}
public function aceptados()
{
echo 'Presupuesto maquetacion Aceptados';
}
public function delete()
{

View File

@ -14,7 +14,7 @@ class Ordentrabajo extends BaseController
public function index()
{
echo 'Orden trabajo';
}
}
public function delete()
{
@ -31,5 +31,20 @@ class Ordentrabajo extends BaseController
}
public function cien()
{
echo 'Orden trabajo 100%';
}
public function finalizado()
{
echo 'Orden trabajo finalizado';
}
public function pendiente()
{
echo 'Orden trabajo pendiente';
}
}

View File

@ -0,0 +1,26 @@
<?php
namespace App\Controllers\Servicios;
use App\Controllers\BaseController;
class Compras extends BaseController
{
function __construct()
{
}
public function index()
{
echo 'Compras';
}
public function ajustes()
{
echo 'Ajustes de Compras';
}
}

View File

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

View File

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

View File

@ -0,0 +1,24 @@
<?php
namespace App\Controllers\Servicios;
use App\Controllers\BaseController;
use function App\Controllers\ServiciosDigitalizacion\base_url;
use function App\Controllers\ServiciosDigitalizacion\service;
use function App\Controllers\ServiciosDigitalizacion\view;
class Maquetacion extends BaseController
{
function __construct()
{
}
public function index()
{
echo 'Maquetacion';
}
}

View File

@ -0,0 +1,24 @@
<?php
namespace App\Controllers\Servicios;
use App\Controllers\BaseController;
use function App\Controllers\ServiciosDigitalizacion\base_url;
use function App\Controllers\ServiciosDigitalizacion\service;
use function App\Controllers\ServiciosDigitalizacion\view;
class Mensajes extends BaseController
{
function __construct()
{
}
public function index()
{
echo 'Mensajes';
}
}

View File

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

View File

@ -1,6 +1,6 @@
<?php
namespace App\Controllers\Proveedores;
namespace App\Controllers\Servicios;
use App\Controllers\BaseController;
@ -16,15 +16,6 @@ class Proveedor extends BaseController
echo 'Proveedor';
}
public function delete()
{
}
public function export()
{
}
}

View File

@ -1,25 +0,0 @@
<?php
namespace App\Controllers\ServiciosDigitalizacion;
use App\Controllers\BaseController;
class Digitalizacion extends BaseController
{
function __construct()
{
}
public function index()
{
$uri = service('uri');
$data['page_name'] = "Digitalizacion";
$data['url'] = base_url() . $uri->getSegment(1) . '/' . $uri->getSegment(2);
echo view(getenv('theme.path').'main/demo_view', $data);
}
}

View File

@ -0,0 +1,313 @@
<?php namespace App\Controllers\Usuarios;
use App\Entities\Usuarios\UserGroupEntity;
use App\Controllers\GoBaseResourceController;
use App\Models\Usuarios\UserGroupModel;
use App\Models\Usuarios\GroupUserModel;
class Groupold extends \App\Controllers\GoBaseController
{
use \CodeIgniter\API\ResponseTrait;
protected static $primaryModelName = 'App\Models\Usuarios\UserGroupModel';
protected $modelName = UserGroupModel::class;
protected static $singularObjectNameCc = 'userGroup';
protected static $singularObjectName = 'Group';
protected static $pluralObjectName = 'Groups';
protected static $controllerSlug = 'groups';
static $viewPath = '';
protected $indexRoute = 'userGroupList';
private $group_user_model;
public function initController(\CodeIgniter\HTTP\RequestInterface $request, \CodeIgniter\HTTP\ResponseInterface $response, \Psr\Log\LoggerInterface $logger) {
$this->viewData['pageTitle'] = lang('Group.moduleTitle');
self::$viewPath = getenv('theme.path').'form/group/';
parent::initController($request, $response, $logger);
}
public function index()
{
$this->viewData['usingClientSideDataTable'] = true;
$this->viewData['pageSubTitle'] = lang('Basic.global.ManageAllRecords', [lang('Groups.group')]);
// IMN
$this->group_user_model = new GroupUserModel();
$this->viewData['model'] = $this->group_user_model;
parent::index();
}
public function add()
{
$requestMethod = $this->request->getMethod();
if ($requestMethod === 'post') :
$nullIfEmpty = true; // !(phpversion() >= '8.1');
$postData = $this->request->getPost();
$title = $postData['title'];
$dashboard = $postData['dashboard'];
unset($postData['title']);
unset($postData['dashboard']);
unset($postData['id_group']);
unset($postData['save']);
$controller = null;
$rules_access = null;
foreach ($postData as $key=>$value){
$exp = explode('_',$key);
$controller[] = $exp[0];
}
if($controller != null){
foreach (array_unique($controller) as $item){
$rules_access[$item] = [];
foreach ($postData as $key=>$value){
$exp = explode('_',$key);
if($exp[0] == $item){
array_push($rules_access[$item],str_replace($exp[0].'_','',$key)) ;
}
}
}
}
$temp_data['rules'] = json_encode($rules_access??'{}');
$temp_data['token'] = md5(uniqid(rand(), true));;
$temp_data['title'] = $title;
$temp_data['dashboard'] = $dashboard;
$sanitizedData = $this->sanitized($temp_data, $nullIfEmpty);
$noException = true;
if ($successfulResult = $this->canValidate()) : // if ($successfulResult = $this->validate($this->formValidationRules) ) :
if ($this->canValidate()) :
try {
$successfulResult = $this->model->skipValidation(true)->save($sanitizedData);
} catch (\Exception $e) {
$noException = false;
$this->dealWithException($e);
}
else:
$this->viewData['errorMessage'] = lang('Basic.global.formErr1', [mb_strtolower(lang('Group.userGroup'))]);
$this->session->setFlashdata('formErrors', $this->model->errors());
endif;
$thenRedirect = true; // Change this to false if you want your user to stay on the form after submission
endif;
if ($noException && $successfulResult) :
$id = $this->model->db->insertID();
$message = lang('Basic.global.saveSuccess', [mb_strtolower(lang('Group.userGroup'))]).'.';
$message .= anchor( "admin/user-groups/{$id}/edit" , lang('Basic.global.continueEditing').'?');
$message = ucfirst(str_replace("'", "\'", $message));
if ($thenRedirect) :
if (!empty($this->indexRoute)) :
return redirect()->to(route_to( $this->indexRoute ) )->with('sweet-success', $message);
else:
return $this->redirect2listView('sweet-success', $message);
endif;
else:
$this->viewData['successMessage'] = $message;
endif;
endif; // $noException && $successfulResult
endif; // ($requestMethod === 'post')
$this->viewData['group'] = isset($sanitizedData) ? new UserGroupModel($sanitizedData) : new UserGroupModel();
$this->viewData['formAction'] = route_to('createGroup');
$this->viewData['boxTitle'] = lang('Basic.global.addNew').' '.lang('Group.moduleTitle').' '.lang('Basic.global.addNewSuffix');
return $this->displayForm(__METHOD__);
}
public function edit($requestedId = null) {
helper('general');
$session = session();
if ($requestedId == null) :
return $this->redirect2listView();
endif;
$id = filter_var($requestedId, FILTER_SANITIZE_URL);
$groupEntity = $this->model->find($id);
if ($groupEntity == false) :
$message = lang('Basic.global.notFoundWithIdErr', [mb_strtolower(lang('Group.userGroup')), $id]);
return $this->redirect2listView('errorMessage', $message);
endif;
$requestMethod = $this->request->getMethod();
if ($requestMethod === 'post') :
$nullIfEmpty = true; // !(phpversion() >= '8.1');
$postData = $this->request->getPost();
$id_group = $groupEntity->id_group;
$token = $groupEntity->token;
$title = $postData['title'];
$dashboard = $postData['dashboard'];
unset($postData['id_group']);
unset($postData['title']);
unset($postData['dashboard']);
$controller = null;
$rules_access = null;
foreach ($postData as $key=>$value){
$exp = explode('_',$key);
$controller[] = $exp[0];
}
if($controller != null){
foreach (array_unique($controller) as $item){
$rules_access[$item] = [];
foreach ($postData as $key=>$value){
$exp = explode('_',$key);
if($exp[0] == $item){
array_push($rules_access[$item],str_replace($exp[0].'_','',$key)) ;
}
}
}
}
$temp_data['id_group'] = $id_group;
$temp_data['rules'] = json_encode($rules_access??'{}');
$temp_data['token'] = $token;
$temp_data['title'] = $title;
$temp_data['dashboard'] = $dashboard;
$sanitizedData = $this->sanitized($temp_data, $nullIfEmpty);
$noException = true;
if ($successfulResult = $this->canValidate()) : // if ($successfulResult = $this->validate($this->formValidationRules) ) :
if ($this->canValidate()) :
try {
$successfulResult = $this->model->skipValidation(true)->update($id, $sanitizedData);
} catch (\Exception $e) {
$noException = false;
$this->dealWithException($e);
}
else:
$this->viewData['warningMessage'] = lang('Basic.global.formErr1', [mb_strtolower(lang('Group.userGroup'))]);
$this->session->setFlashdata('formErrors', $this->model->errors());
endif;
$groupEntity->fill($sanitizedData);
$thenRedirect = true;
endif;
if ($noException && $successfulResult) :
$id = $groupEntity->id ?? $id;
$message = lang('Basic.global.updateSuccess', [mb_strtolower(lang('Group.userGroup'))]).'.';
$message .= anchor(route_to('editGroup', $id), lang('Basic.global.continueEditing').'?');
$message = ucfirst(str_replace("'", "\'", $message));
if($session->get('group') == $this->request->getPost('token')){
$session->set('rules', $temp_data['rules']);
}
if ($thenRedirect) :
if (!empty($this->indexRoute)) :
return redirect()->to(route_to($this->indexRoute))->with('successMessage', $message);
else:
return $this->redirect2listView('successMessage', $message);
endif;
else:
$this->viewData['successMessage'] = $message;
endif;
endif; // $noException && $successfulResult
endif; // ($requestMethod === 'post')
$this->viewData['group'] = $groupEntity;
$this->viewData['formAction'] = route_to('updateGroup', $id);
$this->viewData['boxTitle'] = lang('Basic.global.edit2').' '.lang('Group.userGroup').' '.lang('Basic.global.edit3');
return $this->displayForm(__METHOD__, $id);
} // end function edit(...)
public function allItemsSelect() {
if ($this->request->isAJAX()) {
$onlyActiveOnes = true;
$reqVal = $this->request->getPost('val') ?? 'id';
$menu = $this->model->getAllForMenu($reqVal.', nombre', 'nombre', $onlyActiveOnes, false);
$nonItem = new \stdClass;
$nonItem->id = '';
$nonItem->nombre = '- '.lang('Basic.global.None').' -';
array_unshift($menu , $nonItem);
$newTokenHash = csrf_hash();
$csrfTokenName = csrf_token();
$data = [
'menu' => $menu,
$csrfTokenName => $newTokenHash
];
return $this->respond($data);
} else {
return $this->failUnauthorized('Invalid request', 403);
}
}
public function menuItems() {
if ($this->request->isAJAX()) {
$searchStr = goSanitize($this->request->getPost('searchTerm'))[0];
$reqId = goSanitize($this->request->getPost('id'))[0];
$reqText = goSanitize($this->request->getPost('text'))[0];
$onlyActiveOnes = false;
$columns2select = [$reqId ?? 'id', $reqText ?? 'nombre'];
$onlyActiveOnes = false;
$menu = $this->model->getSelect2MenuItems($columns2select, $columns2select[1], $onlyActiveOnes, $searchStr);
$nonItem = new \stdClass;
$nonItem->id = '';
$nonItem->text = '- '.lang('Basic.global.None').' -';
array_unshift($menu , $nonItem);
$newTokenHash = csrf_hash();
$csrfTokenName = csrf_token();
$data = [
'menu' => $menu,
$csrfTokenName => $newTokenHash
];
return $this->respond($data);
} else {
return $this->failUnauthorized('Invalid request', 403);
}
}
}

View File

@ -0,0 +1,310 @@
<?php namespace App\Controllers\Usuarios;
use App\Entities\Usuarios\UserEntity;
use App\Models\Usuarios\UserGroupModel;
use App\Models\Usuarios\GroupUserModel;
use App\Models\Usuarios\UserModel;
use App\Libraries\PasswordHash;
class Usersold extends \App\Controllers\GoBaseController {
private $group_model;
private $group_user_model;
private $user_model;
use \CodeIgniter\API\ResponseTrait;
protected static $primaryModelName = 'App\Models\Usuarios\UserModel';
protected static $singularObjectNameCc = 'user';
protected static $singularObjectName = 'User';
protected static $pluralObjectName = 'Users';
protected static $controllerSlug = 'users';
protected static $viewPath = 'themes/backend/vuexy/form/user/';
protected $indexRoute = 'userList';
public function initController(\CodeIgniter\HTTP\RequestInterface $request, \CodeIgniter\HTTP\ResponseInterface $response, \Psr\Log\LoggerInterface $logger) {
$this->group_model = new UserGroupModel();
$this->group_user_model = new GroupUserModel();
$this->user_model = new UserModel();
$this->viewData['pageTitle'] = lang('Users.moduleTitle');
parent::initController($request, $response, $logger);
}
public function index() {
$this->viewData['usingClientSideDataTable'] = true;
$this->viewData['pageSubTitle'] = lang('Basic.global.ManageAllRecords', [lang('Users.user')]);
$this->viewData['user_model'] = $this->user_model;
parent::index();
}
public function add() {
$requestMethod = $this->request->getMethod();
if ($requestMethod === 'post') :
$nullIfEmpty = true; // !(phpversion() >= '8.1');
$postData = $this->request->getPost();
if(!empty($postData['password'])){
$phpass = new PasswordHash(8, true);
$postData['password'] = $phpass->HashPassword($this->request->getPost('password'));
}
$currentGroups = $postData['group'];
unset($postData['group']);
$sanitizedData = $this->sanitized($postData, $nullIfEmpty);
if ($this->request->getPost('last_ip') == null ) {
$sanitizedData['last_ip'] = '::1';
}
$sanitizedData['token'] = md5(uniqid(rand(), true));
$noException = true;
if ($successfulResult = $this->canValidate()) : // if ($successfulResult = $this->validate($this->formValidationRules) ) :
if ($this->canValidate()) :
try {
$successfulResult = $this->model->skipValidation(true)->save($sanitizedData);
} catch (\Exception $e) {
$noException = false;
$this->dealWithException($e);
}
else:
$this->viewData['errorMessage'] = lang('Basic.global.formErr1', [mb_strtolower(lang('Users.user'))]);
$this->session->setFlashdata('formErrors', $this->model->errors());
endif;
$thenRedirect = true; // Change this to false if you want your user to stay on the form after submission
endif;
if ($noException && $successfulResult) :
$id = $this->model->db->insertID();
foreach($currentGroups as $group){
$group_user_data = [
'token_user' => $sanitizedData['token'],
'token_group' => $group
];
$this->group_user_model->insert($group_user_data);
}
$message = lang('Basic.global.saveSuccess', [mb_strtolower(lang('Users.user'))]) . 'Downloads';
$message .= anchor(route_to('editUser', $id), lang('Basic.global.continueEditing').'?');
$message = ucfirst(str_replace("'", "\'", $message));
if ($thenRedirect) :
if (!empty($this->indexRoute)) :
return redirect()->to(route_to($this->indexRoute))->with('successMessage', $message);
else:
return $this->redirect2listView('successMessage', $message);
endif;
else:
$this->viewData['successMessage'] = $message;
endif;
endif; // $noException && $successfulResult
endif; // ($requestMethod === 'post')
$this->viewData['user'] = isset($sanitizedData) ? new UserEntity($sanitizedData) : new UserEntity();
$this->viewData['paisList'] = $this->getPaisListItems();
$this->viewData['formAction'] = route_to('createUser');
$this->viewData['groups'] = $this->group_model->select('token,title')->findAll();
$this->viewData['boxTitle'] = lang('Basic.global.addNew') . ' Users.php' .lang('Users.user').' '.lang('Basic.global.addNewSuffix');
return $this->displayForm(__METHOD__);
} // end function add()
public function edit($requestedId = null) {
if ($requestedId == null) :
return $this->redirect2listView();
endif;
$id = filter_var($requestedId, FILTER_SANITIZE_URL);
$user = $this->model->find($id);
if ($user == false) :
$message = lang('Basic.global.notFoundWithIdErr', [mb_strtolower(lang('Users.user')), $id]);
return $this->redirect2listView('errorMessage', $message);
endif;
$requestMethod = $this->request->getMethod();
if ($requestMethod === 'post') :
$nullIfEmpty = true; // !(phpversion() >= '8.1');
$postData = $this->request->getPost();
$currentGroups = $postData['group'];
unset($postData['group']);
if(!empty($postData['password'])){
$phpass = new PasswordHash(8, true);
$postData['password'] = $phpass->HashPassword($this->request->getPost('password'));
}
$sanitizedData = $this->sanitized($postData, $nullIfEmpty);
if ($this->request->getPost('tfa') == null ) {
$sanitizedData['tfa'] = false;
}
if ($this->request->getPost('blocked') == null ) {
$sanitizedData['blocked'] = false;
}
if ($this->request->getPost('last_ip') == null ) {
$sanitizedData['last_ip'] = '::1';
}
$noException = true;
if ($successfulResult = $this->canValidate()) : // if ($successfulResult = $this->validate($this->formValidationRules) ) :
if ($this->canValidate()) :
try {
$successfulResult = $this->model->skipValidation(true)->update($id, $sanitizedData);
} catch (\Exception $e) {
$noException = false;
$this->dealWithException($e);
}
else:
$this->viewData['warningMessage'] = lang('Basic.global.formErr1', [mb_strtolower(lang('Users.user'))]);
$this->session->setFlashdata('formErrors', $this->model->errors());
endif;
$user->fill($sanitizedData);
$thenRedirect = true;
endif;
if ($noException && $successfulResult) :
$postData = $this->request->getPost();
$this->group_user_model->where('token_user', $user->token)->delete();
foreach($currentGroups as $group){
$group_user_data = [
'token_user' => $user->token,
'token_group' => $group
];
$this->group_user_model->insert($group_user_data);
}
$id = $user->id_user ?? $id;
$message = lang('Basic.global.updateSuccess', [mb_strtolower(lang('Users.user'))]) . 'Downloads';
$message .= anchor(route_to('editUser', $id), lang('Basic.global.continueEditing').'?');
$message = ucfirst(str_replace("'", "\'", $message));
if ($thenRedirect) :
if (!empty($this->indexRoute)) :
return redirect()->to(route_to($this->indexRoute))->with('successMessage', $message);
else:
return $this->redirect2listView('successMessage', $message);
endif;
else:
$this->viewData['successMessage'] = $message;
endif;
endif; // $noException && $successfulResult
endif; // ($requestMethod === 'post')
$this->viewData['user'] = $user;
$this->viewData['paisList'] = $this->getPaisListItems();
$this->viewData['formAction'] = route_to('updateUser', $id);
$this->viewData['selectedGroups'] = $this->group_user_model->select('token_group')->where('token_user', $user->token)->findAll();
$this->viewData['groups'] = $this->group_model->select('token,title')->findAll();
$this->viewData['boxTitle'] = lang('Basic.global.edit2') . ' Users.php' .lang('Users.user').' '.lang('Basic.global.edit3');
return $this->displayForm(__METHOD__, $id);
} // end function edit(...)
public function allItemsSelect() {
if ($this->request->isAJAX()) {
$onlyActiveOnes = true;
$reqVal = $this->request->getPost('val') ?? 'id_user';
$menu = $this->model->getAllForMenu($reqVal.', first_name', 'first_name', $onlyActiveOnes, false);
$nonItem = new \stdClass;
$nonItem->id_user = '';
$nonItem->first_name = '- '.lang('Basic.global.None').' -';
array_unshift($menu , $nonItem);
$newTokenHash = csrf_hash();
$csrfTokenName = csrf_token();
$data = [
'menu' => $menu,
$csrfTokenName => $newTokenHash
];
return $this->respond($data);
} else {
return $this->failUnauthorized('Invalid request', 403);
}
}
public function menuItems() {
if ($this->request->isAJAX()) {
$searchStr = goSanitize($this->request->getPost('searchTerm'))[0];
$reqId = goSanitize($this->request->getPost('id'))[0];
$reqText = goSanitize($this->request->getPost('text'))[0];
$onlyActiveOnes = false;
$columns2select = [$reqId ?? 'id_user', $reqText ?? 'first_name'];
$onlyActiveOnes = false;
$menu = $this->model->getSelect2MenuItems($columns2select, $columns2select[1], $onlyActiveOnes, $searchStr);
$nonItem = new \stdClass;
$nonItem->id = '';
$nonItem->text = '- '.lang('Basic.global.None').' -';
array_unshift($menu , $nonItem);
$newTokenHash = csrf_hash();
$csrfTokenName = csrf_token();
$data = [
'menu' => $menu,
$csrfTokenName => $newTokenHash
];
return $this->respond($data);
} else {
return $this->failUnauthorized('Invalid request', 403);
}
}
protected function getPaisListItems() {
$data = [''=>lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('Pais.pais'))])];
$paisModel = model('App\Models\Configuracion\PaisModel');
$registers = $paisModel->findAll();
return $registers;
}
}

View File

@ -0,0 +1,18 @@
<?php
namespace App\Controllers;
use App\Controllers\BaseController;
class Viewmode extends BaseController
{
public function index($view_mode = VIEW_MODE_IMPRESION)
{
$session = session();
$viewMode = $view_mode;
$session->remove('view_mode');
$session->set('view_mode', $viewMode);
$url = previous_url();
return redirect()->to($url);
}
}

View File

@ -105,15 +105,17 @@ class LoginAuthFilter implements FilterInterface
return [
'Catalogo',
'Clientes',
'Compras',
'Configuracion',
'ServiciosDigitalizacion',
'EnviosLogistica',
'Facturacion',
'Informes',
'EnviosLogistica',
'Importacion',
'Pedidos',
'Presupuestos',
'Produccion',
'Proveedores',
'Servicios',
'Tarifas',
'Usuarios',
];
@ -139,9 +141,10 @@ class LoginAuthFilter implements FilterInterface
'Integration',
'Migrate',
'Test',
'Viewmode',
'GoBaseController',
'GoBaseResourceController',
'My', 'Activity', 'Notification' // PARA LA DEMO
'My', 'Usuarios', 'Notification' // PARA LA DEMO
];
}

View File

@ -669,10 +669,10 @@ return [
// MENUS
"menu_dashboard" => "Dashboard",
"menu_dashboard" => "Control Panel",
"menu_clientes" => "Customers",
"menu_tarifacliente" => "Customer Fee",
"menu_tarifacliente" => "Fees",
"menu_configuration" => "Settings",
"menu_calendario" => "Calendar",
@ -692,22 +692,56 @@ return [
"menu_trabajo" => "Works",
"menu_trabajo" => "Tipologies",
"menu_digitalizacion" => "Digitalisation",
"menu_mensajes" => "Messages",
"menu_maquetacion" => "Maquetación",
"menu_digitalizacion" => "Digitalisation",
"menu_importacion" => "Import",
"menu_catalogo" => "Catalogue",
"menu_catalogo_libros" => "Books",
"menu_catalogo_nuevo" => "New",
"menu_catalogo_categorias" => "Categories",
"menu_catalogo_categorias" => "Import",
"menu_logistica" => "Logistics",
"menu_logistica_envios" => "Envíos conjuntos",
"menu_logistica_etiquetas" => "Labels",
"menu_logistica_tracking" => "Tracking",
"menu_compras" => "Procurement",
"menu_compras_ajustes" => "Settings",
"menu_productos" => "Products",
"menu_proveedores" => "Providers",
"menu_facturación" => "Billing",
"menu_albaran" => "Delivery notes",
"menu_facturas" => "Invoices",
"menu_facturas_vencimiento" => "Vencimiento",
"menu_facturas_nueva" => "New Invoice",
"menu_informes" => "Reports",
"menu_pedidos" => "Orders",
"menu_pedidos_activos" => "Actives",
"menu_pedidos_finalizados" => "Finished",
"menu_pedidos_cancelados" => "Cancelled",
"menu_pedidos_manuales" => "Manual",
"menu_presupuestos" => "Budgets",
"menu_presupuesto" => "Books",
"menu_presupuestomaquetacion" => "Layout budgets",
"menu_produccion" => "Production",
"menu_orden_trabajo" => "WOs",
"menu_orden_trabajo_100" => "WOs 100%",
"menu_orden_trabajo_finalizados" => "WOs finalised",
"menu_orden_trabajo_pendientes" => "WOs pending",
"menu_ordentrabajomaquetacion" => "Layout work order",
"menu_ordenmaquina" => "Machine order",
"menu_pedidoproduccion" => "Orders",

View File

@ -4,7 +4,12 @@
return [
'address' => 'Address',
'blocked' => 'Blocked',
'blocked' => 'Blocked',
'non_blocked' => 'Non Blocked',
'global_active' => 'Enabled',
'global_inactive' => 'Disabled',
'email_confirmed' => 'Confirmed',
'email_not_confirmed' => 'Non Confirmed',
'city' => 'City',
'country' => 'Country',
'createdAt' => 'Created At',

View File

@ -669,10 +669,11 @@ return [
// MENUS
"menu_dashboard" => "Panel",
"menu_dashboard" => "Panel de control",
"menu_clientes" => "Clientes",
"menu_tarifacliente" => "Tarifa Clientes",
"menu_clientes_nuevo" => "Nuevo",
"menu_tarifacliente" => "Tarifas",
"menu_configuration" => "Configuracion",
"menu_calendario" => "Calendario",
@ -691,30 +692,68 @@ return [
"menu_tiposimpresion" => "Tipos de impresion",
"menu_trabajo" => "Trabajos",
"menu_tipologias" => "Tipologías",
"menu_digitalizacion" => "Digitalización",
"menu_logistica" => "Logistica",
"menu_mensajes" => "Mensajes",
"menu_impresion" => "Impresion",
"menu_maquetacion" => "Maquetación",
"menu_digitalizacion" => "Digitalización",
"menu_importacion" => "Importación",
"menu_catalogo" => "Catálogo",
"menu_catalogo_libros" => "Libros",
"menu_catalogo_nuevo" => "Nuevo",
"menu_catalogo_categorias" => "Categorías",
"menu_catalogo_importar" => "Importar",
"menu_logistica" => "Logística",
"menu_logistica_envios" => "Envíos conjuntos",
"menu_logistica_etiquetas" => "Etiquetas",
"menu_logistica_tracking" => "Tracking",
"menu_compras" => "Compras",
"menu_compras_ajustes" => "Ajustes",
"menu_productos" => "Productos",
"menu_proveedores" => "Proveedores",
"menu_facturación" => "Facturación",
"menu_albaran" => "Albaranes",
"menu_facturas" => "Facturas",
"menu_facturas_vencimiento" => "Vencimiento",
"menu_facturas_nueva" => "Nueva Factura",
"menu_informes" => "Informes",
"menu_pedidos" => "Pedidos",
"menu_pedidos_activos" => "Activos",
"menu_pedidos_finalizados" => "Finalizados",
"menu_pedidos_cancelados" => "Cancelados",
"menu_pedidos_manuales" => "Manuales",
"menu_presupuestos" => "Presupuestos",
"menu_presupuestomaquetacion" => "Presupuestos maquetación",
"menu_presupuesto" => "Libros",
"menu_presupuestomaquetacion_nuevo" => "Nuevo",
"menu_presupuestomaquetacion_todos" => "Todos",
"menu_presupuestomaquetacion_borrador" => "Borrador",
"menu_presupuestomaquetacion_aceptados" => "Aceptados",
"menu_produccion" => "Producción",
"menu_orden_trabajo" => "OTs",
"menu_orden_trabajo_100" => "OTs 100%",
"menu_orden_trabajo_finalizados" => "OTs finalizados",
"menu_orden_trabajo_pendientes" => "OTs pendientes",
"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",
@ -732,7 +771,7 @@ return [
"menu_general" => "General",
"menu_logout" => "Salir",
"menu_profile" => "Mi Perfil",
"menu_activity" => "Ocupaciones",
"menu_activity" => "Actividad",
"menu_notification" => "Notificaciones",
"menu_list" => "Lista",
"menu_add" => "Agregar",

View File

@ -5,6 +5,11 @@
return [
'address' => 'Dirección',
'blocked' => 'Bloqueado',
'non_blocked' => 'No bloqueado',
'global_active' => 'Activo',
'global_inactive' => 'Inactivo',
'email_confirmed' => 'Confirmado',
'email_not_confirmed' => 'No Confirmado',
'city' => 'Ciudad',
'country' => 'País',
'createdAt' => 'Creado en',
@ -33,7 +38,7 @@ return [
'userList' => 'Lista de usuarios',
'users' => 'Usuarios',
'zipCode' => 'Código postal',
'validation' => [
'validation' => [
'address' => [
'max_length' => 'El campo {field} no puede exceder {param} caracteres en longitud.',

View File

@ -1,132 +1,136 @@
<?= $this->include("themes/_commonPartialsBs/select2bs5") ?>
<?= $this->include("themes/_commonPartialsBs/datatables") ?>
<?= $this->extend('themes/backend/vuexy/main/activities_layout') ?>
<?= $this->section('content'); ?>
<!--Content Body-->
<div class="content-body">
<div class="container-fluid">
<div class="row page-titles mx-0">
<div class="col-sm-6 p-md-0">
<div class="welcome-text">
<h4><i class="<?= $title['icon']??'' ?>"></i> <?= $title['module']??'' ?></h4>
<span class="ml-1"><?= $title['page']??'' ?></span>
</div>
</div>
<div class="col-sm-6 p-md-0 justify-content-sm-end mt-2 mt-sm-0 d-flex">
<ol class="breadcrumb">
<?php foreach ($breadcrumb??[] as $item) : ?>
<?php if (!$item['active']) : ?>
<li class="breadcrumb-item"><a href="<?= site_url($item['route']) ?>"><?= $item['title'] ?></a></li>
<?php else : ?>
<li class="breadcrumb-item active"><?= $item['title'] ?></li>
<?php endif; ?>
<?php endforeach; ?>
</ol>
</div>
</div>
<div class="row">
<div class="col-lg-3 col-sm-6">
<div class="row mt-4">
<div class="col-md-12">
<div class="row g-4">
<!-- OS cards -->
<div class="col-xl-3 col-lg-6 col-md-6">
<div class="card">
<div class="stat-widget-one card-body">
<div class="d-inline-block">
<i class="fab fa-windows text-pink fa-3x"></i>
<div class="card-body d-flex justify-content-between align-items-center">
<div class="card-title mb-0">
<h5 class="mb-0 me-2"><?=$logs['windows']??'0'?></h5>
<small><?=strtoupper(lang("App.activity_top_windows"))?></small>
</div>
<div class="stat-content d-inline-block">
<div class="stat-text text-pink"><?=strtoupper(lang("App.activity_top_windows"))?></div>
<div class="stat-digit"><?=$logs['windows']??'0'?></div>
<div class="card-icon">
<span class="badge bg-label-primary rounded-pill p-2">
<i class="ti ti-brand-windows ti-xl"></i>
</span>
</div>
</div>
</div>
</div>
<div class="col-12">
<div class="col-xl-3 col-lg-6 col-md-6">
<div class="card">
<div class="stat-widget-one card-body">
<div class="d-inline-block">
<i class="fab fa-apple text-pink fa-3x"></i>
<div class="card-body d-flex justify-content-between align-items-center">
<div class="card-title mb-0">
<h5 class="mb-0 me-2"><?=$logs['mac']??'0'?></h5>
<small><?=strtoupper(lang("App.activity_top_mac"))?></small>
</div>
<div class="stat-content d-inline-block">
<div class="stat-text text-pink"><?=strtoupper(lang("App.activity_top_mac"))?></div>
<div class="stat-digit"><?=$logs['mac']??'0'?></div>
<div class="card-icon">
<span class="badge bg-label-primary rounded-pill p-2">
<i class="ti ti-brand-apple ti-xl"></i>
</span>
</div>
</div>
</div>
</div>
<div class="col-lg-3 col-sm-6">
<div class="col-xl-3 col-lg-6 col-md-6">
<div class="card">
<div class="stat-widget-one card-body">
<div class="d-inline-block">
<i class="fab fa-linux text-pink fa-3x"></i>
<div class="card-body d-flex justify-content-between align-items-center">
<div class="card-title mb-0">
<h5 class="mb-0 me-2"><?=$logs['linux']??'0'?></h5>
<small><?=strtoupper(lang("App.activity_top_linux"))?></small>
</div>
<div class="stat-content d-inline-block">
<div class="stat-text text-pink"><?=strtoupper(lang("App.activity_top_linux"))?></div>
<div class="stat-digit"><?=$logs['linux']??'0'?></div>
<div class="card-icon">
<span class="badge bg-label-primary rounded-pill p-2">
<i class="ti ti-brand-ubuntu ti-xl"></i>
</span>
</div>
</div>
</div>
</div>
<div class="col-lg-3 col-sm-6">
<div class="col-xl-3 col-lg-6 col-md-6">
<div class="card">
<div class="stat-widget-one card-body">
<div class="d-inline-block">
<i class="fab fa-android text-pink fa-3x"></i>
<div class="card-body d-flex justify-content-between align-items-center">
<div class="card-title mb-0">
<h5 class="mb-0 me-2"><?=($logs['android']??'0') + ($logs['iphone']??'0')?></h5>
<small><?=strtoupper(lang("App.activity_top_mobile"))?></small>
</div>
<div class="stat-content d-inline-block">
<div class="stat-text text-pink"><?=strtoupper(lang("App.activity_top_mobile"))?></div>
<div class="stat-digit"><?=($logs['android']??'0') + ($logs['iphone']??'0')?></div>
<div class="card-icon">
<span class="badge bg-label-primary rounded-pill p-2">
<i class="ti ti-device-mobile ti-xl"></i>
</span>
</div>
</div>
</div>
</div>
<div class="col-lg-3 col-sm-6">
<div class="col-xl-3 col-lg-6 col-md-6">
<div class="card">
<div class="stat-widget-one card-body">
<div class="d-inline-block">
<i class="fab fa-edge text-pink fa-3x"></i>
<div class="card-body d-flex justify-content-between align-items-center">
<div class="card-title mb-0">
<h5 class="mb-0 me-2"><?=($logs['ie']??'0') + ($logs['edge']??'0')?></h5>
<small><?=strtoupper(lang("App.activity_top_edge"))?></small>
</div>
<div class="stat-content d-inline-block">
<div class="stat-text text-pink"><?=strtoupper(lang("App.activity_top_edge"))?></div>
<div class="stat-digit"><?=($logs['ie']??'0') + ($logs['edge']??'0')?></div>
<div class="card-icon">
<span class="badge bg-label-primary rounded-pill p-2">
<i class="ti ti-brand-edge ti-xl"></i>
</span>
</div>
</div>
</div>
</div>
<div class="col-lg-3 col-sm-6">
<div class="col-xl-3 col-lg-6 col-md-6">
<div class="card">
<div class="stat-widget-one card-body">
<div class="d-inline-block">
<i class="fab fa-safari text-pink fa-3x"></i>
<div class="card-body d-flex justify-content-between align-items-center">
<div class="card-title mb-0">
<h5 class="mb-0 me-2"><?=$logs['safari']??'0'?></h5>
<small><?=strtoupper(lang("App.activity_top_safari"))?></small>
</div>
<div class="stat-content d-inline-block">
<div class="stat-text text-pink"><?=strtoupper(lang("App.activity_top_safari"))?></div>
<div class="stat-digit"><?=$logs['safari']??'0'?></div>
<div class="card-icon">
<span class="badge bg-label-primary rounded-pill p-2">
<i class="ti ti-brand-safari ti-xl"></i>
</span>
</div>
</div>
</div>
</div>
<div class="col-lg-3 col-sm-6">
<div class="col-xl-3 col-lg-6 col-md-6">
<div class="card">
<div class="stat-widget-one card-body">
<div class="d-inline-block">
<i class="fab fa-firefox-browser text-pink fa-3x"></i>
<div class="card-body d-flex justify-content-between align-items-center">
<div class="card-title mb-0">
<h5 class="mb-0 me-2"><?=$logs['firefox']??'0'?></h5>
<small><?=strtoupper(lang("App.activity_top_firefox"))?></small>
</div>
<div class="stat-content d-inline-block">
<div class="stat-text text-pink"><?=strtoupper(lang("App.activity_top_firefox"))?></div>
<div class="stat-digit"><?=$logs['firefox']??'0'?></div>
<div class="card-icon">
<span class="badge bg-label-primary rounded-pill p-2">
<i class="ti ti-brand-firefox ti-xl"></i>
</span>
</div>
</div>
</div>
</div>
<div class="col-lg-3 col-sm-6">
<div class="col-xl-3 col-lg-6 col-md-6">
<div class="card">
<div class="stat-widget-one card-body">
<div class="d-inline-block">
<i class="fab fa-chrome text-pink fa-3x"></i>
<div class="card-body d-flex justify-content-between align-items-center">
<div class="card-title mb-0">
<h5 class="mb-0 me-2"><?=$logs['chrome']??'0'?></h5>
<small><?=strtoupper(lang("App.activity_top_chrome"))?></small>
</div>
<div class="stat-content d-inline-block">
<div class="stat-text text-pink"><?=strtoupper(lang("App.activity_top_chrome"))?></div>
<div class="stat-digit"><?=$logs['chrome']??'0'?></div>
<div class="card-icon">
<span class="badge bg-label-primary rounded-pill p-2">
<i class="ti ti-brand-chrome ti-xl"></i>
</span>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<!-- \OS cards -->
<!-- Activity Table -->
<div class="col-12">
<div class="card">
<div class="card-header row">
@ -135,8 +139,9 @@
</div>
<?php if (session()->get('dashboard')=='admin') : ?>
<div class="col-sm-6 justify-content-sm-end mt-2 mt-sm-0 d-flex">
<a href="<?= site_url("activity/all")?>" class="btn btn-lg btn-primary float-md-right">
<i class="fas fa-eye"></i> <?=lang("App.activity_all_btn")?></a>
<a href="<?= site_url("activity/all")?>" class="btn btn-primary float-md-right">
<?=lang("App.activity_all_btn")?>
</a>
</div>
<?php endif; ?>
</div>
@ -162,31 +167,13 @@
</div>
</div>
</div>
<!-- \Activity Table -->
</div>
</div>
</div>
<!-- Required vendors -->
<script src="<?=site_url("themes/focus2/vendor/global/global.min.js")?>"></script>
<script src="<?=site_url("themes/focus2/js/quixnav-init.js")?>"></script>
<script src="<?=site_url("themes/focus2/js/custom.min.js")?>"></script>
<!-- Datatable -->
<script src="<?=site_url("themes/focus2/vendor/datatables/js/jquery.dataTables.min.js")?>"></script>
<script src="<?=site_url("themes/focus2/vendor/pickers/daterange/moment.min.js")?>"></script>
<script src="<?=site_url("themes/focus2/vendor/datatables/js/dataTables.datetime.js")?>"></script>
<script src="<?=site_url("themes/focus2/vendor/datatables/js/dataTables.buttons.min.js")?>"></script>
<script src="<?=site_url("themes/focus2/vendor/datatables/js/buttons.bootstrap4.min.js")?>"></script>
<script src="<?=site_url("themes/focus2/vendor/datatables/js/jszip.min.js")?>"></script>
<script src="<?=site_url("themes/focus2/vendor/datatables/js/pdfmake.min.js")?>"></script>
<script src="<?=site_url("themes/focus2/vendor/datatables/js/vfs_fonts.js")?>"></script>
<script src="<?=site_url("themes/focus2/vendor/datatables/js/buttons.html5.min.js")?>"></script>
<script src="<?=site_url("themes/focus2/vendor/datatables/js/buttons.print.min.js")?>"></script>
<script src="<?=site_url("themes/focus2/vendor/datatables/js/buttons.colVis.min.js")?>"></script>
<!-- Alert -->
<script src="<?=site_url("themes/focus2/vendor/sweetalert2/dist/sweetalert2.min.js")?>"></script>
<script src="<?=site_url("themes/focus2/vendor/toastr/js/toastr.min.js")?>"></script>
<!-- Custom -->
<script src="<?=site_url("assets/js/main.js")?>"></script>
<script>
<?= $this->endSection() ?>
<?= $this->section('additionalInlineJs') ?>
"use strict";
$(document).ready(function () {
let dataFormat = [
@ -195,15 +182,15 @@
render: function ( data, type, row ) {
switch (data) {
case 'error':
return '<span class="badge badge-danger"><?=lang("App.activity_alert_error")?></span>';
return '<span class="badge bg-danger"><?=lang("App.activity_alert_error")?></span>';
case 'recovery':
return '<span class="badge badge-secondary"><?=lang("App.activity_alert_recovery")?></span>';
return '<span class="badge bg-secondary"><?=lang("App.activity_alert_recovery")?></span>';
case 'throttling':
return '<span class="badge badge-warning"><?=lang("App.activity_alert_throttling")?></span>';
return '<span class="badge bg-warning"><?=lang("App.activity_alert_throttling")?></span>';
case 'information':
return '<span class="badge badge-primary"><?=lang("App.activity_alert_information")?></span>';
return '<span class="badge bg-primary"><?=lang("App.activity_alert_information")?></span>';
default:
return '<span class="badge badge-primary">'+data+'</span>';
return '<span class="badge bg-primary">'+data+'</span>';
}
}
},
@ -222,7 +209,7 @@
},
{
targets: 6,
render: $.fn.dataTable.render.moment('YYYY-MM-DD HH:mm:ss','<?=momentDateTimeJS()?>')
//render: $.fn.dataTable.render.moment('YYYY-MM-DD HH:mm:ss','<?=momentDateTimeJS()?>')
}
];
let order = [[6, "desc"]];
@ -231,4 +218,4 @@
let columns = [{ data: 'name' },{ data: 'level' },{ data: 'event' },{ data: 'ip' },{ data: 'os' },{ data: 'browser' },{ data: 'created_at' }];
loadDataTableAjax('table-grid', '<?=site_url("ajax/getActivities".$all??"")?>', translate, true, true, order, columns,dataFormat, button);
});
</script>
<?= $this->endSection() ?>

View File

@ -0,0 +1,234 @@
<!--Content Body-->
<div class="content-body">
<div class="container-fluid">
<div class="row page-titles mx-0">
<div class="col-sm-6 p-md-0">
<div class="welcome-text">
<h4><i class="<?= $title['icon']??'' ?>"></i> <?= $title['module']??'' ?></h4>
<span class="ml-1"><?= $title['page']??'' ?></span>
</div>
</div>
<div class="col-sm-6 p-md-0 justify-content-sm-end mt-2 mt-sm-0 d-flex">
<ol class="breadcrumb">
<?php foreach ($breadcrumb??[] as $item) : ?>
<?php if (!$item['active']) : ?>
<li class="breadcrumb-item"><a href="<?= site_url($item['route']) ?>"><?= $item['title'] ?></a></li>
<?php else : ?>
<li class="breadcrumb-item active"><?= $item['title'] ?></li>
<?php endif; ?>
<?php endforeach; ?>
</ol>
</div>
</div>
<div class="row">
<div class="col-lg-3 col-sm-6">
<div class="card">
<div class="stat-widget-one card-body">
<div class="d-inline-block">
<i class="fab fa-windows text-pink fa-3x"></i>
</div>
<div class="stat-content d-inline-block">
<div class="stat-text text-pink"><?=strtoupper(lang("App.activity_top_windows"))?></div>
<div class="stat-digit"><?=$logs['windows']??'0'?></div>
</div>
</div>
</div>
</div>
<div class="col-12">
<div class="card">
<div class="stat-widget-one card-body">
<div class="d-inline-block">
<i class="fab fa-apple text-pink fa-3x"></i>
</div>
<div class="stat-content d-inline-block">
<div class="stat-text text-pink"><?=strtoupper(lang("App.activity_top_mac"))?></div>
<div class="stat-digit"><?=$logs['mac']??'0'?></div>
</div>
</div>
</div>
</div>
<div class="col-lg-3 col-sm-6">
<div class="card">
<div class="stat-widget-one card-body">
<div class="d-inline-block">
<i class="fab fa-linux text-pink fa-3x"></i>
</div>
<div class="stat-content d-inline-block">
<div class="stat-text text-pink"><?=strtoupper(lang("App.activity_top_linux"))?></div>
<div class="stat-digit"><?=$logs['linux']??'0'?></div>
</div>
</div>
</div>
</div>
<div class="col-lg-3 col-sm-6">
<div class="card">
<div class="stat-widget-one card-body">
<div class="d-inline-block">
<i class="fab fa-android text-pink fa-3x"></i>
</div>
<div class="stat-content d-inline-block">
<div class="stat-text text-pink"><?=strtoupper(lang("App.activity_top_mobile"))?></div>
<div class="stat-digit"><?=($logs['android']??'0') + ($logs['iphone']??'0')?></div>
</div>
</div>
</div>
</div>
<div class="col-lg-3 col-sm-6">
<div class="card">
<div class="stat-widget-one card-body">
<div class="d-inline-block">
<i class="fab fa-edge text-pink fa-3x"></i>
</div>
<div class="stat-content d-inline-block">
<div class="stat-text text-pink"><?=strtoupper(lang("App.activity_top_edge"))?></div>
<div class="stat-digit"><?=($logs['ie']??'0') + ($logs['edge']??'0')?></div>
</div>
</div>
</div>
</div>
<div class="col-lg-3 col-sm-6">
<div class="card">
<div class="stat-widget-one card-body">
<div class="d-inline-block">
<i class="fab fa-safari text-pink fa-3x"></i>
</div>
<div class="stat-content d-inline-block">
<div class="stat-text text-pink"><?=strtoupper(lang("App.activity_top_safari"))?></div>
<div class="stat-digit"><?=$logs['safari']??'0'?></div>
</div>
</div>
</div>
</div>
<div class="col-lg-3 col-sm-6">
<div class="card">
<div class="stat-widget-one card-body">
<div class="d-inline-block">
<i class="fab fa-firefox-browser text-pink fa-3x"></i>
</div>
<div class="stat-content d-inline-block">
<div class="stat-text text-pink"><?=strtoupper(lang("App.activity_top_firefox"))?></div>
<div class="stat-digit"><?=$logs['firefox']??'0'?></div>
</div>
</div>
</div>
</div>
<div class="col-lg-3 col-sm-6">
<div class="card">
<div class="stat-widget-one card-body">
<div class="d-inline-block">
<i class="fab fa-chrome text-pink fa-3x"></i>
</div>
<div class="stat-content d-inline-block">
<div class="stat-text text-pink"><?=strtoupper(lang("App.activity_top_chrome"))?></div>
<div class="stat-digit"><?=$logs['chrome']??'0'?></div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-12">
<div class="card">
<div class="card-header row">
<div class="col-sm-6">
<h4 class="card-title"><?= $title['page']??'' ?></h4>
</div>
<?php if (session()->get('dashboard')=='admin') : ?>
<div class="col-sm-6 justify-content-sm-end mt-2 mt-sm-0 d-flex">
<a href="<?= site_url("activity/all")?>" class="btn btn-lg btn-primary float-md-right">
<i class="fas fa-eye"></i> <?=lang("App.activity_all_btn")?></a>
</div>
<?php endif; ?>
</div>
<div class="card-body">
<!-- CSRF token -->
<input type="hidden" class="txt_csrfname" name="<?= csrf_token() ?>" value="<?= csrf_hash() ?>" />
<!-- Table -->
<div class="table-responsive">
<table id='table-grid' class="table table-striped nowrap" style="width:100%">
<thead>
<tr>
<th><?=lang("App.activity_grid_user")?></th>
<th><?=lang("App.activity_grid_level")?></th>
<th><?=lang("App.activity_grid_event")?></th>
<th><?=lang("App.activity_grid_ip")?></th>
<th><?=lang("App.activity_grid_os")?></th>
<th><?=lang("App.activity_grid_browser")?></th>
<th><?=lang("App.activity_grid_created")?></th>
</tr>
</thead>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Required vendors -->
<script src="<?=site_url("themes/focus2/vendor/global/global.min.js")?>"></script>
<script src="<?=site_url("themes/focus2/js/quixnav-init.js")?>"></script>
<script src="<?=site_url("themes/focus2/js/custom.min.js")?>"></script>
<!-- Datatable -->
<script src="<?=site_url("themes/focus2/vendor/datatables/js/jquery.dataTables.min.js")?>"></script>
<script src="<?=site_url("themes/focus2/vendor/pickers/daterange/moment.min.js")?>"></script>
<script src="<?=site_url("themes/focus2/vendor/datatables/js/dataTables.datetime.js")?>"></script>
<script src="<?=site_url("themes/focus2/vendor/datatables/js/dataTables.buttons.min.js")?>"></script>
<script src="<?=site_url("themes/focus2/vendor/datatables/js/buttons.bootstrap4.min.js")?>"></script>
<script src="<?=site_url("themes/focus2/vendor/datatables/js/jszip.min.js")?>"></script>
<script src="<?=site_url("themes/focus2/vendor/datatables/js/pdfmake.min.js")?>"></script>
<script src="<?=site_url("themes/focus2/vendor/datatables/js/vfs_fonts.js")?>"></script>
<script src="<?=site_url("themes/focus2/vendor/datatables/js/buttons.html5.min.js")?>"></script>
<script src="<?=site_url("themes/focus2/vendor/datatables/js/buttons.print.min.js")?>"></script>
<script src="<?=site_url("themes/focus2/vendor/datatables/js/buttons.colVis.min.js")?>"></script>
<!-- Alert -->
<script src="<?=site_url("themes/focus2/vendor/sweetalert2/dist/sweetalert2.min.js")?>"></script>
<script src="<?=site_url("themes/focus2/vendor/toastr/js/toastr.min.js")?>"></script>
<!-- Custom -->
<script src="<?=site_url("assets/js/main.js")?>"></script>
<script>
"use strict";
$(document).ready(function () {
let dataFormat = [
{
targets: 1,
render: function ( data, type, row ) {
switch (data) {
case 'error':
return '<span class="badge badge-danger"><?=lang("App.activity_alert_error")?></span>';
case 'recovery':
return '<span class="badge badge-secondary"><?=lang("App.activity_alert_recovery")?></span>';
case 'throttling':
return '<span class="badge badge-warning"><?=lang("App.activity_alert_throttling")?></span>';
case 'information':
return '<span class="badge badge-primary"><?=lang("App.activity_alert_information")?></span>';
default:
return '<span class="badge badge-primary">'+data+'</span>';
}
}
},
{
targets: 2,
render: function ( data, type, row ) {
switch (data) {
case 'login-authenticate':
return '<?=lang("App.activity_alert_login_auth")?>';
case 'recovery-password':
return '<?=lang("App.activity_alert_recovery")?>';
default:
return data;
}
}
},
{
targets: 6,
render: $.fn.dataTable.render.moment('YYYY-MM-DD HH:mm:ss','<?=momentDateTimeJS()?>')
}
];
let order = [[6, "desc"]];
let translate = '/themes/focus2/vendor/datatables/locales/<?=langJS()?>.json';
let button = ["<?=lang("App.global_copy")?>","<?=lang("App.global_print")?>","<?=lang("App.global_excel")?>","<?=lang("App.global_pdf")?>"];
let columns = [{ data: 'name' },{ data: 'level' },{ data: 'event' },{ data: 'ip' },{ data: 'os' },{ data: 'browser' },{ data: 'created_at' }];
loadDataTableAjax('table-grid', '<?=site_url("ajax/getActivities".$all??"")?>', translate, true, true, order, columns,dataFormat, button);
});
</script>

View File

@ -8,17 +8,20 @@
<div class="card-header">
<h3 class="card-title"><?= $boxTitle ?? $pageTitle ?></h3>
</div><!--//.card-header -->
<form id="paisForm" method="post" action="<?= $formAction ?>">
<form id="paisForm" method="post" class="card-body" action="<?= $formAction ?>">
<?= csrf_field() ?>
<div class="card-body">
<?= view("themes/_commonPartialsBs/_alertBoxes") ?>
<?= !empty($validation->getErrors()) ? $validation->listErrors("bootstrap_style") : "" ?>
<?= view("themes/backend/focus2/form/configuracion/paises/_paisFormItems") ?>
</div><!-- /.card-body -->
<div class="card-footer">
<?= anchor(route_to("paisList"), lang("Basic.global.Cancel"), ["class" => "btn btn-secondary float-start"]) ?>
<input type="submit" class="btn btn-primary float-end" name="save" value="<?= lang("Basic.global.Save") ?>">
</div><!-- /.card-footer -->
<div class="pt-4">
<input
type="submit"
class="btn btn-primary float-start me-sm-3 me-1"
name="save"
value="<?= lang("Basic.global.Save") ?>"
/>
<?= anchor(route_to("paisList"), lang("Basic.global.Cancel"), ["class" => "btn btn-secondary float-start"]) ?>
</div><!-- /.card-footer -->
</form>
</div><!-- //.card -->
</div><!--//.col -->

View File

@ -65,8 +65,8 @@
</td>
<td class="align-middle text-center text-nowrap">
<?=anchor(route_to('editPais', $item->id), lang('Basic.global.edit'), ['class'=>'btn btn-sm btn-warning btn-edit me-1', 'data-id'=>$item->id,]); ?>
<?=anchor('#confirm2delete', lang('Basic.global.Delete'), ['class'=>'btn btn-sm btn-danger btn-delete ms-1', 'data-href'=>route_to('deletePais', $item->id), 'data-bs-toggle'=>'modal', 'data-bs-target'=>'#confirm2delete']); ?>
<?=anchor(route_to('editPais', $item->id), "<i class='ti ti-pencil ti-sm mx-2'></i>", ['class'=>'text-body', 'data-id'=>$item->id,]); ?>
<?=anchor('#confirm2delete', "<i class='ti ti-trash ti-sm mx-2'></i>", ['class'=>'text-body', 'data-href'=>route_to('deletePais', $item->id), 'data-bs-toggle'=>'modal', 'data-bs-target'=>'#confirm2delete']); ?>
</td>
</tr>

View File

@ -9,16 +9,19 @@
<div class="card-header">
<h3 class="card-title"><?= $boxTitle ?? $pageTitle ?></h3>
</div><!--//.card-header -->
<form id="papelGenericoForm" method="post" action="<?= $formAction ?>">
<form id="papelGenericoForm" method="post" class="card-body" action="<?= $formAction ?>">
<?= csrf_field() ?>
<div class="card-body">
<?= view("themes/_commonPartialsBs/_alertBoxes") ?>
<?= !empty($validation->getErrors()) ? $validation->listErrors("bootstrap_style") : "" ?>
<?= view("themes/backend/vuexy/form/configuracion/papel/_papelGenericoFormItems") ?>
</div><!-- /.card-body -->
<div class="card-footer">
<?= anchor(route_to("papelGenericoList"), lang("Basic.global.Cancel"), ["class" => "btn btn-secondary float-start"]) ?>
<input type="submit" class="btn btn-primary float-end" name="save" value="<?= lang("Basic.global.Save") ?>">
<?= view("themes/_commonPartialsBs/_alertBoxes") ?>
<?= !empty($validation->getErrors()) ? $validation->listErrors("bootstrap_style") : "" ?>
<?= view("themes/backend/vuexy/form/configuracion/papel/_papelGenericoFormItems") ?>
<div class="pt-4">
<input
type="submit"
class="btn btn-primary float-start me-sm-3 me-1"
name="save"
value="<?= lang("Basic.global.Save") ?>"
/>
<?= anchor(route_to("papelGenericoList"), lang("Basic.global.Cancel"), ["class" => "btn btn-secondary"]) ?>
</div><!-- /.card-footer -->
</form>

View File

@ -9,9 +9,8 @@
<div class="card-header">
<h3 class="card-title"><?= $boxTitle ?? $pageTitle ?></h3>
</div><!--//.card-header -->
<form id="papelImpresionForm" method="post" action="<?= $formAction ?>">
<form id="papelImpresionForm" method="post" class="card-body" action="<?= $formAction ?>">
<?= csrf_field() ?>
<div class="card-body">
<?= view("themes/_commonPartialsBs/_alertBoxes") ?>
<?= !empty($validation->getErrors()) ? $validation->listErrors("bootstrap_style") : "" ?>
<?= view("themes/backend/vuexy/form/configuracion/papel/_papelImpresionFormItems") ?>

View File

@ -1333,7 +1333,7 @@
}
];
let order = [[2, "desc"]];
let translate = '/themes/focus2/vendor/datatables/locales/<?=langJS()?>.json';
let translate = '/themes/vuexy/vendor/datatables/locales/<?=langJS()?>.json';
let button = ["<?=lang("App.global_copy")?>","<?=lang("App.global_print")?>","<?=lang("App.global_excel")?>","<?=lang("App.global_pdf")?>"];
let columns = [{ data: 'routine' },{ data: 'error' },{ data: 'created_at' }];
loadDataTableAjax('table-grid', '<?=site_url('ajax/getCronHistory')?>', translate, true, true, order, columns,dataFormat, button);
@ -1483,5 +1483,4 @@
}
}
}
</script>
<?= $this->endSection() ?>

View File

@ -137,8 +137,8 @@
</label>
<?php $id_select = old('blocked', $user->blocked);?>
<select name="blocked" id="blocked" class="select2 form-control">
<option value="0" <?= $id_select == "0" ? 'selected' : '' ?>><?=lang("User.user_non_blocked")?></option>
<option value="1" <?= $id_select == "1" ? 'selected' : '' ?>><?=lang("User.user_blocked")?></option>
<option value="0" <?= $id_select == "0" ? 'selected' : '' ?>><?=lang("Users.non_blocked")?></option>
<option value="1" <?= $id_select == "1" ? 'selected' : '' ?>><?=lang("Users.blocked")?></option>
</select>
</div>
@ -148,8 +148,8 @@
</label>
<?php $id_select = old('email_confirmed', $user->email_confirmed);?>
<select name="email_confirmed" id="email_confirmed" class="select2 form-control">
<option value="0" <?= $id_select == "0" ? 'selected' : '' ?>><?=lang("User.user_alert_not_confirmed")?></option>
<option value="1" <?= $id_select == "1" ? 'selected' : '' ?>><?=lang("User.user_alert_confirmed")?></option>
<option value="0" <?= $id_select == "0" ? 'selected' : '' ?>><?=lang("Users.email_not_confirmed")?></option>
<option value="1" <?= $id_select == "1" ? 'selected' : '' ?>><?=lang("Users.email_confirmed")?></option>
</select>
</div>
@ -161,14 +161,12 @@
</label>
<?php $id_select = old('status', $user->status);?>
<select name="status" id="status" class="select2 form-control">
<option value="1" <?= $id_select == "1" ? 'selected' : '' ?>><?=lang("User.global_active")?></option>
<option value="0" <?= $id_select == "0" ? 'selected' : '' ?>><?=lang("User.global_inactive")?></option>
<option value="1" <?= $id_select == "1" ? 'selected' : '' ?>><?=lang("Users.global_active")?></option>
<option value="0" <?= $id_select == "0" ? 'selected' : '' ?>><?=lang("Users.global_inactive")?></option>
</select>
</div><!--//.mb-3 -->
</div><!--//.col -->
</div><!-- //.row -->

View File

@ -23,6 +23,7 @@ if (!empty($token) && $tfa == false) {
data-template="vertical-menu-template-no-customizer"
>
<head>
<meta charset="utf-8">
<meta
@ -78,17 +79,18 @@ if (!empty($token) && $tfa == false) {
<link rel="stylesheet" href="<?= site_url('themes/vuexy/vendor/css/rtl/theme-semi-dark.css') ?>"/>
<link rel="stylesheet" href="<?= site_url('themes/vuexy/css/demo.css') ?>"/>
<!-- Vendors CSS -->
<link rel="stylesheet" href="<?= site_url('themes/vuexy/vendor/libs/perfect-scrollbar/perfect-scrollbar.css') ?>"/>
<link rel="stylesheet" href="<?= site_url('themes/vuexy/vendor/libs/select2/select2.css') ?>"/>
<!-- Page CSS -->
<?= $this->renderSection('css') ?>
<!-- Helpers -->
<script src="<?= site_url('themes/vuexy/vendor/js/helpers.js') ?>"></script>
<script src="<?= site_url('themes/vuexy/js/config.js') ?>"></script>
</head>
<body>
@ -97,7 +99,7 @@ if (!empty($token) && $tfa == false) {
<div class="layout-wrapper layout-content-navbar">
<div class="layout-container">
<?php include "menu.php" ?>
<?php include "selector_menu.php" ?>
<!-- Layout container -->
<div class="layout-page">
@ -134,14 +136,64 @@ if (!empty($token) && $tfa == false) {
<i class="ti ti-bell ti-md"></i>
<span class="badge bg-danger rounded-pill badge-notifications">5</span>
</a>
</li>
<!--/ Notification -->
<!-- View Mode links -->
<li class="nav-item dropdown-shortcuts navbar-dropdown dropdown me-2 me-xl-0">
<a
class="nav-link dropdown-toggle hide-arrow"
href="javascript:void(0);"
data-bs-toggle="dropdown"
data-bs-auto-close="outside"
aria-expanded="false"
>
<i class="ti ti-eye ti-md"></i>
</a>
<div class="dropdown-menu dropdown-menu-end py-0">
<div class="dropdown-menu-header border-bottom">
<div class="dropdown-header d-flex align-items-center py-3">
<h5 class="text-body mb-0 me-auto">Vistas</h5>
</div>
</div>
<div class="dropdown-shortcuts-list scrollable-container">
<div class="row row-bordered overflow-visible g-0">
<div class="dropdown-shortcuts-item col">
<span class="dropdown-shortcuts-icon rounded-circle mb-2">
<i class="ti ti-printer fs-4"></i>
</span>
<small class="text-muted mb-0">Vista</small>
<a href="<?= site_url('viewmode/' . config("Basics")->vista_impresion); ?>" class="stretched-link">Impresión</a>
</div>
<div class="dropdown-shortcuts-item col">
<span class="dropdown-shortcuts-icon rounded-circle mb-2">
<i class="ti ti-ruler-2 fs-4"></i>
</span>
<small class="text-muted mb-0">Vista</small>
<a href="<?= site_url('viewmode/' . config("Basics")->vista_maquetacion); ?>" class="stretched-link">Maquetación</a>
</div>
</div>
<div class="row row-bordered overflow-visible g-0">
<div class="dropdown-shortcuts-item col">
<span class="dropdown-shortcuts-icon rounded-circle mb-2">
<i class="ti ti-file-code-2 fs-4"></i>
</span>
<small class="text-muted mb-0">Vista</small>
<a href="<?= site_url('viewmode/' . config("Basics")->vista_digitalizacion); ?>" class="stretched-link">Digitalización</a>
</div>
</div>
</div>
</div>
</li>
<!-- View Mode links -->
<!-- Language -->
<li class="nav-item dropdown-language dropdown me-2 me-xl-0">
<a class="nav-link dropdown-toggle hide-arrow" href="javascript:void(0);" data-bs-toggle="dropdown">
<i class="fi fi-es fis rounded-circle me-1 fs-3"></i>
<a class="nav-link dropdown-toggle hide-arrow" href="javascript:void(0);"
data-bs-toggle="dropdown">
<i class="fi <?= getCurrentLanguageFlag(); ?> fis rounded-circle me-1 fs-3"></i>
</a>
<ul class="dropdown-menu dropdown-menu-end">
<li>
@ -173,7 +225,7 @@ if (!empty($token) && $tfa == false) {
<a class="dropdown-item" href="#">
<div class="d-flex">
<div class="flex-shrink-0 me-3">
<div class="avatar avatar-online">
<div class="avatar avatar">
<img src="<?= $picture ?? '' ?>" alt class="h-auto rounded-circle"/>
</div>
</div>
@ -193,12 +245,12 @@ if (!empty($token) && $tfa == false) {
<span class="align-middle"><?= lang("App.menu_profile") ?></span>
</a>
</li>
<li>
<a class="dropdown-item" href="#">
<i class="ti ti-settings me-2 ti-sm"></i>
<span class="align-middle">Settings</span>
</a>
</li>
<!-- <li>-->
<!-- <a class="dropdown-item" href="#">-->
<!-- <i class="ti ti-settings me-2 ti-sm"></i>-->
<!-- <span class="align-middle">Settings</span>-->
<!-- </a>-->
<!-- </li>-->
<li>
<div class="dropdown-divider"></div>
@ -222,145 +274,9 @@ if (!empty($token) && $tfa == false) {
<!-- Content -->
<div class="container-xxl flex-grow-1 container-p-y">
<h4 class="fw-bold py-3 mb-4">Page 1</h4>
<div class="row">
<!-- Select2 -->
<div class="col-12">
<div class="card mb-4">
<h5 class="card-header">Select2</h5>
<div class="card-body">
<div class="row">
<!-- Basic -->
<div class="col-md-6 mb-4">
<label for="select2Basic" class="form-label">Basic</label>
<select id="select2Basic" class="select2 form-select form-select-lg" data-allow-clear="true">
<option value="AK">Alaska</option>
<option value="HI">Hawaii</option>
<option value="CA">California</option>
<option value="NV">Nevada</option>
<option value="OR">Oregon</option>
<option value="WA">Washington</option>
<option value="AZ">Arizona</option>
<option value="CO">Colorado</option>
<option value="ID">Idaho</option>
<option value="MT">Montana</option>
<option value="NE">Nebraska</option>
<option value="NM">New Mexico</option>
<option value="ND">North Dakota</option>
<option value="UT">Utah</option>
<option value="WY">Wyoming</option>
<option value="AL">Alabama</option>
<option value="AR">Arkansas</option>
<option value="IL">Illinois</option>
<option value="IA">Iowa</option>
<option value="KS">Kansas</option>
<option value="KY">Kentucky</option>
<option value="LA">Louisiana</option>
<option value="MN">Minnesota</option>
<option value="MS">Mississippi</option>
<option value="MO">Missouri</option>
<option value="OK">Oklahoma</option>
<option value="SD">South Dakota</option>
<option value="TX">Texas</option>
<option value="TN">Tennessee</option>
<option value="WI">Wisconsin</option>
<option value="CT">Connecticut</option>
<option value="DE">Delaware</option>
<option value="FL">Florida</option>
<option value="GA">Georgia</option>
<option value="IN">Indiana</option>
<option value="ME">Maine</option>
<option value="MD">Maryland</option>
<option value="MA">Massachusetts</option>
<option value="MI">Michigan</option>
<option value="NH">New Hampshire</option>
<option value="NJ">New Jersey</option>
<option value="NY">New York</option>
<option value="NC">North Carolina</option>
<option value="OH">Ohio</option>
<option value="PA">Pennsylvania</option>
<option value="RI">Rhode Island</option>
<option value="SC">South Carolina</option>
<option value="VT">Vermont</option>
<option value="VA">Virginia</option>
<option value="WV">West Virginia</option>
</select>
</div>
<!-- Multiple -->
<div class="col-md-6 mb-4">
<label for="select2Multiple" class="form-label">Multiple</label>
<select id="select2Multiple" class="select2 form-select" multiple>
<optgroup label="Alaskan/Hawaiian Time Zone">
<option value="AK">Alaska</option>
<option value="HI">Hawaii</option>
</optgroup>
<optgroup label="Pacific Time Zone">
<option value="CA">California</option>
<option value="NV">Nevada</option>
<option value="OR">Oregon</option>
<option value="WA">Washington</option>
</optgroup>
<optgroup label="Mountain Time Zone">
<option value="AZ">Arizona</option>
<option value="CO" selected>Colorado</option>
<option value="ID">Idaho</option>
<option value="MT">Montana</option>
<option value="NE">Nebraska</option>
<option value="NM">New Mexico</option>
<option value="ND">North Dakota</option>
<option value="UT">Utah</option>
<option value="WY">Wyoming</option>
</optgroup>
<optgroup label="Central Time Zone">
<option value="AL">Alabama</option>
<option value="AR">Arkansas</option>
<option value="IL">Illinois</option>
<option value="IA">Iowa</option>
<option value="KS">Kansas</option>
<option value="KY">Kentucky</option>
<option value="LA">Louisiana</option>
<option value="MN">Minnesota</option>
<option value="MS">Mississippi</option>
<option value="MO">Missouri</option>
<option value="OK">Oklahoma</option>
<option value="SD">South Dakota</option>
<option value="TX">Texas</option>
<option value="TN">Tennessee</option>
<option value="WI">Wisconsin</option>
</optgroup>
<optgroup label="Eastern Time Zone">
<option value="CT">Connecticut</option>
<option value="DE">Delaware</option>
<option value="FL" selected>Florida</option>
<option value="GA">Georgia</option>
<option value="IN">Indiana</option>
<option value="ME">Maine</option>
<option value="MD">Maryland</option>
<option value="MA">Massachusetts</option>
<option value="MI">Michigan</option>
<option value="NH">New Hampshire</option>
<option value="NJ">New Jersey</option>
<option value="NY">New York</option>
<option value="NC">North Carolina</option>
<option value="OH">Ohio</option>
<option value="PA">Pennsylvania</option>
<option value="RI">Rhode Island</option>
<option value="SC">South Carolina</option>
<option value="VT">Vermont</option>
<option value="VA">Virginia</option>
<option value="WV">West Virginia</option>
</optgroup>
</select>
</div>
<h4 class="fw-bold py-3 mb-4"><span class="text-muted fw-light">Activities /</span> Access</h4>
</div>
</div>
</div>
</div>
<!-- /Select2 -->
</div>
<?= $this->renderSection('content') ?>
</div>
<!-- / Content -->
@ -392,6 +308,8 @@ if (!empty($token) && $tfa == false) {
</div>
<!-- / Layout wrapper -->
<?= $this->renderSection('footerAdditions') ?>
<!-- Core JS -->
<!-- build:js assets/vendor/js/core.js -->
<script src="<?= site_url('themes/vuexy/vendor/libs/jquery/jquery.js') ?>"></script>
@ -403,34 +321,22 @@ if (!empty($token) && $tfa == false) {
<!-- endbuild -->
<!-- Vendors JS -->
<script src="<?= site_url('themes/vuexy/vendor/libs/select2/select2.js') ?>"></script>
<?= $this->renderSection('additionalExternalJs') ?>
<!-- Main JS -->
<script src="<?= site_url('themes/vuexy/js/main.js') ?>"></script>
<!-- Page JS -->
<script>
'use strict';
<script src="<?= site_url('assets/js/main.js') ?>"></script>
<?= sweetAlert() ?>
$(function () {
const select2 = $('.select2');
// Select2
// --------------------------------------------------------------------
if (select2.length) {
select2.each(function () {
var $this = $(this);
$this.wrap('<div class="position-relative"></div>').select2({
placeholder: 'Select value',
dropdownParent: $this.parent()
});
});
}
});
<script type="text/javascript">
<?= $this->renderSection('additionalInlineJs') ?>
</script>
</body>
</html>

View File

@ -96,7 +96,7 @@ if (!empty($token) && $tfa == false) {
<div class="layout-wrapper layout-content-navbar">
<div class="layout-container">
<?php include "menu.php" ?>
<?php include "selector_menu.php" ?>
<!-- Layout container -->
<div class="layout-page">
@ -153,7 +153,8 @@ if (!empty($token) && $tfa == false) {
<div class="d-flex">
<div class="flex-shrink-0 me-3">
<div class="avatar">
<img src="../../assets/img/avatars/1.png" alt class="h-auto rounded-circle" />
<img src="../../assets/img/avatars/1.png" alt
class="h-auto rounded-circle"/>
</div>
</div>
<div class="flex-grow-1">
@ -197,7 +198,8 @@ if (!empty($token) && $tfa == false) {
<div class="d-flex">
<div class="flex-shrink-0 me-3">
<div class="avatar">
<img src="../../assets/img/avatars/2.png" alt class="h-auto rounded-circle" />
<img src="../../assets/img/avatars/2.png" alt
class="h-auto rounded-circle"/>
</div>
</div>
<div class="flex-grow-1">
@ -243,7 +245,8 @@ if (!empty($token) && $tfa == false) {
<div class="d-flex">
<div class="flex-shrink-0 me-3">
<div class="avatar">
<img src="../../assets/img/avatars/9.png" alt class="h-auto rounded-circle" />
<img src="../../assets/img/avatars/9.png" alt
class="h-auto rounded-circle"/>
</div>
</div>
<div class="flex-grow-1">
@ -289,7 +292,8 @@ if (!empty($token) && $tfa == false) {
<div class="d-flex">
<div class="flex-shrink-0 me-3">
<div class="avatar">
<img src="../../assets/img/avatars/5.png" alt class="h-auto rounded-circle" />
<img src="../../assets/img/avatars/5.png" alt
class="h-auto rounded-circle"/>
</div>
</div>
<div class="flex-grow-1">
@ -311,7 +315,8 @@ if (!empty($token) && $tfa == false) {
<div class="d-flex">
<div class="flex-shrink-0 me-3">
<div class="avatar">
<img src="../../assets/img/avatars/6.png" alt class="h-auto rounded-circle" />
<img src="../../assets/img/avatars/6.png" alt
class="h-auto rounded-circle"/>
</div>
</div>
<div class="flex-grow-1">
@ -367,9 +372,60 @@ if (!empty($token) && $tfa == false) {
</li>
<!--/ Notification -->
<!-- View Mode links -->
<li class="nav-item dropdown-shortcuts navbar-dropdown dropdown me-2 me-xl-0">
<a
class="nav-link dropdown-toggle hide-arrow"
href="javascript:void(0);"
data-bs-toggle="dropdown"
data-bs-auto-close="outside"
aria-expanded="false"
>
<i class="ti ti-eye ti-md"></i>
</a>
<div class="dropdown-menu dropdown-menu-end py-0">
<div class="dropdown-menu-header border-bottom">
<div class="dropdown-header d-flex align-items-center py-3">
<h5 class="text-body mb-0 me-auto">Vistas</h5>
</div>
</div>
<div class="dropdown-shortcuts-list scrollable-container">
<div class="row row-bordered overflow-visible g-0">
<div class="dropdown-shortcuts-item col">
<span class="dropdown-shortcuts-icon rounded-circle mb-2">
<i class="ti ti-printer fs-4"></i>
</span>
<small class="text-muted mb-0">Vista</small>
<a href="<?= site_url('viewmode/' . config("Basics")->vista_impresion); ?>" class="stretched-link">Impresión</a>
</div>
<div class="dropdown-shortcuts-item col">
<span class="dropdown-shortcuts-icon rounded-circle mb-2">
<i class="ti ti-ruler-2 fs-4"></i>
</span>
<small class="text-muted mb-0">Vista</small>
<a href="<?= site_url('viewmode/' . config("Basics")->vista_maquetacion); ?>" class="stretched-link">Maquetación</a>
</div>
</div>
<div class="row row-bordered overflow-visible g-0">
<div class="dropdown-shortcuts-item col">
<span class="dropdown-shortcuts-icon rounded-circle mb-2">
<i class="ti ti-file-code-2 fs-4"></i>
</span>
<small class="text-muted mb-0">Vista</small>
<a href="<?= site_url('viewmode/' . config("Basics")->vista_digitalizacion); ?>" class="stretched-link">Digitalización</a>
</div>
</div>
</div>
</div>
</li>
<!-- View Mode links -->
<!-- Language -->
<li class="nav-item dropdown-language dropdown me-2 me-xl-0">
<a class="nav-link dropdown-toggle hide-arrow" href="javascript:void(0);" data-bs-toggle="dropdown">
<a class="nav-link dropdown-toggle hide-arrow" href="javascript:void(0);"
data-bs-toggle="dropdown">
<i class="fi <?= getCurrentLanguageFlag(); ?> fis rounded-circle me-1 fs-3"></i>
</a>
<ul class="dropdown-menu dropdown-menu-end">
@ -422,12 +478,12 @@ if (!empty($token) && $tfa == false) {
<span class="align-middle"><?= lang("App.menu_profile") ?></span>
</a>
</li>
<!-- <li>-->
<!-- <a class="dropdown-item" href="#">-->
<!-- <i class="ti ti-settings me-2 ti-sm"></i>-->
<!-- <span class="align-middle">Settings</span>-->
<!-- </a>-->
<!-- </li>-->
<!-- <li>-->
<!-- <a class="dropdown-item" href="#">-->
<!-- <i class="ti ti-settings me-2 ti-sm"></i>-->
<!-- <span class="align-middle">Settings</span>-->
<!-- </a>-->
<!-- </li>-->
<li>
<div class="dropdown-divider"></div>

View File

@ -1,594 +0,0 @@
<?php
$session = session();
$token = $session->get('token') ?? '';
$tfa = $session->get('tfa') ?? false;
$settings = $session->get('settings');
$picture = session()->get('picture');
$pulse = session()->get('pulse');
$notification = session()->get('notification');
if (!empty($token) && $tfa == false) {
//echo "<script>window.location.href = '/'; </script>";
}
?>
<!DOCTYPE html>
<html
lang="<?= $session->get('lang') ?>"
class="h-100"
class="semi-dark-style customizer-hide"
dir="ltr"
data-theme="theme-default"
data-assets-path="<?= site_url('themes/vuexy/') ?>"
data-template="vertical-menu-template-no-customizer"
>
<head>
<meta charset="utf-8">
<meta
name="viewport"
content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0"
/>
<title><?= lang("App.dashboard_title") ?> - <?= $settings['title'] ?? '' ?></title>
<meta name="description" content=""/>
<!-- Favicon -->
<link rel="icon" type="image/x-icon" href="<?= site_url('themes/vuexy/img/favicon/favicon.ico') ?>"/>
<link rel="apple-touch-icon" sizes="57x57" href="<?= site_url('themes/vuexy/img/favicon/apple-icon-57x57.png') ?>">
<link rel="apple-touch-icon" sizes="60x60" href="<?= site_url('themes/vuexy/img/favicon/apple-icon-60x60.png') ?>">
<link rel="apple-touch-icon" sizes="72x72" href="<?= site_url('themes/vuexy/img/favicon/apple-icon-72x72.png') ?>">
<link rel="apple-touch-icon" sizes="76x76" href="<?= site_url('themes/vuexy/img/favicon/apple-icon-76x76.png') ?>">
<link rel="apple-touch-icon" sizes="114x114"
href="<?= site_url('themes/vuexy/img/favicon/apple-icon-114x114.png') ?>">
<link rel="apple-touch-icon" sizes="120x120"
href="<?= site_url('themes/vuexy/img/favicon/apple-icon-120x120.png') ?>">
<link rel="apple-touch-icon" sizes="144x144"
href="<?= site_url('themes/vuexy/img/favicon/apple-icon-144x144.png') ?>">
<link rel="apple-touch-icon" sizes="152x152"
href="<?= site_url('themes/vuexy/img/favicon/apple-icon-152x152.png') ?>">
<link rel="apple-touch-icon" sizes="180x180"
href="<?= site_url('themes/vuexy/img/favicon/apple-icon-180x180.png') ?>">
<link rel="icon" type="image/png" sizes="192x192"
href="<?= site_url('themes/vuexy/img/favicon/android-icon-192x192.png') ?>">
<link rel="icon" type="image/png" sizes="32x32"
href="<?= site_url('themes/vuexy/img/favicon/favicon-32x32.png') ?>">
<link rel="icon" type="image/png" sizes="96x96"
href="<?= site_url('themes/vuexy/img/favicon/favicon-96x96.png') ?>">
<link rel="icon" type="image/png" sizes="16x16"
href="<?= site_url('themes/vuexy/img/favicon/favicon-16x16.png') ?>">
<link rel="manifest" href="<?= site_url('themes/vuexy/img/favicon/manifest.json') ?>">
<!-- Fonts -->
<link rel="preconnect" href="https:/fonts.googleapis.com"/>
<link rel="preconnect" href="https:/fonts.gstatic.com" crossorigin/>
<link
href="https://fonts.googleapis.com/css2?family=Public+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&display=swap"
rel="stylesheet"
/>
<!-- Icons -->
<link rel="stylesheet" href="<?= site_url('themes/vuexy/vendor/fonts/fontawesome.css') ?>"/>
<link rel="stylesheet" href="<?= site_url('themes/vuexy/vendor/fonts/tabler-icons.css') ?>"/>
<link rel="stylesheet" href="<?= site_url('themes/vuexy/vendor/fonts/flag-icons.css') ?>"/>
<!-- Core CSS -->
<link rel="stylesheet" href="<?= site_url('themes/vuexy/vendor/css/rtl/core.css') ?>"/>
<link rel="stylesheet" href="<?= site_url('themes/vuexy/vendor/css/rtl/theme-semi-dark.css') ?>"/>
<link rel="stylesheet" href="<?= site_url('themes/vuexy/css/demo.css') ?>"/>
<!-- Vendors CSS -->
<link rel="stylesheet" href="<?= site_url('themes/vuexy/vendor/libs/perfect-scrollbar/perfect-scrollbar.css') ?>"/>
<link rel="stylesheet" href="<?= site_url('themes/vuexy/vendor/libs/node-waves/node-waves.css') ?>"/>
<!-- Page CSS -->
<?= $this->renderSection('css') ?>
<!-- Helpers -->
<script src="<?= site_url('themes/vuexy/vendor/js/helpers.js') ?>"></script>
<script src="<?= site_url('themes/vuexy/js/config.js') ?>"></script>
</head>
<body>
<!-- Layout wrapper -->
<div class="layout-wrapper layout-content-navbar">
<div class="layout-container">
<?php include "menu.php" ?>
<!-- Layout container -->
<div class="layout-page">
<!-- Navbar -->
<nav
class="layout-navbar container-xxl navbar navbar-expand-xl navbar-detached align-items-center bg-navbar-theme"
id="layout-navbar"
>
<div class="layout-menu-toggle navbar-nav align-items-xl-center me-3 me-xl-0 d-xl-none">
<a class="nav-item nav-link px-0 me-xl-4" href="javascript:void(0)">
<i class="ti ti-menu-2 ti-sm"></i>
</a>
</div>
<div class="navbar-nav-right d-flex align-items-center" id="navbar-collapse">
<div class="navbar-nav align-items-center">
<a class="nav-link style-switcher-toggle hide-arrow" href="javascript:void(0);">
<i class="ti ti-sm"></i>
</a>
</div>
<ul class="navbar-nav flex-row align-items-center ms-auto">
<!-- Notification -->
<li class="nav-item dropdown-notifications navbar-dropdown dropdown me-3 me-xl-1">
<a
class="nav-link dropdown-toggle hide-arrow"
href="javascript:void(0);"
data-bs-toggle="dropdown"
data-bs-auto-close="outside"
aria-expanded="false"
>
<i class="ti ti-bell ti-md"></i>
<span class="badge bg-danger rounded-pill badge-notifications">5</span>
</a>
<ul class="dropdown-menu dropdown-menu-end py-0">
<li class="dropdown-menu-header border-bottom">
<div class="dropdown-header d-flex align-items-center py-3">
<h5 class="text-body mb-0 me-auto">Notification</h5>
<a
href="javascript:void(0)"
class="dropdown-notifications-all text-body"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Mark all as read"
><i class="ti ti-mail-opened fs-4"></i
></a>
</div>
</li>
<li class="dropdown-notifications-list scrollable-container">
<ul class="list-group list-group-flush">
<li class="list-group-item list-group-item-action dropdown-notifications-item">
<div class="d-flex">
<div class="flex-shrink-0 me-3">
<div class="avatar">
<img src="../../assets/img/avatars/1.png" alt
class="h-auto rounded-circle"/>
</div>
</div>
<div class="flex-grow-1">
<h6 class="mb-1">Congratulation Lettie 🎉</h6>
<p class="mb-0">Won the monthly best seller gold badge</p>
<small class="text-muted">1h ago</small>
</div>
<div class="flex-shrink-0 dropdown-notifications-actions">
<a href="javascript:void(0)" class="dropdown-notifications-read"
><span class="badge badge-dot"></span
></a>
<a href="javascript:void(0)" class="dropdown-notifications-archive"
><span class="ti ti-x"></span
></a>
</div>
</div>
</li>
<li class="list-group-item list-group-item-action dropdown-notifications-item">
<div class="d-flex">
<div class="flex-shrink-0 me-3">
<div class="avatar">
<span class="avatar-initial rounded-circle bg-label-danger">CF</span>
</div>
</div>
<div class="flex-grow-1">
<h6 class="mb-1">Charles Franklin</h6>
<p class="mb-0">Accepted your connection</p>
<small class="text-muted">12hr ago</small>
</div>
<div class="flex-shrink-0 dropdown-notifications-actions">
<a href="javascript:void(0)" class="dropdown-notifications-read"
><span class="badge badge-dot"></span
></a>
<a href="javascript:void(0)" class="dropdown-notifications-archive"
><span class="ti ti-x"></span
></a>
</div>
</div>
</li>
<li class="list-group-item list-group-item-action dropdown-notifications-item marked-as-read">
<div class="d-flex">
<div class="flex-shrink-0 me-3">
<div class="avatar">
<img src="../../assets/img/avatars/2.png" alt
class="h-auto rounded-circle"/>
</div>
</div>
<div class="flex-grow-1">
<h6 class="mb-1">New Message ✉️</h6>
<p class="mb-0">You have new message from Natalie</p>
<small class="text-muted">1h ago</small>
</div>
<div class="flex-shrink-0 dropdown-notifications-actions">
<a href="javascript:void(0)" class="dropdown-notifications-read"
><span class="badge badge-dot"></span
></a>
<a href="javascript:void(0)" class="dropdown-notifications-archive"
><span class="ti ti-x"></span
></a>
</div>
</div>
</li>
<li class="list-group-item list-group-item-action dropdown-notifications-item">
<div class="d-flex">
<div class="flex-shrink-0 me-3">
<div class="avatar">
<span class="avatar-initial rounded-circle bg-label-success"
><i class="ti ti-shopping-cart"></i
></span>
</div>
</div>
<div class="flex-grow-1">
<h6 class="mb-1">Whoo! You have new order 🛒</h6>
<p class="mb-0">ACME Inc. made new order $1,154</p>
<small class="text-muted">1 day ago</small>
</div>
<div class="flex-shrink-0 dropdown-notifications-actions">
<a href="javascript:void(0)" class="dropdown-notifications-read"
><span class="badge badge-dot"></span
></a>
<a href="javascript:void(0)" class="dropdown-notifications-archive"
><span class="ti ti-x"></span
></a>
</div>
</div>
</li>
<li class="list-group-item list-group-item-action dropdown-notifications-item marked-as-read">
<div class="d-flex">
<div class="flex-shrink-0 me-3">
<div class="avatar">
<img src="../../assets/img/avatars/9.png" alt
class="h-auto rounded-circle"/>
</div>
</div>
<div class="flex-grow-1">
<h6 class="mb-1">Application has been approved 🚀</h6>
<p class="mb-0">Your ABC project application has been approved.</p>
<small class="text-muted">2 days ago</small>
</div>
<div class="flex-shrink-0 dropdown-notifications-actions">
<a href="javascript:void(0)" class="dropdown-notifications-read"
><span class="badge badge-dot"></span
></a>
<a href="javascript:void(0)" class="dropdown-notifications-archive"
><span class="ti ti-x"></span
></a>
</div>
</div>
</li>
<li class="list-group-item list-group-item-action dropdown-notifications-item marked-as-read">
<div class="d-flex">
<div class="flex-shrink-0 me-3">
<div class="avatar">
<span class="avatar-initial rounded-circle bg-label-success"
><i class="ti ti-chart-pie"></i
></span>
</div>
</div>
<div class="flex-grow-1">
<h6 class="mb-1">Monthly report is generated</h6>
<p class="mb-0">July monthly financial report is generated</p>
<small class="text-muted">3 days ago</small>
</div>
<div class="flex-shrink-0 dropdown-notifications-actions">
<a href="javascript:void(0)" class="dropdown-notifications-read"
><span class="badge badge-dot"></span
></a>
<a href="javascript:void(0)" class="dropdown-notifications-archive"
><span class="ti ti-x"></span
></a>
</div>
</div>
</li>
<li class="list-group-item list-group-item-action dropdown-notifications-item marked-as-read">
<div class="d-flex">
<div class="flex-shrink-0 me-3">
<div class="avatar">
<img src="../../assets/img/avatars/5.png" alt
class="h-auto rounded-circle"/>
</div>
</div>
<div class="flex-grow-1">
<h6 class="mb-1">Send connection request</h6>
<p class="mb-0">Peter sent you connection request</p>
<small class="text-muted">4 days ago</small>
</div>
<div class="flex-shrink-0 dropdown-notifications-actions">
<a href="javascript:void(0)" class="dropdown-notifications-read"
><span class="badge badge-dot"></span
></a>
<a href="javascript:void(0)" class="dropdown-notifications-archive"
><span class="ti ti-x"></span
></a>
</div>
</div>
</li>
<li class="list-group-item list-group-item-action dropdown-notifications-item">
<div class="d-flex">
<div class="flex-shrink-0 me-3">
<div class="avatar">
<img src="../../assets/img/avatars/6.png" alt
class="h-auto rounded-circle"/>
</div>
</div>
<div class="flex-grow-1">
<h6 class="mb-1">New message from Jane</h6>
<p class="mb-0">Your have new message from Jane</p>
<small class="text-muted">5 days ago</small>
</div>
<div class="flex-shrink-0 dropdown-notifications-actions">
<a href="javascript:void(0)" class="dropdown-notifications-read"
><span class="badge badge-dot"></span
></a>
<a href="javascript:void(0)" class="dropdown-notifications-archive"
><span class="ti ti-x"></span
></a>
</div>
</div>
</li>
<li class="list-group-item list-group-item-action dropdown-notifications-item marked-as-read">
<div class="d-flex">
<div class="flex-shrink-0 me-3">
<div class="avatar">
<span class="avatar-initial rounded-circle bg-label-warning"
><i class="ti ti-alert-triangle"></i
></span>
</div>
</div>
<div class="flex-grow-1">
<h6 class="mb-1">CPU is running high</h6>
<p class="mb-0">CPU Utilization Percent is currently at 88.63%,</p>
<small class="text-muted">5 days ago</small>
</div>
<div class="flex-shrink-0 dropdown-notifications-actions">
<a href="javascript:void(0)" class="dropdown-notifications-read"
><span class="badge badge-dot"></span
></a>
<a href="javascript:void(0)" class="dropdown-notifications-archive"
><span class="ti ti-x"></span
></a>
</div>
</div>
</li>
</ul>
</li>
<li class="dropdown-menu-footer border-top">
<a
href="javascript:void(0);"
class="dropdown-item d-flex justify-content-center text-primary p-2 h-px-40 mb-1 align-items-center"
>
View all notifications
</a>
</li>
</ul>
</li>
<!--/ Notification -->
<!-- Language -->
<li class="nav-item dropdown-language dropdown me-2 me-xl-0">
<a class="nav-link dropdown-toggle hide-arrow" href="javascript:void(0);"
data-bs-toggle="dropdown">
<i class="fi fi-es fis rounded-circle me-1 fs-3"></i>
</a>
<ul class="dropdown-menu dropdown-menu-end">
<li>
<a class="dropdown-item" href="<?= site_url('lang/es'); ?>" data-language="es">
<i class="fi fi-es fis rounded-circle me-1 fs-3"></i>
<span class="align-middle"><?= lang("App.lang_es") ?></span>
</a>
</li>
<li>
<a class="dropdown-item" href="<?= site_url('lang/en'); ?>" data-language="en">
<i class="fi fi-gb fis rounded-circle me-1 fs-3"></i>
<span class="align-middle"><?= lang("App.lang_en") ?></span>
</a>
</li>
</ul>
</li>
<!--/ Language -->
<!-- User -->
<li class="nav-item navbar-dropdown dropdown-user dropdown">
<a class="nav-link dropdown-toggle hide-arrow" href="javascript:void(0);"
data-bs-toggle="dropdown">
<div class="avatar">
<img src="<?= $picture ?? '' ?>" alt class="h-auto rounded-circle"/>
</div>
</a>
<ul class="dropdown-menu dropdown-menu-end">
<li>
<a class="dropdown-item" href="#">
<div class="d-flex">
<div class="flex-shrink-0 me-3">
<div class="avatar avatar-online">
<img src="<?= $picture ?? '' ?>" alt class="h-auto rounded-circle"/>
</div>
</div>
<div class="flex-grow-1">
<span class="fw-semibold d-block"><?= $session->get('first_name') . ' ' . $session->get('first_name') ?></span>
<small class="text-muted">Admin</small>
</div>
</div>
</a>
</li>
<li>
<div class="dropdown-divider"></div>
</li>
<li>
<a class="dropdown-item" href="<?= site_url('profile'); ?>">
<i class="ti ti-user-check me-2 ti-sm"></i>
<span class="align-middle"><?= lang("App.menu_profile") ?></span>
</a>
</li>
<li>
<a class="dropdown-item" href="#">
<i class="ti ti-settings me-2 ti-sm"></i>
<span class="align-middle">Settings</span>
</a>
</li>
<li>
<div class="dropdown-divider"></div>
</li>
<li>
<a class="dropdown-item" href="<?= site_url("login/logout") ?>">
<i class="ti ti-logout me-2 ti-sm"></i>
<span class="align-middle"><?= lang("App.menu_logout") ?></span>
</a>
</li>
</ul>
</li>
<!--/ User -->
</ul>
</div>
</nav>
<!-- / Navbar -->
<!-- Content wrapper -->
<div class="content-wrapper">
<!-- Content -->
<div class="container-xxl flex-grow-1 container-p-y">
<h4 class="fw-bold py-3 mb-4">Page 1</h4>
<?= $this->renderSection('content') ?>
</div>
<!-- / Content -->
<!-- Footer -->
<footer class="content-footer footer bg-footer-theme">
<div class="container-xxl">
<div class="footer-container d-flex align-items-center justify-content-between py-2 flex-md-row flex-column">
<div>
<a href="#" target="_blank" class="fw-semibold">Safekat</a> © <?= date('Y'); ?>
</div>
</div>
</div>
</footer>
<!-- / Footer -->
<div class="content-backdrop fade"></div>
</div>
<!-- Content wrapper -->
</div>
<!-- / Layout page -->
</div>
<!-- Overlay -->
<div class="layout-overlay layout-menu-toggle"></div>
<!-- Drag Target Area To SlideIn Menu On Small Screens -->
<div class="drag-target"></div>
</div>
<!-- / Layout wrapper -->
<?= $this->renderSection('footerAdditions') ?>
<!-- Core JS -->
<!-- build:js assets/vendor/js/core.js -->
<script src="<?= site_url('themes/vuexy/vendor/libs/jquery/jquery.js') ?>"></script>
<script src="<?= site_url('themes/vuexy/vendor/libs/popper/popper.js') ?>"></script>
<script src="<?= site_url('themes/vuexy/vendor/js/bootstrap.js') ?>"></script>
<script src="<?= site_url('themes/vuexy/vendor/libs/perfect-scrollbar/perfect-scrollbar.js') ?>"></script>
<script src="<?= site_url('themes/vuexy/vendor/libs/node-waves/node-waves.js') ?>"></script>
<script src="<?= site_url('themes/vuexy/vendor/libs/hammer/hammer.js') ?>"></script>
<script src="<?= site_url('themes/vuexy/vendor/js/menu.js') ?>"></script>
<!-- endbuild -->
<!-- Vendors JS -->
<?php /*
<script src="<?= site_url("themes/vuexy/vendor/global/global.min.js") ?>"></script>
<script src="<?= site_url("themes/vuexy/js/quixnav-init.js") ?>"></script>
<script src="<?= site_url("themes/vuexy/js/custom.min.js") ?>"></script>
*/
?>
<?= $this->renderSection('additionalExternalJs') ?>
<!-- Custom -->
<script src="<?= site_url("assets/js/main.js") ?>"></script>
<script>
"use strict";
</script>
<?= sweetAlert() ?>
<script type="text/javascript">
var theTable;
var <?=csrf_token() ?? 'token'?>v = '<?= csrf_hash() ?>';
function yeniden(andac = null) {
if (andac == null) {
andac = <?= csrf_token() ?>v;
} else {
<?= csrf_token() ?>v = andac;
}
$('input[name="<?= csrf_token() ?>"]').val(andac);
$('meta[name="<?= config('Security')->tokenName ?>"]').attr('content', andac)
$.ajaxSetup({
headers: {'<?= config('Security')->headerName ?>': andac, 'X-Requested-With': 'XMLHttpRequest'},
<?=csrf_token()?>: andac
});
}
document.addEventListener('DOMContentLoaded', function () {
function adjustSidebar4ContentWrapper() {
if ($('#sidebar').hasClass('d-none') && $(window).width() <= 768) {
$('#contentWrapper').addClass('full-width');
} else {
if (!$('#sidebar').hasClass('inactive')) {
$('#contentWrapper').removeClass('full-width');
}
}
}
adjustSidebar4ContentWrapper();
$('#sidebarCollapse').on('click', function () {
if ($('#sidebar').hasClass('d-none') && $(window).width() <= 768) {
$('#sidebar').removeClass('d-none d-sm-none d-md-block');
$('#contentWrapper').removeClass('full-width');
} else {
$('#sidebar').toggleClass('inactive');
$('#contentWrapper').toggleClass('full-width');
$('.collapse.in').toggleClass('in');
$('a[aria-expanded=true]').attr('aria-expanded', 'false');
}
});
$(window).resize(function () {
adjustSidebar4ContentWrapper();
});
<?= $this->renderSection('additionalInlineJs') ?>
});
</script>
</body>
</html>

View File

@ -99,7 +99,7 @@ if (!empty($token) && $tfa == false) {
<div class="layout-wrapper layout-content-navbar">
<div class="layout-container">
<?php include "menu.php" ?>
<?php include "selector_menu.php" ?>
<!-- Layout container -->
<div class="layout-page">
@ -139,6 +139,56 @@ if (!empty($token) && $tfa == false) {
</li>
<!--/ Notification -->
<!-- View Mode links -->
<li class="nav-item dropdown-shortcuts navbar-dropdown dropdown me-2 me-xl-0">
<a
class="nav-link dropdown-toggle hide-arrow"
href="javascript:void(0);"
data-bs-toggle="dropdown"
data-bs-auto-close="outside"
aria-expanded="false"
>
<i class="ti ti-eye ti-md"></i>
</a>
<div class="dropdown-menu dropdown-menu-end py-0">
<div class="dropdown-menu-header border-bottom">
<div class="dropdown-header d-flex align-items-center py-3">
<h5 class="text-body mb-0 me-auto">Vistas</h5>
</div>
</div>
<div class="dropdown-shortcuts-list scrollable-container">
<div class="row row-bordered overflow-visible g-0">
<div class="dropdown-shortcuts-item col">
<span class="dropdown-shortcuts-icon rounded-circle mb-2">
<i class="ti ti-printer fs-4"></i>
</span>
<small class="text-muted mb-0">Vista</small>
<a href="<?= site_url('viewmode/' . config("Basics")->vista_impresion); ?>" class="stretched-link">Impresión</a>
</div>
<div class="dropdown-shortcuts-item col">
<span class="dropdown-shortcuts-icon rounded-circle mb-2">
<i class="ti ti-ruler-2 fs-4"></i>
</span>
<small class="text-muted mb-0">Vista</small>
<a href="<?= site_url('viewmode/' . config("Basics")->vista_maquetacion); ?>" class="stretched-link">Maquetación</a>
</div>
</div>
<div class="row row-bordered overflow-visible g-0">
<div class="dropdown-shortcuts-item col">
<span class="dropdown-shortcuts-icon rounded-circle mb-2">
<i class="ti ti-file-code-2 fs-4"></i>
</span>
<small class="text-muted mb-0">Vista</small>
<a href="<?= site_url('viewmode/' . config("Basics")->vista_digitalizacion); ?>" class="stretched-link">Digitalización</a>
</div>
</div>
</div>
</div>
</li>
<!-- View Mode links -->
<!-- Language -->
<li class="nav-item dropdown-language dropdown me-2 me-xl-0">
<a class="nav-link dropdown-toggle hide-arrow" href="javascript:void(0);"

View File

@ -99,7 +99,7 @@ if (!empty($token) && $tfa == false) {
<div class="layout-wrapper layout-content-navbar">
<div class="layout-container">
<?php include "menu.php" ?>
<?php include "selector_menu.php" ?>
<!-- Layout container -->
<div class="layout-page">
@ -139,6 +139,56 @@ if (!empty($token) && $tfa == false) {
</li>
<!--/ Notification -->
<!-- View Mode links -->
<li class="nav-item dropdown-shortcuts navbar-dropdown dropdown me-2 me-xl-0">
<a
class="nav-link dropdown-toggle hide-arrow"
href="javascript:void(0);"
data-bs-toggle="dropdown"
data-bs-auto-close="outside"
aria-expanded="false"
>
<i class="ti ti-eye ti-md"></i>
</a>
<div class="dropdown-menu dropdown-menu-end py-0">
<div class="dropdown-menu-header border-bottom">
<div class="dropdown-header d-flex align-items-center py-3">
<h5 class="text-body mb-0 me-auto">Vistas</h5>
</div>
</div>
<div class="dropdown-shortcuts-list scrollable-container">
<div class="row row-bordered overflow-visible g-0">
<div class="dropdown-shortcuts-item col">
<span class="dropdown-shortcuts-icon rounded-circle mb-2">
<i class="ti ti-printer fs-4"></i>
</span>
<small class="text-muted mb-0">Vista</small>
<a href="<?= site_url('viewmode/' . config("Basics")->vista_impresion); ?>" class="stretched-link">Impresión</a>
</div>
<div class="dropdown-shortcuts-item col">
<span class="dropdown-shortcuts-icon rounded-circle mb-2">
<i class="ti ti-ruler-2 fs-4"></i>
</span>
<small class="text-muted mb-0">Vista</small>
<a href="<?= site_url('viewmode/' . config("Basics")->vista_maquetacion); ?>" class="stretched-link">Maquetación</a>
</div>
</div>
<div class="row row-bordered overflow-visible g-0">
<div class="dropdown-shortcuts-item col">
<span class="dropdown-shortcuts-icon rounded-circle mb-2">
<i class="ti ti-file-code-2 fs-4"></i>
</span>
<small class="text-muted mb-0">Vista</small>
<a href="<?= site_url('viewmode/' . config("Basics")->vista_digitalizacion); ?>" class="stretched-link">Digitalización</a>
</div>
</div>
</div>
</div>
</li>
<!-- View Mode links -->
<!-- Language -->
<li class="nav-item dropdown-language dropdown me-2 me-xl-0">
<a class="nav-link dropdown-toggle hide-arrow" href="javascript:void(0);"

View File

@ -185,5 +185,5 @@ if (!empty($token) && $tfa == false) {
</nav>
</div>
</div>
<?php include "menu.php" ?>
<?php include "selector_menu.php" ?>

View File

@ -0,0 +1,373 @@
<?php $menus = getMenuControl(); ?>
<!-- Menu -->
<aside id="layout-menu" class="layout-menu menu-vertical menu bg-menu-theme">
<div class="app-brand">
<a href="<?= site_url('home') ?>" class="app-brand-link">
<span class="app-brand-logo">
<img src="<?= site_url('themes/vuexy/img/branding/logo.png') ?>" width="150px">
</span>
</a>
<a href="javascript:void(0);" class="layout-menu-toggle menu-link text-large ms-auto">
<i class="ti menu-toggle-icon d-none d-xl-block ti-sm align-middle"></i>
<i class="ti ti-x d-block d-xl-none ti-sm align-middle"></i>
</a>
</div>
<div class="menu-inner-shadow"></div>
<ul class="menu-inner py-1">
<li class="menu-item active">
<a href="<?= site_url("") ?>" class="menu-link">
<i class="menu-icon tf-icons ti ti-dashboard"></i>
<div data-i18n="<?= lang("App.menu_dashboard") ?>"><?= lang("App.menu_dashboard") ?></div>
</a>
</li>
<?php
/**
* MENU CLIENTES
*/
if (allowMenuSection($menus, ['Cliente', 'Tarifacliente'], 'index')):
?>
<!-- Clientes -->
<li class="menu-item">
<a href="javascript:void(0);" class="menu-link menu-toggle">
<i class="menu-icon tf-icons ti ti-users"></i>
<div data-i18n="<?= lang("App.menu_clientes") ?>"><?= lang("App.menu_clientes") ?></div>
</a>
<ul class="menu-sub">
<?php if (count($temp = getArrayItem($menus, 'name', 'Cliente')) > 0): ?>
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("clientes/cliente") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_clientes") ?>"><?= lang("App.menu_clientes") ?></div>
</a>
</li>
<?php endif; ?>
<?php endif; ?>
<?php if (count($temp = getArrayItem($menus, 'name', 'Tarifacliente')) > 0): ?>
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("clientes/tarifacliente") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_tarifacliente") ?>"><?= lang("App.menu_tarifacliente") ?></div>
</a>
</li>
<?php endif; ?>
<?php endif; ?>
</ul>
</li>
<?php endif; ?>
<?php
/**
* MENU PRESUPUESTOS
*/
if (allowMenuSection($menus, ['Presupuesto'], 'index')): ?>
<!-- Budgets -->
<li class="menu-item">
<a href="javascript:void(0);" class="menu-link menu-toggle">
<i class="menu-icon tf-icons ti ti-currency-dollar"></i>
<div data-i18n="<?= lang("App.menu_presupuestos") ?>"><?= lang("App.menu_presupuestos") ?></div>
</a>
<ul class="menu-sub">
<?php if (count($temp = getArrayItem($menus, 'name', 'Presupuesto')) > 0): ?>
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("presupuestos/presupuesto") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_presupuesto") ?>"><?= lang("App.menu_presupuesto") ?></div>
</a>
</li>
<?php endif; ?>
<?php endif; ?>
</ul>
</li>
<?php endif; ?>
<?php
/**
* MENU PEDIDOS
*/
if (allowMenuSection($menus, ['Pedido'], 'index')): ?>
<!-- Orders -->
<li class="menu-item">
<a href="javascript:void(0);" class="menu-link menu-toggle">
<i class="menu-icon tf-icons ti ti-file-description"></i>
<div data-i18n="<?= lang("App.menu_pedidos") ?>"><?= lang("App.menu_pedidos") ?></div>
</a>
<ul class="menu-sub">
<?php if (count($temp = getArrayItem($menus, 'name', 'Pedido')) > 0): ?>
<?php if (count(getArrayItem($temp, 'methods', 'activos', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("pedidos/pedido/activos") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_pedidos_activos") ?>"><?= lang("App.menu_pedidos_activos") ?></div>
</a>
</li>
<?php endif; ?>
<?php if (count(getArrayItem($temp, 'methods', 'finalizados', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("pedidos/pedido/finalizados") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_pedidos_finalizados") ?>"><?= lang("App.menu_pedidos_finalizados") ?></div>
</a>
</li>
<?php endif; ?>
<?php if (count(getArrayItem($temp, 'methods', 'cancelados', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("pedidos/pedido/cancelados") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_pedidos_cancelados") ?>"><?= lang("App.menu_pedidos_cancelados") ?></div>
</a>
</li>
<?php endif; ?>
<?php if (count(getArrayItem($temp, 'methods', 'manuales', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("pedidos/pedido/manuales") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_pedidos_manuales") ?>"><?= lang("App.menu_pedidos_manuales") ?></div>
</a>
</li>
<?php endif; ?>
<?php endif; ?>
</ul>
</li>
<?php endif; ?>
<?php
/**
* MENU PRODUCCION
*/
if
(allowMenuSection($menus, ['Ordentrabajo'], 'index')): ?>
<!-- Production -->
<li class="menu-item">
<a href="javascript:void(0);" class="menu-link menu-toggle">
<i class="menu-icon tf-icons ti ti-printer"></i>
<div data-i18n="<?= lang("App.menu_produccion") ?>"><?= lang("App.menu_produccion") ?></div>
</a>
<ul class="menu-sub">
<?php if (count($temp = getArrayItem($menus, 'name', 'Ordentrabajo')) > 0): ?>
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("produccion/ordentrabajo") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_orden_trabajo") ?>"><?= lang("App.menu_orden_trabajo") ?></div>
</a>
</li>
<?php endif; ?>
<?php endif; ?>
<?php if (count($temp = getArrayItem($menus, 'name', 'Ordentrabajo')) > 0): ?>
<?php if (count(getArrayItem($temp, 'methods', 'cien', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("produccion/ordentrabajo/cien") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_orden_trabajo_100") ?>"><?= lang("App.menu_orden_trabajo_100") ?></div>
</a>
</li>
<?php endif; ?>
<?php endif; ?>
<?php if (count($temp = getArrayItem($menus, 'name', 'Ordentrabajo')) > 0): ?>
<?php if (count(getArrayItem($temp, 'methods', 'finalizado', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("produccion/ordentrabajo/finalizado") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_orden_trabajo_finalizados") ?>"><?= lang("App.menu_orden_trabajo_finalizados") ?></div>
</a>
</li>
<?php endif; ?>
<?php endif; ?>
<?php if (count($temp = getArrayItem($menus, 'name', 'Ordentrabajo')) > 0): ?>
<?php if (count(getArrayItem($temp, 'methods', 'pendiente', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("produccion/ordentrabajo/pendiente") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_orden_trabajo_pendientes") ?>"><?= lang("App.menu_orden_trabajo_pendientes") ?></div>
</a>
</li>
<?php endif; ?>
<?php endif; ?>
</ul>
</li>
<?php endif; ?>
<?php
/**
* MENU FACTURACION
*/
if (allowMenuSection($menus, ['Albaran', 'Factura'], 'index')): ?>
<!-- Invoicing -->
<li class="menu-item">
<a href="javascript:void(0);" class="menu-link menu-toggle">
<i class="menu-icon tf-icons ti ti-file-dollar"></i>
<div data-i18n="<?= lang("App.menu_facturación") ?>"><?= lang("App.menu_facturación") ?></div>
</a>
<ul class="menu-sub">
<?php if (count($temp = getArrayItem($menus, 'name', 'Factura')) > 0): ?>
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("facturacion/factura") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_facturas") ?>"><?= lang("App.menu_facturas") ?></div>
</a>
</li>
<?php endif; ?>
<?php if (count(getArrayItem($temp, 'methods', 'vencimiento', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("facturacion/factura/vencimiento") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_facturas_vencimiento") ?>"><?= lang("App.menu_facturas_vencimiento") ?></div>
</a>
</li>
<?php endif; ?>
<?php if (count(getArrayItem($temp, 'methods', 'nueva', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("facturacion/factura/nueva") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_facturas_nueva") ?>"><?= lang("App.menu_facturas_nueva") ?></div>
</a>
</li>
<?php endif; ?>
<?php endif; ?>
<?php if (count($temp = getArrayItem($menus, 'name', 'Albaran')) > 0): ?>
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("facturacion/albaran") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_albaran") ?>"><?= lang("App.menu_albaran") ?></div>
</a>
</li>
<?php endif; ?>
<?php endif; ?>
</ul>
</li>
<?php endif; ?>
<?php
/**
* MENU CONFIGURACION
*/
if (allowMenuSection($menus,
['Calendario', 'Paises', 'Users', 'Group'], 'index')): ?>
<li class="menu-item">
<a href="javascript:void(0);" class="menu-link menu-toggle">
<i class="menu-icon tf-icons ti ti-adjustments-horizontal"></i>
<div data-i18n="<?= lang("App.menu_configuration") ?>"><?= lang("App.menu_configuration") ?></div>
</a>
<ul class="menu-sub">
<?php if (count($temp = getArrayItem($menus, 'name', 'Calendario')) > 0): ?>
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("configuracion/calendario") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_calendario") ?>"><?= lang("App.menu_calendario") ?></div>
</a>
</li>
<?php endif; ?>
<?php endif; ?>
<?php if (count($temp = getArrayItem($menus, 'name', 'Paises')) > 0): ?>
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("configuracion/paises") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_paises") ?>"><?= lang("App.menu_paises") ?></div>
</a>
</li>
<?php endif; ?>
<?php endif; ?>
<?php if (count($temp = getArrayItem($menus, 'name', 'Users')) > 0): ?>
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("configuracion/users") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_users") ?>"><?= lang("App.menu_users") ?></div>
</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 class="menu-item">
<a href="<?= site_url("configuracion/group") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_permission_group") ?>"><?= lang("App.menu_permission_group") ?></div>
</a>
</li>
<?php endif; ?>
<?php endif; ?>
</ul>
</li>
<?php endif; ?>
<?php
/**
* MENU MENSAJES
*/
if (count(getArrayItem($menus, 'name', 'Mensajes')) > 0): ?>
<!-- Messages -->
<li class="menu-item">
<a href="<?= site_url("servicios/mensajes") ?>" class="menu-link">
<i class="menu-icon tf-icons ti ti-message"></i>
<div data-i18n="<?= lang("App.menu_mensajes") ?>"><?= lang("App.menu_mensajes") ?></div>
</a>
</li>
<?php endif; ?>
<?php
/**
* MENU MAQUETACION
*/
if (count(getArrayItem($menus, 'name', 'Maquetacion')) > 0): ?>
<!-- Maquetacion -->
<li class="menu-item">
<a href="<?= site_url("servicios/maquetacion") ?>" class="menu-link">
<i class="menu-icon tf-icons ti ti-ruler-2"></i>
<div data-i18n="<?= lang("App.menu_maquetacion") ?>"><?= lang("App.menu_maquetacion") ?></div>
</a>
</li>
<?php endif; ?>
<?php
/**
* MENU IMPRESION
*/
if (count(getArrayItem($menus, 'name', 'Impresion')) > 0): ?>
<!-- Printing -->
<li class="menu-item">
<a href="<?= site_url("servicios/impresion") ?>" class="menu-link">
<i class="menu-icon tf-icons ti ti-printer"></i>
<div data-i18n="<?= lang("App.menu_impresion") ?>"><?= lang("App.menu_impresion") ?></div>
</a>
</li>
<?php endif; ?>
<li class="menu-header small text-uppercase">
<span class="menu-header-text">Ajustes del Sistema</span>
</li>
<?php
/**
* MENU AJUSTES
*/
if (count(getArrayItem($menus, 'name', 'Settings')) > 0): ?>
<!-- Settings -->
<li class="menu-item">
<a href="<?= site_url("settings")?>" class="menu-link">
<i class="menu-icon tf-icons ti ti-settings""></i>
<div data-i18n="<?= lang("App.menu_settings") ?>"><?= lang("App.menu_settings") ?></div>
</a>
</li>
<?php endif; ?>
<?php
/**
* MENU ACTIVIDAD
*/
if (count(getArrayItem($menus, 'name', 'Activity')) > 0): ?>
<!-- Activity -->
<li class="menu-item">
<a href="<?= site_url("activity") ?>" class="menu-link">
<i class="menu-icon tf-icons ti ti-fingerprint""></i>
<div data-i18n="<?= lang("App.menu_activity") ?>"><?= lang("App.menu_activity") ?></div>
</a>
</li>
<?php endif; ?>
</ul>
</aside>
<!-- / Menu -->

View File

@ -0,0 +1,583 @@
<?php $menus = getMenuControl(); ?>
<!-- Menu -->
<aside id="layout-menu" class="layout-menu menu-vertical menu bg-menu-theme">
<div class="app-brand">
<a href="<?= site_url('home') ?>" class="app-brand-link">
<span class="app-brand-logo">
<img src="<?= site_url('themes/vuexy/img/branding/logo.png') ?>" width="150px">
</span>
</a>
<a href="javascript:void(0);" class="layout-menu-toggle menu-link text-large ms-auto">
<i class="ti menu-toggle-icon d-none d-xl-block ti-sm align-middle"></i>
<i class="ti ti-x d-block d-xl-none ti-sm align-middle"></i>
</a>
</div>
<div class="menu-inner-shadow"></div>
<ul class="menu-inner py-1">
<li class="menu-item active">
<a href="<?= site_url("") ?>" class="menu-link">
<i class="menu-icon tf-icons ti ti-dashboard"></i>
<div data-i18n="<?= lang("App.menu_dashboard") ?>"><?= lang("App.menu_dashboard") ?></div>
</a>
</li>
<?php
/**
* MENU CLIENTES
*/
if (allowMenuSection($menus, ['Cliente', 'Tarifacliente'], 'index')):
?>
<!-- Clientes -->
<li class="menu-item">
<a href="javascript:void(0);" class="menu-link menu-toggle">
<i class="menu-icon tf-icons ti ti-users"></i>
<div data-i18n="<?= lang("App.menu_clientes") ?>"><?= lang("App.menu_clientes") ?></div>
</a>
<ul class="menu-sub">
<?php if (count($temp = getArrayItem($menus, 'name', 'Cliente')) > 0): ?>
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("clientes/cliente") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_clientes") ?>"><?= lang("App.menu_clientes") ?></div>
</a>
</li>
<?php endif; ?>
<?php endif; ?>
<?php if (count($temp = getArrayItem($menus, 'name', 'Tarifacliente')) > 0): ?>
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("clientes/tarifacliente") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_tarifacliente") ?>"><?= lang("App.menu_tarifacliente") ?></div>
</a>
</li>
<?php endif; ?>
<?php endif; ?>
</ul>
</li>
<?php endif; ?>
<?php
/**
* MENU PRESUPUESTOS
*/
if (allowMenuSection($menus, ['Presupuesto'], 'index')): ?>
<!-- Budgets -->
<li class="menu-item">
<a href="javascript:void(0);" class="menu-link menu-toggle">
<i class="menu-icon tf-icons ti ti-currency-dollar"></i>
<div data-i18n="<?= lang("App.menu_presupuestos") ?>"><?= lang("App.menu_presupuestos") ?></div>
</a>
<ul class="menu-sub">
<?php if (count($temp = getArrayItem($menus, 'name', 'Presupuesto')) > 0): ?>
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("presupuestos/presupuesto") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_presupuesto") ?>"><?= lang("App.menu_presupuesto") ?></div>
</a>
</li>
<?php endif; ?>
<?php endif; ?>
</ul>
</li>
<?php endif; ?>
<?php
/**
* MENU PEDIDOS
*/
if (allowMenuSection($menus, ['Pedido'], 'index')): ?>
<!-- Orders -->
<li class="menu-item">
<a href="javascript:void(0);" class="menu-link menu-toggle">
<i class="menu-icon tf-icons ti ti-file-description"></i>
<div data-i18n="<?= lang("App.menu_pedidos") ?>"><?= lang("App.menu_pedidos") ?></div>
</a>
<ul class="menu-sub">
<?php if (count($temp = getArrayItem($menus, 'name', 'Pedido')) > 0): ?>
<?php if (count(getArrayItem($temp, 'methods', 'activos', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("pedidos/pedido/activos") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_pedidos_activos") ?>"><?= lang("App.menu_pedidos_activos") ?></div>
</a>
</li>
<?php endif; ?>
<?php if (count(getArrayItem($temp, 'methods', 'finalizados', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("pedidos/pedido/finalizados") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_pedidos_finalizados") ?>"><?= lang("App.menu_pedidos_finalizados") ?></div>
</a>
</li>
<?php endif; ?>
<?php if (count(getArrayItem($temp, 'methods', 'cancelados', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("pedidos/pedido/cancelados") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_pedidos_cancelados") ?>"><?= lang("App.menu_pedidos_cancelados") ?></div>
</a>
</li>
<?php endif; ?>
<?php if (count(getArrayItem($temp, 'methods', 'manuales', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("pedidos/pedido/manuales") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_pedidos_manuales") ?>"><?= lang("App.menu_pedidos_manuales") ?></div>
</a>
</li>
<?php endif; ?>
<?php endif; ?>
</ul>
</li>
<?php endif; ?>
<?php
/**
* MENU PRODUCCION
*/
if
(allowMenuSection($menus, ['Ordentrabajo'], 'index')): ?>
<!-- Production -->
<li class="menu-item">
<a href="javascript:void(0);" class="menu-link menu-toggle">
<i class="menu-icon tf-icons ti ti-printer"></i>
<div data-i18n="<?= lang("App.menu_produccion") ?>"><?= lang("App.menu_produccion") ?></div>
</a>
<ul class="menu-sub">
<?php if (count($temp = getArrayItem($menus, 'name', 'Ordentrabajo')) > 0): ?>
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("produccion/ordentrabajo") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_orden_trabajo") ?>"><?= lang("App.menu_orden_trabajo") ?></div>
</a>
</li>
<?php endif; ?>
<?php endif; ?>
<?php if (count($temp = getArrayItem($menus, 'name', 'Ordentrabajo')) > 0): ?>
<?php if (count(getArrayItem($temp, 'methods', 'cien', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("produccion/ordentrabajo/cien") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_orden_trabajo_100") ?>"><?= lang("App.menu_orden_trabajo_100") ?></div>
</a>
</li>
<?php endif; ?>
<?php endif; ?>
<?php if (count($temp = getArrayItem($menus, 'name', 'Ordentrabajo')) > 0): ?>
<?php if (count(getArrayItem($temp, 'methods', 'finalizado', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("produccion/ordentrabajo/finalizado") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_orden_trabajo_finalizados") ?>"><?= lang("App.menu_orden_trabajo_finalizados") ?></div>
</a>
</li>
<?php endif; ?>
<?php endif; ?>
<?php if (count($temp = getArrayItem($menus, 'name', 'Ordentrabajo')) > 0): ?>
<?php if (count(getArrayItem($temp, 'methods', 'pendiente', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("produccion/ordentrabajo/pendiente") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_orden_trabajo_pendientes") ?>"><?= lang("App.menu_orden_trabajo_pendientes") ?></div>
</a>
</li>
<?php endif; ?>
<?php endif; ?>
</ul>
</li>
<?php endif; ?>
<?php
/**
* MENU IMPORTACION
*/
if (count(getArrayItem($menus, 'name', 'Importacion')) > 0): ?>
<!-- Import -->
<li class="menu-item">
<a href="<?= site_url("importacion/importar") ?>" class="menu-link">
<i class="menu-icon tf-icons ti ti-file-import"></i>
<div data-i18n="<?= lang("App.menu_importacion") ?>"><?= lang("App.menu_importacion") ?></div>
</a>
</li>
<?php endif; ?>
<?php
/**
* MENU CATALOGO
*/
if (allowMenuSection($menus, ['Catalogo'], 'index')): ?>
<!-- Orders -->
<li class="menu-item">
<a href="javascript:void(0);" class="menu-link menu-toggle">
<i class="menu-icon tf-icons ti ti-book"></i>
<div data-i18n="<?= lang("App.menu_catalogo") ?>"><?= lang("App.menu_catalogo") ?></div>
</a>
<ul class="menu-sub">
<?php if (count($temp = getArrayItem($menus, 'name', 'Catalogo')) > 0): ?>
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("catalogo/catalogo") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_catalogo_libros") ?>"><?= lang("App.menu_catalogo_libros") ?></div>
</a>
</li>
<?php endif; ?>
<?php if (count(getArrayItem($temp, 'methods', 'nuevo', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("catalogo/catalogo/nuevo") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_catalogo_nuevo") ?>"><?= lang("App.menu_catalogo_nuevo") ?></div>
</a>
</li>
<?php endif; ?>
<?php if (count(getArrayItem($temp, 'methods', 'categorias', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("catalogo/catalogo/categorias") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_catalogo_categorias") ?>"><?= lang("App.menu_catalogo_categorias") ?></div>
</a>
</li>
<?php endif; ?>
<?php if (count(getArrayItem($temp, 'methods', 'importar', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("catalogo/catalogo/importar") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_catalogo_importar") ?>"><?= lang("App.menu_catalogo_importar") ?></div>
</a>
</li>
<?php endif; ?>
<?php endif; ?>
</ul>
</li>
<?php endif; ?>
<?php
/**
* MENU FACTURACION
*/
if (allowMenuSection($menus, ['Albaran', 'Factura'], 'index')): ?>
<!-- Invoicing -->
<li class="menu-item">
<a href="javascript:void(0);" class="menu-link menu-toggle">
<i class="menu-icon tf-icons ti ti-file-dollar"></i>
<div data-i18n="<?= lang("App.menu_facturación") ?>"><?= lang("App.menu_facturación") ?></div>
</a>
<ul class="menu-sub">
<?php if (count($temp = getArrayItem($menus, 'name', 'Factura')) > 0): ?>
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("facturacion/factura") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_facturas") ?>"><?= lang("App.menu_facturas") ?></div>
</a>
</li>
<?php endif; ?>
<?php if (count(getArrayItem($temp, 'methods', 'vencimiento', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("facturacion/factura/vencimiento") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_facturas_vencimiento") ?>"><?= lang("App.menu_facturas_vencimiento") ?></div>
</a>
</li>
<?php endif; ?>
<?php if (count(getArrayItem($temp, 'methods', 'nueva', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("facturacion/factura/nueva") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_facturas_nueva") ?>"><?= lang("App.menu_facturas_nueva") ?></div>
</a>
</li>
<?php endif; ?>
<?php endif; ?>
<?php if (count($temp = getArrayItem($menus, 'name', 'Albaran')) > 0): ?>
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("facturacion/albaran") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_albaran") ?>"><?= lang("App.menu_albaran") ?></div>
</a>
</li>
<?php endif; ?>
<?php endif; ?>
</ul>
</li>
<?php endif; ?>
<?php
/**
* MENU LOGISTICA
*/
if (allowMenuSection($menus, ['Logistica'], 'index')): ?>
<!-- Invoicing -->
<li class="menu-item">
<a href="javascript:void(0);" class="menu-link menu-toggle">
<i class="menu-icon tf-icons ti ti-truck"></i>
<div data-i18n="<?= lang("App.menu_logistica") ?>"><?= lang("App.menu_logistica") ?></div>
</a>
<ul class="menu-sub">
<?php if (count($temp = getArrayItem($menus, 'name', 'Logistica')) > 0): ?>
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("envioslogistica/logistica") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_logistica_envios") ?>"><?= lang("App.menu_logistica_envios") ?></div>
</a>
</li>
<?php endif; ?>
<?php if (count(getArrayItem($temp, 'methods', 'etiquetas', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("envioslogistica/logistica/etiquetas") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_logistica_etiquetas") ?>"><?= lang("App.menu_logistica_etiquetas") ?></div>
</a>
</li>
<?php endif; ?>
<?php if (count(getArrayItem($temp, 'methods', 'tracking', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("envioslogistica/logistica/tracking") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_logistica_tracking") ?>"><?= lang("App.menu_logistica_tracking") ?></div>
</a>
</li>
<?php endif; ?>
<?php endif; ?>
</ul>
</li>
<?php endif; ?>
<?php
/**
* MENU TARIFAS
*/
if (allowMenuSection($menus,
['Tarifapreimpresion', 'Tarifamanipulado', 'Tarifaacabado', 'Tarifaenvio'], 'index')): ?>
<!-- Prices -->
<li class="menu-item">
<a href="javascript:void(0);" class="menu-link menu-toggle">
<i class="menu-icon tf-icons ti ti-receipt"></i>
<div data-i18n="<?= lang("App.menu_tarifas") ?>"><?= lang("App.menu_tarifas") ?></div>
</a>
<ul class="menu-sub">
<?php if (count($temp = getArrayItem($menus, 'name', 'Tarifapreimpresion')) > 0): ?>
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("tarifas/tarifapreimpresion") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_tarifapreimpresion") ?>"><?= lang("App.menu_tarifapreimpresion") ?></div>
</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 class="menu-item">
<a href="<?= site_url("tarifas/tarifamanipulado") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_tarifamanipulado") ?>"><?= lang("App.menu_tarifamanipulado") ?></div>
</a>
</li>
<?php endif; ?>
<?php endif; ?>
<?php if (count($temp = getArrayItem($menus, 'name', 'Tarifaacabado')) > 0): ?>
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("tarifas/tarifaacabado") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_tarifaacabado") ?>"><?= lang("App.menu_tarifaacabado") ?></div>
</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 class="menu-item">
<a href="<?= site_url("tarifas/tarifaenvio") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_tarifaenvio") ?>"><?= lang("App.menu_tarifaenvio") ?></div>
</a>
</li>
<?php endif; ?>
<?php endif; ?>
</ul>
</li>
<?php endif; ?>
<?php
/**
* MENU COMPRAS
*/
if (allowMenuSection($menus,
['Compras', 'Productos', 'Proveedor'], 'index')): ?>
<!-- BUY -->
<li class="menu-item">
<a href="javascript:void(0);" class="menu-link menu-toggle">
<i class="menu-icon tf-icons ti ti-shopping-cart"></i>
<div data-i18n="<?= lang("App.menu_compras") ?>"><?= lang("App.menu_compras") ?></div>
</a>
<ul class="menu-sub">
<?php if (count($temp = getArrayItem($menus, 'name', 'Compras')) > 0): ?>
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("servicios/compras") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_compras") ?>"><?= lang("App.menu_compras") ?></div>
</a>
</li>
<?php endif; ?>
<?php endif; ?>
<?php if (count($temp = getArrayItem($menus, 'name', 'Productos')) > 0): ?>
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("servicios/productos") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_productos") ?>"><?= lang("App.menu_productos") ?></div>
</a>
</li>
<?php endif; ?>
<?php endif; ?>
<?php if (count($temp = getArrayItem($menus, 'name', 'Proveedor')) > 0): ?>
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("servicios/proveedor") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_proveedores") ?>"><?= lang("App.menu_proveedores") ?></div>
</a>
</li>
<?php endif; ?>
<?php endif; ?>
<?php if (count($temp = getArrayItem($menus, 'name', 'Compras')) > 0): ?>
<?php if (count(getArrayItem($temp, 'methods', 'ajustes', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("servicios/compras/ajustes") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_compras_ajustes") ?>"><?= lang("App.menu_compras_ajustes") ?></div>
</a>
</li>
<?php endif; ?>
<?php endif; ?>
</ul>
</li>
<?php endif; ?>
<?php
/**
* MENU CONFIGURACION
*/
if (allowMenuSection($menus,
['Calendario', 'Paises', 'Users', 'Group'], 'index')): ?>
<li class="menu-item">
<a href="javascript:void(0);" class="menu-link menu-toggle">
<i class="menu-icon tf-icons ti ti-adjustments-horizontal"></i>
<div data-i18n="<?= lang("App.menu_configuration") ?>"><?= lang("App.menu_configuration") ?></div>
</a>
<ul class="menu-sub">
<?php if (count($temp = getArrayItem($menus, 'name', 'Calendario')) > 0): ?>
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("configuracion/calendario") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_calendario") ?>"><?= lang("App.menu_calendario") ?></div>
</a>
</li>
<?php endif; ?>
<?php endif; ?>
<?php if (count($temp = getArrayItem($menus, 'name', 'Paises')) > 0): ?>
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("configuracion/paises") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_paises") ?>"><?= lang("App.menu_paises") ?></div>
</a>
</li>
<?php endif; ?>
<?php endif; ?>
<?php if (count($temp = getArrayItem($menus, 'name', 'Users')) > 0): ?>
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("configuracion/users") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_users") ?>"><?= lang("App.menu_users") ?></div>
</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 class="menu-item">
<a href="<?= site_url("configuracion/group") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_permission_group") ?>"><?= lang("App.menu_permission_group") ?></div>
</a>
</li>
<?php endif; ?>
<?php endif; ?>
</ul>
</li>
<?php endif; ?>
<?php
/**
* MENU MENSAJES
*/
if (count(getArrayItem($menus, 'name', 'Mensajes')) > 0): ?>
<!-- Messages -->
<li class="menu-item">
<a href="<?= site_url("servicios/mensajes") ?>" class="menu-link">
<i class="menu-icon tf-icons ti ti-message"></i>
<div data-i18n="<?= lang("App.menu_mensajes") ?>"><?= lang("App.menu_mensajes") ?></div>
</a>
</li>
<?php endif; ?>
<?php
/**
* MENU MAQUETACION
*/
if (count(getArrayItem($menus, 'name', 'Maquetacion')) > 0): ?>
<!-- Maquetacion -->
<li class="menu-item">
<a href="<?= site_url("servicios/maquetacion") ?>" class="menu-link">
<i class="menu-icon tf-icons ti ti-ruler-2"></i>
<div data-i18n="<?= lang("App.menu_maquetacion") ?>"><?= lang("App.menu_maquetacion") ?></div>
</a>
</li>
<?php endif; ?>
<?php
/**
* MENU DIGITALIZACIÓN
*/
if (count(getArrayItem($menus, 'name', 'Digitalizacion')) > 0): ?>
<!-- Digitalization -->
<li class="menu-item">
<a href="<?= site_url("servicios/digitalizacion") ?>" class="menu-link">
<i class="menu-icon tf-icons ti ti-file-code-2"></i>
<div data-i18n="<?= lang("App.menu_digitalizacion") ?>"><?= lang("App.menu_digitalizacion") ?></div>
</a>
</li>
<?php endif; ?>
<li class="menu-header small text-uppercase">
<span class="menu-header-text">Ajustes del Sistema</span>
</li>
<?php
/**
* MENU AJUSTES
*/
if (count(getArrayItem($menus, 'name', 'Settings')) > 0): ?>
<!-- Settings -->
<li class="menu-item">
<a href="<?= site_url("settings")?>" class="menu-link">
<i class="menu-icon tf-icons ti ti-settings""></i>
<div data-i18n="<?= lang("App.menu_settings") ?>"><?= lang("App.menu_settings") ?></div>
</a>
</li>
<?php endif; ?>
<?php
/**
* MENU ACTIVIDAD
*/
if (count(getArrayItem($menus, 'name', 'Activity')) > 0): ?>
<!-- Activity -->
<li class="menu-item">
<a href="<?= site_url("activity") ?>" class="menu-link">
<i class="menu-icon tf-icons ti ti-fingerprint""></i>
<div data-i18n="<?= lang("App.menu_activity") ?>"><?= lang("App.menu_activity") ?></div>
</a>
</li>
<?php endif; ?>
</ul>
</aside>
<!-- / Menu -->

View File

@ -0,0 +1,396 @@
<?php $menus = getMenuControl(); ?>
<!-- Menu -->
<aside id="layout-menu" class="layout-menu menu-vertical menu bg-menu-theme">
<div class="app-brand">
<a href="<?= site_url('home') ?>" class="app-brand-link">
<span class="app-brand-logo">
<img src="<?= site_url('themes/vuexy/img/branding/logo.png') ?>" width="150px">
</span>
</a>
<a href="javascript:void(0);" class="layout-menu-toggle menu-link text-large ms-auto">
<i class="ti menu-toggle-icon d-none d-xl-block ti-sm align-middle"></i>
<i class="ti ti-x d-block d-xl-none ti-sm align-middle"></i>
</a>
</div>
<div class="menu-inner-shadow"></div>
<ul class="menu-inner py-1">
<li class="menu-item active">
<a href="<?= site_url("") ?>" class="menu-link">
<i class="menu-icon tf-icons ti ti-dashboard"></i>
<div data-i18n="<?= lang("App.menu_dashboard") ?>"><?= lang("App.menu_dashboard") ?></div>
</a>
</li>
<?php
/**
* MENU CLIENTES
*/
if (allowMenuSection($menus, ['Cliente', 'Tarifacliente'], 'index')):
?>
<!-- Clientes -->
<li class="menu-item">
<a href="javascript:void(0);" class="menu-link menu-toggle">
<i class="menu-icon tf-icons ti ti-users"></i>
<div data-i18n="<?= lang("App.menu_clientes") ?>"><?= lang("App.menu_clientes") ?></div>
</a>
<ul class="menu-sub">
<?php if (count($temp = getArrayItem($menus, 'name', 'Cliente')) > 0): ?>
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("clientes/cliente") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_clientes") ?>"><?= lang("App.menu_clientes") ?></div>
</a>
</li>
<?php endif; ?>
<?php endif; ?>
<?php if (count($temp = getArrayItem($menus, 'name', 'Cliente')) > 0): ?>
<?php if (count(getArrayItem($temp, 'methods', 'nuevo', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("clientes/nuevo") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_clientes_nuevo") ?>"><?= lang("App.menu_clientes_nuevo") ?></div>
</a>
</li>
<?php endif; ?>
<?php endif; ?>
</ul>
</li>
<?php endif; ?>
<?php
/**
* MENU PRESUPUESTOS
*/
if (allowMenuSection($menus, ['Presupuesto'], 'index')): ?>
<!-- Budgets -->
<li class="menu-item">
<a href="javascript:void(0);" class="menu-link menu-toggle">
<i class="menu-icon tf-icons ti ti-currency-dollar"></i>
<div data-i18n="<?= lang("App.menu_presupuestos") ?>"><?= lang("App.menu_presupuestos") ?></div>
</a>
<ul class="menu-sub">
<?php if (count($temp = getArrayItem($menus, 'name', 'Presupuestomaquetacion')) > 0): ?>
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("presupuestos/presupuestomaquetacion") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_presupuestomaquetacion_todos") ?>"><?= lang("App.menu_presupuestomaquetacion_todos") ?></div>
</a>
</li>
<?php endif; ?>
<?php if (count(getArrayItem($temp, 'methods', 'nuevo', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("presupuestos/presupuestomaquetacion/nuevo") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_presupuestomaquetacion_nuevo") ?>"><?= lang("App.menu_presupuestomaquetacion_nuevo") ?></div>
</a>
</li>
<?php endif; ?>
<?php if (count(getArrayItem($temp, 'methods', 'borrador', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("presupuestos/presupuestomaquetacion/borrador") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_presupuestomaquetacion_borrador") ?>"><?= lang("App.menu_presupuestomaquetacion_borrador") ?></div>
</a>
</li>
<?php endif; ?>
<?php if (count(getArrayItem($temp, 'methods', 'aceptados', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("presupuestos/presupuestomaquetacion/aceptados") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_presupuestomaquetacion_aceptados") ?>"><?= lang("App.menu_presupuestomaquetacion_aceptados") ?></div>
</a>
</li>
<?php endif; ?>
<?php endif; ?>
</ul>
</li>
<?php endif; ?>
<?php
/**
* MENU PEDIDOS
*/
if (allowMenuSection($menus, ['Pedido'], 'index')): ?>
<!-- Orders -->
<li class="menu-item">
<a href="javascript:void(0);" class="menu-link menu-toggle">
<i class="menu-icon tf-icons ti ti-file-description"></i>
<div data-i18n="<?= lang("App.menu_pedidos") ?>"><?= lang("App.menu_pedidos") ?></div>
</a>
<ul class="menu-sub">
<?php if (count($temp = getArrayItem($menus, 'name', 'Pedido')) > 0): ?>
<?php if (count(getArrayItem($temp, 'methods', 'activos', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("pedidos/pedido/activos") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_pedidos_activos") ?>"><?= lang("App.menu_pedidos_activos") ?></div>
</a>
</li>
<?php endif; ?>
<?php if (count(getArrayItem($temp, 'methods', 'finalizados', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("pedidos/pedido/finalizados") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_pedidos_finalizados") ?>"><?= lang("App.menu_pedidos_finalizados") ?></div>
</a>
</li>
<?php endif; ?>
<?php if (count(getArrayItem($temp, 'methods', 'cancelados', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("pedidos/pedido/cancelados") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_pedidos_cancelados") ?>"><?= lang("App.menu_pedidos_cancelados") ?></div>
</a>
</li>
<?php endif; ?>
<?php if (count(getArrayItem($temp, 'methods', 'manuales', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("pedidos/pedido/manuales") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_pedidos_manuales") ?>"><?= lang("App.menu_pedidos_manuales") ?></div>
</a>
</li>
<?php endif; ?>
<?php endif; ?>
</ul>
</li>
<?php endif; ?>
<?php
/**
* MENU PRODUCCION
*/
if
(allowMenuSection($menus, ['Ordentrabajo'], 'index')): ?>
<!-- Production -->
<li class="menu-item">
<a href="javascript:void(0);" class="menu-link menu-toggle">
<i class="menu-icon tf-icons ti ti-printer"></i>
<div data-i18n="<?= lang("App.menu_produccion") ?>"><?= lang("App.menu_produccion") ?></div>
</a>
<ul class="menu-sub">
<?php if (count($temp = getArrayItem($menus, 'name', 'Ordentrabajo')) > 0): ?>
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("produccion/ordentrabajo") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_orden_trabajo") ?>"><?= lang("App.menu_orden_trabajo") ?></div>
</a>
</li>
<?php endif; ?>
<?php endif; ?>
<?php if (count($temp = getArrayItem($menus, 'name', 'Ordentrabajo')) > 0): ?>
<?php if (count(getArrayItem($temp, 'methods', 'cien', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("produccion/ordentrabajo/cien") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_orden_trabajo_100") ?>"><?= lang("App.menu_orden_trabajo_100") ?></div>
</a>
</li>
<?php endif; ?>
<?php endif; ?>
<?php if (count($temp = getArrayItem($menus, 'name', 'Ordentrabajo')) > 0): ?>
<?php if (count(getArrayItem($temp, 'methods', 'finalizado', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("produccion/ordentrabajo/finalizado") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_orden_trabajo_finalizados") ?>"><?= lang("App.menu_orden_trabajo_finalizados") ?></div>
</a>
</li>
<?php endif; ?>
<?php endif; ?>
<?php if (count($temp = getArrayItem($menus, 'name', 'Ordentrabajo')) > 0): ?>
<?php if (count(getArrayItem($temp, 'methods', 'pendiente', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("produccion/ordentrabajo/pendiente") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_orden_trabajo_pendientes") ?>"><?= lang("App.menu_orden_trabajo_pendientes") ?></div>
</a>
</li>
<?php endif; ?>
<?php endif; ?>
</ul>
</li>
<?php endif; ?>
<?php
/**
* MENU FACTURACION
*/
if (allowMenuSection($menus, ['Albaran', 'Factura'], 'index')): ?>
<!-- Invoicing -->
<li class="menu-item">
<a href="javascript:void(0);" class="menu-link menu-toggle">
<i class="menu-icon tf-icons ti ti-file-dollar"></i>
<div data-i18n="<?= lang("App.menu_facturación") ?>"><?= lang("App.menu_facturación") ?></div>
</a>
<ul class="menu-sub">
<?php if (count($temp = getArrayItem($menus, 'name', 'Factura')) > 0): ?>
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("facturacion/factura") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_facturas") ?>"><?= lang("App.menu_facturas") ?></div>
</a>
</li>
<?php endif; ?>
<?php if (count(getArrayItem($temp, 'methods', 'vencimiento', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("facturacion/factura/vencimiento") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_facturas_vencimiento") ?>"><?= lang("App.menu_facturas_vencimiento") ?></div>
</a>
</li>
<?php endif; ?>
<?php if (count(getArrayItem($temp, 'methods', 'nueva', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("facturacion/factura/nueva") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_facturas_nueva") ?>"><?= lang("App.menu_facturas_nueva") ?></div>
</a>
</li>
<?php endif; ?>
<?php endif; ?>
<?php if (count($temp = getArrayItem($menus, 'name', 'Albaran')) > 0): ?>
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("facturacion/albaran") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_albaran") ?>"><?= lang("App.menu_albaran") ?></div>
</a>
</li>
<?php endif; ?>
<?php endif; ?>
</ul>
</li>
<?php endif; ?>
<?php
/**
* MENU CONFIGURACION
*/
if (allowMenuSection($menus,
['Calendario', 'Paises', 'Users', 'Group'], 'index')): ?>
<li class="menu-item">
<a href="javascript:void(0);" class="menu-link menu-toggle">
<i class="menu-icon tf-icons ti ti-adjustments-horizontal"></i>
<div data-i18n="<?= lang("App.menu_configuration") ?>"><?= lang("App.menu_configuration") ?></div>
</a>
<ul class="menu-sub">
<?php if (count($temp = getArrayItem($menus, 'name', 'Calendario')) > 0): ?>
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("configuracion/calendario") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_calendario") ?>"><?= lang("App.menu_calendario") ?></div>
</a>
</li>
<?php endif; ?>
<?php endif; ?>
<?php if (count($temp = getArrayItem($menus, 'name', 'Paises')) > 0): ?>
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("configuracion/paises") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_paises") ?>"><?= lang("App.menu_paises") ?></div>
</a>
</li>
<?php endif; ?>
<?php endif; ?>
<?php if (count($temp = getArrayItem($menus, 'name', 'Users')) > 0): ?>
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
<li class="menu-item">
<a href="<?= site_url("configuracion/users") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_users") ?>"><?= lang("App.menu_users") ?></div>
</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 class="menu-item">
<a href="<?= site_url("configuracion/group") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_permission_group") ?>"><?= lang("App.menu_permission_group") ?></div>
</a>
</li>
<?php endif; ?>
<?php endif; ?>
</ul>
</li>
<?php endif; ?>
<?php
/**
* MENU MENSAJES
*/
if (count(getArrayItem($menus, 'name', 'Mensajes')) > 0): ?>
<!-- Messages -->
<li class="menu-item">
<a href="<?= site_url("servicios/mensajes") ?>" class="menu-link">
<i class="menu-icon tf-icons ti ti-message"></i>
<div data-i18n="<?= lang("App.menu_mensajes") ?>"><?= lang("App.menu_mensajes") ?></div>
</a>
</li>
<?php endif; ?>
<?php
/**
* MENU IMPRESION
*/
if (count(getArrayItem($menus, 'name', 'Impresion')) > 0): ?>
<!-- Printing -->
<li class="menu-item">
<a href="<?= site_url("servicios/impresion") ?>" class="menu-link">
<i class="menu-icon tf-icons ti ti-printer"></i>
<div data-i18n="<?= lang("App.menu_impresion") ?>"><?= lang("App.menu_impresion") ?></div>
</a>
</li>
<?php endif; ?>
<?php
/**
* MENU DIGITALIZACIÓN
*/
if (count(getArrayItem($menus, 'name', 'Digitalizacion')) > 0): ?>
<!-- Digitalization -->
<li class="menu-item">
<a href="<?= site_url("servicios/digitalizacion") ?>" class="menu-link">
<i class="menu-icon tf-icons ti ti-file-code-2"></i>
<div data-i18n="<?= lang("App.menu_digitalizacion") ?>"><?= lang("App.menu_digitalizacion") ?></div>
</a>
</li>
<?php endif; ?>
<li class="menu-header small text-uppercase">
<span class="menu-header-text">Ajustes del Sistema</span>
</li>
<?php
/**
* MENU AJUSTES
*/
if (count(getArrayItem($menus, 'name', 'Settings')) > 0): ?>
<!-- Settings -->
<li class="menu-item">
<a href="<?= site_url("settings")?>" class="menu-link">
<i class="menu-icon tf-icons ti ti-settings""></i>
<div data-i18n="<?= lang("App.menu_settings") ?>"><?= lang("App.menu_settings") ?></div>
</a>
</li>
<?php endif; ?>
<?php
/**
* MENU ACTIVIDAD
*/
if (count(getArrayItem($menus, 'name', 'Activity')) > 0): ?>
<!-- Activity -->
<li class="menu-item">
<a href="<?= site_url("activity") ?>" class="menu-link">
<i class="menu-icon tf-icons ti ti-fingerprint""></i>
<div data-i18n="<?= lang("App.menu_activity") ?>"><?= lang("App.menu_activity") ?></div>
</a>
</li>
<?php endif; ?>
</ul>
</aside>
<!-- / Menu -->

View File

@ -0,0 +1,23 @@
<?php
$session = session();
$viewMode = $session->get('view_mode');
if ($viewMode == config("Basics")->vista_maquetacion) {
include "menu_maquetacion.php";
}
else if ($viewMode == config("Basics")->vista_digitalizacion) {
include "menu_digitalizacion.php";
}
else {
include "menu_impresion.php";
}