mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
Continuo migrando, estoy perfilando activity y los settings
This commit is contained in:
6
.idea/safekat.iml
generated
6
.idea/safekat.iml
generated
@ -1,7 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="WEB_MODULE" version="4">
|
||||
<component name="NewModuleRootManager">
|
||||
<content url="file://$MODULE_DIR$" />
|
||||
<content url="file://$MODULE_DIR$">
|
||||
<sourceFolder url="file://$MODULE_DIR$/ci4" isTestSource="false" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/ci4/app" isTestSource="false" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/ci4/app/ThirdParty/DatatablesEditor/" isTestSource="false" packagePrefix="DataTables\" />
|
||||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
|
||||
@ -54,7 +54,6 @@ Events::on('pre_system', static function () {
|
||||
}
|
||||
});
|
||||
|
||||
/*
|
||||
Events::on('login', static function ($user) {
|
||||
helper('logger');
|
||||
getSystemSettings();
|
||||
@ -65,4 +64,3 @@ Events::on('logout', static function ($user) {
|
||||
helper('logger');
|
||||
setLog('information','user-logout', $user->id);
|
||||
});
|
||||
*/
|
||||
@ -15,6 +15,18 @@ $routes->get('/', 'Home::index');
|
||||
$routes->get('lang/{locale}', 'Language::index');
|
||||
$routes->get('viewmode/(:alpha)', 'Viewmode::index/$1');
|
||||
|
||||
|
||||
$routes->group('activity', ['namespace' => 'App\Controllers\Sistema'], function ($routes) {
|
||||
$routes->get('', 'Actividad::index', ['as' => 'activityList']);
|
||||
$routes->post('datatable', 'Actividad::datatable', ['as' => 'dataTableOfActividad']);
|
||||
});
|
||||
|
||||
$routes->group('settings', ['namespace' => 'App\Controllers\Sistema'], function ($routes) {
|
||||
$routes->get('', 'Ajustes::settings', ['as' => 'settingsEdit']);
|
||||
$routes->post('', 'Ajustes::settings', ['as' => 'settingsPost']);
|
||||
});
|
||||
|
||||
|
||||
/*
|
||||
* --------------------------------------------------------------------
|
||||
* Route Definitions
|
||||
|
||||
@ -37,7 +37,7 @@ class BaseController extends Controller
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $helpers = ['general','jwt'];
|
||||
protected $helpers = ['general', 'go_common'];
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
@ -57,24 +57,7 @@ class BaseController extends Controller
|
||||
$language->setLocale($session->lang);
|
||||
|
||||
// Set TimeZone
|
||||
if(empty($session->get('settings'))){
|
||||
$settingsModel = new SettingsModel();
|
||||
$settings = $settingsModel->select('default_timezone')->first()??[];
|
||||
date_default_timezone_set($settings['default_timezone']??'America/Sao_Paulo');
|
||||
}else{
|
||||
date_default_timezone_set($session->get('settings')['default_timezone']??'America/Sao_Paulo');
|
||||
}
|
||||
date_default_timezone_set('Europe/Madrid');
|
||||
|
||||
// Get notification
|
||||
if(!empty($session->get('token'))) {
|
||||
$notificationModel = new NotificationModel();
|
||||
$pulse = $notificationModel->where('user_recipient',$session->get('token'))->where('is_read',false)->countAllResults() ?? 0;
|
||||
$notification = $notificationModel->select('token,title,is_read,created_at')->where('user_recipient',$session->get('token'))->orderBy('created_at','desc')->findAll(5) ?? [];
|
||||
$session->set('notification', $notification);
|
||||
$session->set('pulse', $pulse);
|
||||
}else{
|
||||
$session->set('notification', []);
|
||||
$session->set('pulse', 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
6
ci4/app/Controllers/GoBaseResourceController.php → ci4/app/Controllers/BaseResourceController.php
Executable file → Normal file
6
ci4/app/Controllers/GoBaseResourceController.php → ci4/app/Controllers/BaseResourceController.php
Executable file → Normal file
@ -8,7 +8,7 @@ use CodeIgniter\HTTP\RequestInterface;
|
||||
use CodeIgniter\HTTP\ResponseInterface;
|
||||
use Psr\Log\LoggerInterface;
|
||||
|
||||
abstract class GoBaseResourceController extends \CodeIgniter\RESTful\ResourceController
|
||||
abstract class BaseResourceController extends \CodeIgniter\RESTful\ResourceController
|
||||
{
|
||||
/**
|
||||
*
|
||||
@ -48,7 +48,7 @@ abstract class GoBaseResourceController extends \CodeIgniter\RESTful\ResourceCon
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected static $viewPath;
|
||||
protected static string $viewPath;
|
||||
|
||||
|
||||
/**
|
||||
@ -85,7 +85,7 @@ abstract class GoBaseResourceController extends \CodeIgniter\RESTful\ResourceCon
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $helpers = ['session', 'go_common', 'form', 'text', 'general','jwt']; //JJO
|
||||
protected $helpers = ['session', 'go_common', 'form', 'text', 'general']; //JJO
|
||||
|
||||
/**
|
||||
* Initializer method.
|
||||
@ -1,7 +1,7 @@
|
||||
<?php namespace App\Controllers\Clientes;
|
||||
|
||||
|
||||
use App\Controllers\GoBaseResourceController;
|
||||
use App\Controllers\BaseResourceController;
|
||||
|
||||
use App\Models\Collection;
|
||||
|
||||
@ -19,7 +19,7 @@ use App\Models\Configuracion\FormaPagoModel;
|
||||
|
||||
use App\Models\Configuracion\PaisModel;
|
||||
|
||||
class Cliente extends \App\Controllers\GoBaseResourceController
|
||||
class Cliente extends \App\Controllers\BaseResourceController
|
||||
{
|
||||
|
||||
protected $modelName = ClienteModel::class;
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<?php namespace App\Controllers\Clientes;
|
||||
|
||||
|
||||
use App\Controllers\GoBaseResourceController;
|
||||
use App\Controllers\BaseResourceController;
|
||||
|
||||
use App\Models\Collection;
|
||||
|
||||
@ -14,7 +14,7 @@ use DataTables\Editor;
|
||||
use DataTables\Editor\Field;
|
||||
use DataTables\Editor\Validate;
|
||||
|
||||
class Clientecontactos extends \App\Controllers\GoBaseResourceController
|
||||
class Clientecontactos extends \App\Controllers\BaseResourceController
|
||||
{
|
||||
|
||||
protected $modelName = ClienteContactoModel::class;
|
||||
|
||||
@ -10,7 +10,7 @@ use DataTables\Editor;
|
||||
use DataTables\Editor\Field;
|
||||
use DataTables\Editor\Validate;
|
||||
|
||||
class Clientedirecciones extends \App\Controllers\GoBaseResourceController
|
||||
class Clientedirecciones extends \App\Controllers\BaseResourceController
|
||||
{
|
||||
protected $modelName = ClienteDireccionesModel::class;
|
||||
protected $format = 'json';
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<?php namespace App\Controllers\Clientes;
|
||||
|
||||
|
||||
use App\Controllers\GoBaseResourceController;
|
||||
use App\Controllers\BaseResourceController;
|
||||
use App\Models\Collection;
|
||||
|
||||
use App\Entities\Clientes\ClientePlantillaPreciosEntity;
|
||||
@ -9,7 +9,7 @@ use App\Entities\Clientes\ClientePlantillaPreciosEntity;
|
||||
use App\Models\Clientes\ClientePlantillaPreciosModel;
|
||||
|
||||
|
||||
class Clienteplantillaprecios extends \App\Controllers\GoBaseResourceController
|
||||
class Clienteplantillaprecios extends \App\Controllers\BaseResourceController
|
||||
{
|
||||
|
||||
protected $modelName = ClientePlantillaPreciosModel::class;
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<?php namespace App\Controllers\Clientes;
|
||||
|
||||
|
||||
use App\Controllers\GoBaseResourceController;
|
||||
use App\Controllers\BaseResourceController;
|
||||
use App\Models\Collection;
|
||||
|
||||
use App\Entities\Clientes\ClientePlantillaPreciosLineasEntity;
|
||||
@ -13,7 +13,7 @@ use DataTables\Editor;
|
||||
use DataTables\Editor\Field;
|
||||
use DataTables\Editor\Validate;
|
||||
|
||||
class Clienteplantillaprecioslineas extends \App\Controllers\GoBaseResourceController
|
||||
class Clienteplantillaprecioslineas extends \App\Controllers\BaseResourceController
|
||||
{
|
||||
|
||||
protected $modelName = ClientePlantillaPreciosLineasModel::class;
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<?php namespace App\Controllers\Clientes;
|
||||
|
||||
|
||||
use App\Controllers\GoBaseResourceController;
|
||||
use App\Controllers\BaseResourceController;
|
||||
use App\Models\Collection;
|
||||
|
||||
use App\Entities\Clientes\ClientePreciosEntity;
|
||||
@ -12,7 +12,7 @@ use DataTables\Editor;
|
||||
use DataTables\Editor\Field;
|
||||
use DataTables\Editor\Validate;
|
||||
|
||||
class ClientePrecios extends \App\Controllers\GoBaseResourceController
|
||||
class ClientePrecios extends \App\Controllers\BaseResourceController
|
||||
{
|
||||
|
||||
protected $modelName = ClientePreciosModel::class;
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<?php namespace App\Controllers\Clientes;
|
||||
|
||||
|
||||
use App\Controllers\GoBaseResourceController;
|
||||
use App\Controllers\BaseResourceController;
|
||||
|
||||
use App\Models\Clientes\ClienteUsuariosModel;
|
||||
use App\Models\Collection;
|
||||
@ -15,7 +15,7 @@ use DataTables\Editor;
|
||||
use DataTables\Editor\Field;
|
||||
use DataTables\Editor\Validate;
|
||||
|
||||
class Clienteusuarios extends \App\Controllers\GoBaseResourceController
|
||||
class Clienteusuarios extends \App\Controllers\BaseResourceController
|
||||
{
|
||||
|
||||
protected $modelName = ClienteUsuariosModel::class;
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<?php namespace App\Controllers\Compras;
|
||||
|
||||
use stdClass;
|
||||
use App\Controllers\GoBaseResourceController;
|
||||
use App\Controllers\BaseResourceController;
|
||||
|
||||
use App\Models\Collection;
|
||||
|
||||
@ -9,7 +9,7 @@ use App\Entities\Compras\ProveedorEntity;
|
||||
|
||||
use App\Models\Compras\ProveedorModel;
|
||||
|
||||
class Proveedores extends \App\Controllers\GoBaseResourceController {
|
||||
class Proveedores extends \App\Controllers\BaseResourceController {
|
||||
|
||||
protected $modelName = ProveedorModel::class;
|
||||
protected $format = 'json';
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<?php namespace App\Controllers\Compras;
|
||||
|
||||
|
||||
use App\Controllers\GoBaseResourceController;
|
||||
use App\Controllers\BaseResourceController;
|
||||
|
||||
use App\Models\Collection;
|
||||
|
||||
@ -9,7 +9,7 @@ use App\Entities\Compras\ProveedorTipoEntity;
|
||||
|
||||
use App\Models\Compras\ProveedorTipoModel;
|
||||
|
||||
class ProveedoresTipos extends \App\Controllers\GoBaseResourceController {
|
||||
class ProveedoresTipos extends \App\Controllers\BaseResourceController {
|
||||
|
||||
protected $modelName = ProveedorTipoModel::class;
|
||||
protected $format = 'json';
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<?php namespace App\Controllers\Configuracion;
|
||||
|
||||
|
||||
use App\Controllers\GoBaseResourceController;
|
||||
use App\Controllers\BaseResourceController;
|
||||
|
||||
use App\Models\Collection;
|
||||
|
||||
@ -11,7 +11,7 @@ use App\Models\Configuracion\PaisModel;
|
||||
|
||||
use App\Models\Configuracion\ComunidadAutonomaModel;
|
||||
|
||||
class Comunidadesautonomas extends \App\Controllers\GoBaseResourceController
|
||||
class Comunidadesautonomas extends \App\Controllers\BaseResourceController
|
||||
{
|
||||
|
||||
protected $modelName = ComunidadAutonomaModel::class;
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<?php namespace App\Controllers\Configuracion;
|
||||
|
||||
|
||||
use App\Controllers\GoBaseResourceController;
|
||||
use App\Controllers\BaseResourceController;
|
||||
|
||||
use App\Models\Collection;
|
||||
|
||||
@ -9,7 +9,7 @@ use App\Entities\Configuracion\FormaPagoEntity;
|
||||
|
||||
use App\Models\Configuracion\FormaPagoModel;
|
||||
|
||||
class Formaspagos extends \App\Controllers\GoBaseResourceController
|
||||
class Formaspagos extends \App\Controllers\BaseResourceController
|
||||
{
|
||||
|
||||
protected $modelName = FormaPagoModel::class;
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
|
||||
use App\Entities\Usuarios\UserGroupEntity;
|
||||
|
||||
use App\Controllers\GoBaseResourceController;
|
||||
use App\Controllers\BaseResourceController;
|
||||
use App\Models\Usuarios\UserGroupModel;
|
||||
use App\Models\Usuarios\GroupUserModel;
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<?php namespace App\Controllers\Configuracion;
|
||||
|
||||
|
||||
use App\Controllers\GoBaseResourceController;
|
||||
use App\Controllers\BaseResourceController;
|
||||
|
||||
use App\Models\Collection;
|
||||
|
||||
@ -9,7 +9,7 @@ use App\Entities\Configuracion\Imposicion;
|
||||
|
||||
use App\Models\Configuracion\ImposicionModel;
|
||||
|
||||
class Imposiciones extends \App\Controllers\GoBaseResourceController
|
||||
class Imposiciones extends \App\Controllers\BaseResourceController
|
||||
{
|
||||
|
||||
protected $modelName = ImposicionModel::class;
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<?php namespace App\Controllers\Configuracion;
|
||||
|
||||
|
||||
use App\Controllers\GoBaseResourceController;
|
||||
use App\Controllers\BaseResourceController;
|
||||
|
||||
use App\Models\Collection;
|
||||
|
||||
@ -9,7 +9,7 @@ use App\Entities\Configuracion\Maquina;
|
||||
|
||||
use App\Models\Configuracion\MaquinaModel;
|
||||
|
||||
class Maquinas extends \App\Controllers\GoBaseResourceController
|
||||
class Maquinas extends \App\Controllers\BaseResourceController
|
||||
{
|
||||
|
||||
protected $modelName = MaquinaModel::class;
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<?php namespace App\Controllers\Configuracion;
|
||||
|
||||
|
||||
use App\Controllers\GoBaseResourceController;
|
||||
use App\Controllers\BaseResourceController;
|
||||
|
||||
use App\Models\Collection;
|
||||
|
||||
@ -13,7 +13,7 @@ use
|
||||
DataTables\Editor\Field;
|
||||
|
||||
|
||||
class Maquinascalles extends \App\Controllers\GoBaseResourceController
|
||||
class Maquinascalles extends \App\Controllers\BaseResourceController
|
||||
{
|
||||
protected static $controllerSlug = 'maquinascalles';
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<?php namespace App\Controllers\Configuracion;
|
||||
|
||||
|
||||
use App\Controllers\GoBaseResourceController;
|
||||
use App\Controllers\BaseResourceController;
|
||||
|
||||
use App\Models\Collection;
|
||||
|
||||
@ -11,7 +11,7 @@ use App\Models\Configuracion\MaquinaModel;
|
||||
|
||||
use App\Models\Configuracion\MaquinasDefectoModel;
|
||||
|
||||
class Maquinasdefecto extends \App\Controllers\GoBaseResourceController
|
||||
class Maquinasdefecto extends \App\Controllers\BaseResourceController
|
||||
{
|
||||
|
||||
protected $modelName = MaquinasDefectoModel::class;
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<?php namespace App\Controllers\Configuracion;
|
||||
|
||||
|
||||
use App\Controllers\GoBaseResourceController;
|
||||
use App\Controllers\BaseResourceController;
|
||||
|
||||
use App\Models\Collection;
|
||||
|
||||
@ -24,7 +24,7 @@ use
|
||||
DataTables\Editor\Validate,
|
||||
DataTables\Editor\ValidateOptions;
|
||||
|
||||
class Maquinaspapelesimpresion extends \App\Controllers\GoBaseResourceController {
|
||||
class Maquinaspapelesimpresion extends \App\Controllers\BaseResourceController {
|
||||
|
||||
|
||||
protected $modelName = MaquinasPapelesImpresionModel::class;
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<?php namespace App\Controllers\Configuracion;
|
||||
|
||||
|
||||
use App\Controllers\GoBaseResourceController;
|
||||
use App\Controllers\BaseResourceController;
|
||||
|
||||
use App\Models\Collection;
|
||||
|
||||
@ -15,7 +15,7 @@ use
|
||||
DataTables\Editor,
|
||||
DataTables\Editor\Field;
|
||||
|
||||
class Maquinastarifasimpresion extends \App\Controllers\GoBaseResourceController
|
||||
class Maquinastarifasimpresion extends \App\Controllers\BaseResourceController
|
||||
{
|
||||
|
||||
protected $modelName = MaquinasTarifasImpresionModel::class;
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<?php namespace App\Controllers\Configuracion;
|
||||
|
||||
|
||||
use App\Controllers\GoBaseResourceController;
|
||||
use App\Controllers\BaseResourceController;
|
||||
|
||||
use App\Models\Collection;
|
||||
|
||||
@ -9,7 +9,7 @@ use App\Entities\Configuracion\PaisEntity;
|
||||
|
||||
use App\Models\Configuracion\PaisModel;
|
||||
|
||||
class Paises extends \App\Controllers\GoBaseResourceController
|
||||
class Paises extends \App\Controllers\BaseResourceController
|
||||
{
|
||||
|
||||
protected $modelName = PaisModel::class;
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
namespace App\Controllers\Configuracion;
|
||||
|
||||
|
||||
use App\Controllers\GoBaseResourceController;
|
||||
use App\Controllers\BaseResourceController;
|
||||
|
||||
use App\Models\Collection;
|
||||
|
||||
@ -11,7 +11,7 @@ use App\Entities\Configuracion\PapelGenerico;
|
||||
|
||||
use App\Models\Configuracion\PapelGenericoModel;
|
||||
|
||||
class Papelesgenericos extends \App\Controllers\GoBaseResourceController
|
||||
class Papelesgenericos extends \App\Controllers\BaseResourceController
|
||||
{
|
||||
|
||||
protected $modelName = PapelGenericoModel::class;
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
namespace App\Controllers\Configuracion;
|
||||
|
||||
|
||||
use App\Controllers\GoBaseResourceController;
|
||||
use App\Controllers\BaseResourceController;
|
||||
|
||||
// DataTables PHP library
|
||||
|
||||
@ -36,7 +36,7 @@ use App\Models\Configuracion\MaquinasPapelesImpresionModel;
|
||||
use App\Models\Configuracion\MaquinaModel;
|
||||
|
||||
|
||||
class Papelesimpresion extends \App\Controllers\GoBaseResourceController
|
||||
class Papelesimpresion extends \App\Controllers\BaseResourceController
|
||||
{
|
||||
|
||||
protected $modelName = PapelImpresionModel::class;
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<?php namespace App\Controllers\Configuracion;
|
||||
|
||||
|
||||
use App\Controllers\GoBaseResourceController;
|
||||
use App\Controllers\BaseResourceController;
|
||||
|
||||
use App\Models\Collection;
|
||||
|
||||
@ -9,7 +9,7 @@ use App\Entities\Configuracion\PapelFormatoEntity;
|
||||
|
||||
use App\Models\Configuracion\PapelFormatoModel;
|
||||
|
||||
class Papelformato extends \App\Controllers\GoBaseResourceController {
|
||||
class Papelformato extends \App\Controllers\BaseResourceController {
|
||||
|
||||
protected $modelName = PapelFormatoModel::class;
|
||||
protected $format = 'json';
|
||||
|
||||
@ -19,7 +19,7 @@ use
|
||||
DataTables\Editor\ValidateOptions;
|
||||
|
||||
|
||||
class Papelimpresionmargenes extends \App\Controllers\GoBaseResourceController
|
||||
class Papelimpresionmargenes extends \App\Controllers\BaseResourceController
|
||||
{
|
||||
|
||||
protected $modelName = PapelImpresionMargenModel::class;
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<?php namespace App\Controllers\Configuracion;
|
||||
|
||||
|
||||
use App\Controllers\GoBaseResourceController;
|
||||
use App\Controllers\BaseResourceController;
|
||||
|
||||
use App\Models\Collection;
|
||||
|
||||
@ -23,7 +23,7 @@ use
|
||||
DataTables\Editor\ValidateOptions;
|
||||
|
||||
|
||||
class Papelimpresiontipologias extends \App\Controllers\GoBaseResourceController {
|
||||
class Papelimpresiontipologias extends \App\Controllers\BaseResourceController {
|
||||
|
||||
protected $modelName = PapelImpresionTipologiaModel::class;
|
||||
protected $format = 'json';
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<?php namespace App\Controllers\Configuracion;
|
||||
|
||||
|
||||
use App\Controllers\GoBaseResourceController;
|
||||
use App\Controllers\BaseResourceController;
|
||||
|
||||
use App\Models\Collection;
|
||||
|
||||
@ -11,7 +11,7 @@ use App\Models\Configuracion\PaisModel;
|
||||
|
||||
use App\Models\Configuracion\ProvinciaModel;
|
||||
|
||||
class Provincias extends \App\Controllers\GoBaseResourceController
|
||||
class Provincias extends \App\Controllers\BaseResourceController
|
||||
{
|
||||
|
||||
protected $modelName = ProvinciaModel::class;
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
|
||||
namespace App\Controllers\Presupuestos;
|
||||
|
||||
use App\Controllers\GoBaseResourceController;
|
||||
use App\Controllers\BaseResourceController;
|
||||
use App\Entities\Configuracion\Maquina;
|
||||
use App\Models\Collection;
|
||||
|
||||
@ -19,7 +19,7 @@ use App\Models\Configuracion\PapelImpresionModel;
|
||||
use App\Models\Configuracion\MaquinaModel;
|
||||
use Exception;
|
||||
|
||||
class Buscador extends \App\Controllers\GoBaseResourceController
|
||||
class Buscador extends \App\Controllers\BaseResourceController
|
||||
{
|
||||
|
||||
protected $modelName = "BuscadorModel";
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
|
||||
namespace App\Controllers\Presupuestos;
|
||||
|
||||
use App\Controllers\GoBaseResourceController;
|
||||
use App\Controllers\BaseResourceController;
|
||||
use App\Entities\Configuracion\Maquina;
|
||||
use App\Models\Collection;
|
||||
|
||||
@ -24,7 +24,7 @@ use App\Models\Configuracion\PapelImpresionModel;
|
||||
use App\Models\Configuracion\MaquinaModel;
|
||||
use Exception;
|
||||
|
||||
class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
|
||||
class Cosidotapablanda extends \App\Controllers\BaseResourceController
|
||||
{
|
||||
|
||||
protected $modelName = "PresupuestoModel";
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<?php namespace App\Controllers\Presupuestos;
|
||||
|
||||
|
||||
use App\Controllers\GoBaseResourceController;
|
||||
use App\Controllers\BaseResourceController;
|
||||
|
||||
use App\Models\Collection;
|
||||
|
||||
@ -10,7 +10,7 @@ use App\Models\Presupuestos\PresupuestoAcabadosModel;
|
||||
|
||||
|
||||
|
||||
class Presupuestoacabados extends \App\Controllers\GoBaseResourceController
|
||||
class Presupuestoacabados extends \App\Controllers\BaseResourceController
|
||||
{
|
||||
|
||||
protected $modelName = PresupuestoAcabadosModel::class;
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<?php namespace App\Controllers\Presupuestos;
|
||||
|
||||
|
||||
use App\Controllers\GoBaseResourceController;
|
||||
use App\Controllers\BaseResourceController;
|
||||
|
||||
use App\Models\Collection;
|
||||
|
||||
@ -10,7 +10,7 @@ use App\Models\Presupuestos\PresupuestoDireccionesModel;
|
||||
|
||||
|
||||
|
||||
class Presupuestodirecciones extends \App\Controllers\GoBaseResourceController
|
||||
class Presupuestodirecciones extends \App\Controllers\BaseResourceController
|
||||
{
|
||||
|
||||
protected $modelName = PresupuestoDireccionesModel::class;
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<?php namespace App\Controllers\Presupuestos;
|
||||
|
||||
|
||||
use App\Controllers\GoBaseResourceController;
|
||||
use App\Controllers\BaseResourceController;
|
||||
|
||||
use App\Models\Collection;
|
||||
|
||||
@ -10,7 +10,7 @@ use DataTables\Editor;
|
||||
use DataTables\Editor\Field;
|
||||
use DataTables\Editor\Validate;
|
||||
|
||||
class Presupuestoencuadernaciones extends \App\Controllers\GoBaseResourceController
|
||||
class Presupuestoencuadernaciones extends \App\Controllers\BaseResourceController
|
||||
{
|
||||
|
||||
protected $modelName = PresupuestoEncuadernacionesModel::class;
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<?php namespace App\Controllers\Presupuestos;
|
||||
|
||||
|
||||
use App\Controllers\GoBaseResourceController;
|
||||
use App\Controllers\BaseResourceController;
|
||||
|
||||
use App\Models\Collection;
|
||||
|
||||
@ -11,7 +11,7 @@ use App\Models\Clientes\ClienteModel;
|
||||
|
||||
use App\Models\Presupuestos\PresupuestoManipuladosModel;
|
||||
|
||||
class Presupuestomanipulados extends \App\Controllers\GoBaseResourceController
|
||||
class Presupuestomanipulados extends \App\Controllers\BaseResourceController
|
||||
{
|
||||
|
||||
protected $modelName = PresupuestoManipuladosModel::class;
|
||||
|
||||
@ -6,7 +6,7 @@ use App\Models\Collection;
|
||||
use App\Models\Presupuestos\PresupuestoPreimpresionesModel;
|
||||
|
||||
|
||||
class Presupuestopreimpresiones extends \App\Controllers\GoBaseResourceController
|
||||
class Presupuestopreimpresiones extends \App\Controllers\BaseResourceController
|
||||
{
|
||||
|
||||
protected $modelName = PresupuestoPreimpresionesModel::class;
|
||||
|
||||
@ -6,7 +6,7 @@ use App\Models\Collection;
|
||||
use App\Models\Presupuestos\PresupuestoServiciosExtraModel;
|
||||
|
||||
|
||||
class Presupuestoserviciosextra extends \App\Controllers\GoBaseResourceController
|
||||
class Presupuestoserviciosextra extends \App\Controllers\BaseResourceController
|
||||
{
|
||||
|
||||
protected $modelName = PresupuestoServiciosExtraModel::class;
|
||||
|
||||
@ -3,13 +3,13 @@
|
||||
namespace App\Controllers\Presupuestos;
|
||||
|
||||
|
||||
use App\Controllers\GoBaseResourceController;
|
||||
use App\Controllers\BaseResourceController;
|
||||
|
||||
use App\Models\Collection;
|
||||
|
||||
use App\Services\PresupuestoService;
|
||||
|
||||
class Presupuestotiradasalternativas extends \App\Controllers\GoBaseResourceController
|
||||
class Presupuestotiradasalternativas extends \App\Controllers\BaseResourceController
|
||||
{
|
||||
|
||||
protected $modelName = PresupuestoManipuladosModel::class;
|
||||
|
||||
84
ci4/app/Controllers/Sistema/Actividad.php
Normal file
84
ci4/app/Controllers/Sistema/Actividad.php
Normal file
@ -0,0 +1,84 @@
|
||||
<?php namespace App\Controllers\Sistema;
|
||||
|
||||
|
||||
use App\Controllers\BaseResourceController;
|
||||
use App\Entities\Sistema\ActivityEntity;
|
||||
use App\Models\CollectionModel;
|
||||
use App\Models\Sistema\ActivityModel;
|
||||
|
||||
class Actividad extends BaseResourceController
|
||||
{
|
||||
|
||||
protected $modelName = ActivityModel::class;
|
||||
protected $format = 'json';
|
||||
|
||||
protected static $controllerSlug = 'activity';
|
||||
|
||||
protected static string $viewPath = 'themes/backend/vuexy/form/activity/';
|
||||
|
||||
protected static $indexRoute = 'activityList';
|
||||
|
||||
|
||||
public function initController(\CodeIgniter\HTTP\RequestInterface $request, \CodeIgniter\HTTP\ResponseInterface $response, \Psr\Log\LoggerInterface $logger)
|
||||
{
|
||||
$this->viewData['pageTitle'] = lang('Paises.moduleTitle');
|
||||
|
||||
// Breadcrumbs
|
||||
$this->viewData['breadcrumb'] = [
|
||||
['title' => "Home", 'route' => "javascript:void(0);", 'active' => false],
|
||||
['title' => lang("App.menu_activity"), 'route' => route_to('activityList'), 'active' => true]
|
||||
];
|
||||
|
||||
|
||||
parent::initController($request, $response, $logger);
|
||||
}
|
||||
|
||||
|
||||
public function index()
|
||||
{
|
||||
|
||||
$viewData = [
|
||||
|
||||
'pageSubTitle' => lang('Basic.global.ManageAllRecords', [lang('Paises.pais')]),
|
||||
'activityEntity' => new ActivityEntity(),
|
||||
'usingServerSideDataTable' => true,
|
||||
'logs' => $this->model->getLogs()->get()->getResultArray()[0] // MEJORAR!!!
|
||||
|
||||
];
|
||||
|
||||
$viewData = array_merge($this->viewData, $viewData); // merge any possible values from the parent controller class
|
||||
|
||||
return view(static::$viewPath . static::$indexRoute, $viewData);
|
||||
}
|
||||
|
||||
|
||||
public function datatable()
|
||||
{
|
||||
if ($this->request->isAJAX()) {
|
||||
$reqData = $this->request->getPost();
|
||||
if (!isset($reqData['draw']) || !isset($reqData['columns'])) {
|
||||
$errstr = 'No data available in response to this specific request.';
|
||||
$response = $this->respond(CollectionModel::datatable([], 0, 0, $errstr), 400, $errstr);
|
||||
return $response;
|
||||
}
|
||||
$start = $reqData['start'] ?? 0;
|
||||
$length = $reqData['length'] ?? 5;
|
||||
$search = $reqData['search']['value'];
|
||||
$requestedOrder = $reqData['order']['0']['column'] ?? 1;
|
||||
$order = ActivityModel::SORTABLE[$requestedOrder > 0 ? $requestedOrder : 1];
|
||||
$dir = $reqData['order']['0']['dir'] ?? 'asc';
|
||||
|
||||
$resourceData = $this->model->getResource($search)->orderBy($order, $dir)->limit($length, $start)->get()->getResultObject();
|
||||
|
||||
return $this->respond(CollectionModel::datatable(
|
||||
$resourceData,
|
||||
$this->model->getResource()->countAllResults(),
|
||||
$this->model->getResource($search)->countAllResults()
|
||||
));
|
||||
} else {
|
||||
return $this->failUnauthorized('Invalid request', 403);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
100
ci4/app/Controllers/Sistema/Ajustes.php
Normal file
100
ci4/app/Controllers/Sistema/Ajustes.php
Normal file
@ -0,0 +1,100 @@
|
||||
<?php namespace App\Controllers\Sistema;
|
||||
|
||||
|
||||
use App\Controllers\BaseResourceController;
|
||||
use App\Models\Sistema\SettingsModel;
|
||||
|
||||
|
||||
class Ajustes extends BaseResourceController
|
||||
{
|
||||
|
||||
protected $modelName = SettingsModel::class;
|
||||
protected $format = 'json';
|
||||
|
||||
protected static $controllerSlug = 'settings';
|
||||
|
||||
protected static string $viewPath = 'themes/vuexy/form/settings/';
|
||||
|
||||
protected static string $formViewName = 'settingsForm';
|
||||
|
||||
protected $indexRoute = 'settingForm';
|
||||
|
||||
|
||||
public function initController(\CodeIgniter\HTTP\RequestInterface $request, \CodeIgniter\HTTP\ResponseInterface $response, \Psr\Log\LoggerInterface $logger)
|
||||
{
|
||||
$this->viewData['pageTitle'] = lang('Provincias.moduleTitle');
|
||||
$this->viewData['usingSweetAlert'] = true;
|
||||
parent::initController($request, $response, $logger);
|
||||
}
|
||||
|
||||
|
||||
public function settings()
|
||||
{
|
||||
|
||||
$id = 1;
|
||||
$settingsEntity = $this->model->find($id);
|
||||
|
||||
if (!$settingsEntity) :
|
||||
$message = lang('Basic.global.notFoundWithIdErr', [mb_strtolower(lang('Provincias.provincia')), $id]);
|
||||
return $this->redirect2listView('sweet-error', $message);
|
||||
endif;
|
||||
|
||||
|
||||
if ($this->request->is('post')) :
|
||||
|
||||
$postData = $this->request->getPost();
|
||||
|
||||
$sanitizedData = $this->sanitized($postData, true);
|
||||
|
||||
$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('Provincias.provincia'))]);
|
||||
$this->session->setFlashdata('formErrors', $this->model->errors());
|
||||
|
||||
endif;
|
||||
|
||||
$settingsEntity->fill($sanitizedData);
|
||||
|
||||
$thenRedirect = false;
|
||||
endif;
|
||||
if ($noException && $successfulResult) :
|
||||
$id = $settingsEntity->id ?? $id;
|
||||
$message = lang('Basic.global.updateSuccess', [lang('Basic.global.record')]) . '.';
|
||||
|
||||
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->session->setFlashData('sweet-success', $message);
|
||||
endif;
|
||||
|
||||
endif; // $noException && $successfulResult
|
||||
endif; // ($requestMethod === 'post')
|
||||
|
||||
$this->viewData['settingsEntity'] = $settingsEntity;
|
||||
$this->viewData['formAction'] = route_to('settingsEdit');
|
||||
|
||||
$this->viewData['tables'] = db_connect()->listTables();
|
||||
|
||||
|
||||
return $this->displayForm(__METHOD__, $id);
|
||||
} // end function settings(...)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@ -1,7 +1,7 @@
|
||||
<?php namespace App\Controllers\tarifas;
|
||||
|
||||
|
||||
use App\Controllers\GoBaseResourceController;
|
||||
use App\Controllers\BaseResourceController;
|
||||
|
||||
use App\Models\Collection;
|
||||
|
||||
@ -9,7 +9,7 @@ use App\Entities\Tarifas\TarifaacabadoEntity;
|
||||
|
||||
use App\Models\Tarifas\TarifaacabadoModel;
|
||||
|
||||
class Tarifaacabado extends \App\Controllers\GoBaseResourceController
|
||||
class Tarifaacabado extends \App\Controllers\BaseResourceController
|
||||
{
|
||||
|
||||
protected $modelName = TarifaacabadoModel::class;
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<?php namespace App\Controllers\Tarifas;
|
||||
|
||||
|
||||
use App\Controllers\GoBaseResourceController;
|
||||
use App\Controllers\BaseResourceController;
|
||||
|
||||
use App\Models\Collection;
|
||||
|
||||
@ -24,7 +24,7 @@ use
|
||||
|
||||
use function PHPUnit\Framework\isEmpty;
|
||||
|
||||
class Tarifaacabadolineas extends \App\Controllers\GoBaseResourceController
|
||||
class Tarifaacabadolineas extends \App\Controllers\BaseResourceController
|
||||
{
|
||||
|
||||
protected $modelName = TarifaAcabadoLineaModel::class;
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<?php namespace App\Controllers\Tarifas;
|
||||
|
||||
|
||||
use App\Controllers\GoBaseResourceController;
|
||||
use App\Controllers\BaseResourceController;
|
||||
|
||||
use App\Models\Collection;
|
||||
|
||||
@ -21,7 +21,7 @@ use
|
||||
DataTables\Editor\ValidateOptions;
|
||||
|
||||
|
||||
class Tarifaencuadernacionlineas extends \App\Controllers\GoBaseResourceController
|
||||
class Tarifaencuadernacionlineas extends \App\Controllers\BaseResourceController
|
||||
{
|
||||
|
||||
protected $modelName = TarifaEncuadernacionLineaModel::class;
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<?php namespace App\Controllers\Tarifas;
|
||||
|
||||
|
||||
use App\Controllers\GoBaseResourceController;
|
||||
use App\Controllers\BaseResourceController;
|
||||
|
||||
use App\Models\Collection;
|
||||
|
||||
@ -21,7 +21,7 @@ use
|
||||
DataTables\Editor\ValidateOptions;
|
||||
|
||||
|
||||
class Tarifaencuadernacionlineashoras extends \App\Controllers\GoBaseResourceController
|
||||
class Tarifaencuadernacionlineashoras extends \App\Controllers\BaseResourceController
|
||||
{
|
||||
|
||||
protected $modelName = TarifaEncuadernacionLineaHorasModel::class;
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<?php namespace App\Controllers\Tarifas;
|
||||
|
||||
|
||||
use App\Controllers\GoBaseResourceController;
|
||||
use App\Controllers\BaseResourceController;
|
||||
|
||||
use App\Models\Collection;
|
||||
|
||||
@ -25,7 +25,7 @@ use
|
||||
DataTables\Editor\ValidateOptions;
|
||||
|
||||
|
||||
class Tarifaencuadernaciontiradas extends \App\Controllers\GoBaseResourceController
|
||||
class Tarifaencuadernaciontiradas extends \App\Controllers\BaseResourceController
|
||||
{
|
||||
protected static $controllerSlug = 'tarifaencuadernaciontiradas';
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<?php namespace App\Controllers\Tarifas;
|
||||
|
||||
|
||||
use App\Controllers\GoBaseResourceController;
|
||||
use App\Controllers\BaseResourceController;
|
||||
|
||||
use App\Models\Collection;
|
||||
|
||||
@ -21,7 +21,7 @@ use
|
||||
DataTables\Editor\ValidateOptions;
|
||||
|
||||
|
||||
class Tarifamanipuladolineas extends \App\Controllers\GoBaseResourceController
|
||||
class Tarifamanipuladolineas extends \App\Controllers\BaseResourceController
|
||||
{
|
||||
|
||||
protected $modelName = TarifaManipuladoLineaModel::class;
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<?php namespace App\Controllers\Tarifas;
|
||||
|
||||
|
||||
use App\Controllers\GoBaseResourceController;
|
||||
use App\Controllers\BaseResourceController;
|
||||
|
||||
use App\Models\Collection;
|
||||
|
||||
@ -13,7 +13,7 @@ use App\Models\Compras\ProveedorTipoModel;
|
||||
use App\Models\Tarifas\TarifaEncuadernacionDimensionesModel;
|
||||
|
||||
|
||||
class Tarifasencuadernacion extends \App\Controllers\GoBaseResourceController
|
||||
class Tarifasencuadernacion extends \App\Controllers\BaseResourceController
|
||||
{
|
||||
|
||||
protected $modelName = TarifaEncuadernacionModel::class;
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<?php namespace App\Controllers\Tarifas;
|
||||
|
||||
|
||||
use App\Controllers\GoBaseResourceController;
|
||||
use App\Controllers\BaseResourceController;
|
||||
|
||||
use App\Models\Collection;
|
||||
|
||||
@ -15,7 +15,7 @@ use App\Models\Tarifas\TarifaEnvioModel;
|
||||
use App\Models\Tarifas\TarifaEnvioPrecioModel;
|
||||
use App\Models\Tarifas\TarifaEnvioZonaModel;
|
||||
|
||||
class Tarifasenvios extends \App\Controllers\GoBaseResourceController {
|
||||
class Tarifasenvios extends \App\Controllers\BaseResourceController {
|
||||
|
||||
protected $modelName = TarifaEnvioModel::class;
|
||||
protected $format = 'json';
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<?php namespace App\Controllers\Tarifas;
|
||||
|
||||
|
||||
use App\Controllers\GoBaseResourceController;
|
||||
use App\Controllers\BaseResourceController;
|
||||
|
||||
use App\Models\Collection;
|
||||
|
||||
@ -17,7 +17,7 @@ use
|
||||
DataTables\Editor,
|
||||
DataTables\Editor\Field;
|
||||
|
||||
class Tarifasenviosprecios extends \App\Controllers\GoBaseResourceController {
|
||||
class Tarifasenviosprecios extends \App\Controllers\BaseResourceController {
|
||||
|
||||
protected $modelName = TarifaEnvioPrecioModel::class;
|
||||
protected $format = 'json';
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<?php namespace App\Controllers\Tarifas;
|
||||
|
||||
|
||||
use App\Controllers\GoBaseResourceController;
|
||||
use App\Controllers\BaseResourceController;
|
||||
|
||||
use App\Models\Collection;
|
||||
|
||||
@ -18,7 +18,7 @@ use
|
||||
DataTables\Editor\Validate,
|
||||
DataTables\Editor\Field;
|
||||
|
||||
class Tarifasenvioszonas extends \App\Controllers\GoBaseResourceController {
|
||||
class Tarifasenvioszonas extends \App\Controllers\BaseResourceController {
|
||||
|
||||
protected $modelName = TarifaEnvioZonaModel::class;
|
||||
protected $format = 'json';
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<?php namespace App\Controllers\Tarifas;
|
||||
|
||||
|
||||
use App\Controllers\GoBaseResourceController;
|
||||
use App\Controllers\BaseResourceController;
|
||||
|
||||
use App\Models\Collection;
|
||||
|
||||
@ -9,7 +9,7 @@ use App\Entities\Tarifas\TarifaManipuladoEntity;
|
||||
|
||||
use App\Models\Tarifas\TarifaManipuladoModel;
|
||||
|
||||
class Tarifasmanipulado extends \App\Controllers\GoBaseResourceController
|
||||
class Tarifasmanipulado extends \App\Controllers\BaseResourceController
|
||||
{
|
||||
|
||||
protected $modelName = TarifaManipuladoModel::class;
|
||||
|
||||
24
ci4/app/Entities/Sistema/ActivityEntity.php
Normal file
24
ci4/app/Entities/Sistema/ActivityEntity.php
Normal file
@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace App\Entities\Sistema;
|
||||
|
||||
use CodeIgniter\Entity\Entity;
|
||||
|
||||
class ActivityEntity extends Entity
|
||||
{
|
||||
protected $attributes = [
|
||||
"id" => null,
|
||||
"user_id" => null,
|
||||
"level" => null,
|
||||
"event" => null,
|
||||
"ip" => null,
|
||||
"os" => null,
|
||||
"browser" => null,
|
||||
"detail" => null,
|
||||
"created_at" => null,
|
||||
"updated_at" => null,
|
||||
];
|
||||
protected $casts = [
|
||||
|
||||
];
|
||||
}
|
||||
32
ci4/app/Entities/Sistema/SettingsEntity.php
Normal file
32
ci4/app/Entities/Sistema/SettingsEntity.php
Normal file
@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
namespace App\Entities\Sistema;
|
||||
|
||||
use CodeIgniter\Entity\Entity;
|
||||
|
||||
class SettingsEntity extends Entity
|
||||
{
|
||||
protected $attributes = [
|
||||
"email_gateway" => null,
|
||||
"email_name" => null,
|
||||
"email_address" => null,
|
||||
"email_smtp" => null,
|
||||
"email_port" => null,
|
||||
"email_pass" => null,
|
||||
"email_cert" => null,
|
||||
"remove_log" => null,
|
||||
"remove_log_time" => null,
|
||||
"remove_log_latest" => null,
|
||||
"storage_gateway" => null,
|
||||
"backup_storage" => null,
|
||||
"backup_table" => null,
|
||||
"backup_email" => null,
|
||||
"backup_notification_email" => null,
|
||||
"backup_automatic" => null,
|
||||
"backup_time" => null,
|
||||
"backup_latest" => null,
|
||||
];
|
||||
protected $casts = [
|
||||
|
||||
];
|
||||
}
|
||||
@ -165,4 +165,18 @@ if (!function_exists('newUUID')) {
|
||||
return sprintf('%04X%04X-%04X-%04X-%04X-%04X%04X%04X', mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(16384, 20479), mt_rand(32768, 49151), mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(0, 65535));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (!function_exists('getSystemSettings')) {
|
||||
function getSystemSettings()
|
||||
{
|
||||
// Get Settings
|
||||
$session = session();
|
||||
$settingsBase = new \App\Models\Sistema\SettingsModel();
|
||||
$settings = $settingsBase->first() ?? [];
|
||||
$session->set('settings', $settings);
|
||||
if (empty($session->get('lang'))) {
|
||||
$session->set('lang', 'es');
|
||||
}
|
||||
}
|
||||
}
|
||||
41
ci4/app/Helpers/logger_helper.php
Normal file
41
ci4/app/Helpers/logger_helper.php
Normal file
@ -0,0 +1,41 @@
|
||||
<?php
|
||||
|
||||
|
||||
if (!function_exists('setLog')) {
|
||||
function setLog($level, $event, $user_id = 0)
|
||||
{
|
||||
$activity_model = new \App\Models\Sistema\ActivityModel();
|
||||
$request = \Config\Services::request();
|
||||
$ip = $request->getIPAddress();
|
||||
$agent = $request->getUserAgent();
|
||||
|
||||
$currentAgent = identifyAgent($agent);
|
||||
|
||||
$activity_model->save([
|
||||
'user_id' => $user_id,
|
||||
'level' => $level,
|
||||
'event' => $event,
|
||||
'ip' => $ip,
|
||||
'os' => $agent->getPlatform(),
|
||||
'browser' => $currentAgent,
|
||||
'detail' => $agent
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (!function_exists('identifyAgent')) {
|
||||
function identifyAgent($agent)
|
||||
{
|
||||
if ($agent->isBrowser()) {
|
||||
return $agent->getBrowser() . ' ' . $agent->getVersion();
|
||||
}
|
||||
if ($agent->isRobot()) {
|
||||
return $agent->getRobot();
|
||||
}
|
||||
if ($agent->isMobile()) {
|
||||
return $agent->getMobile();
|
||||
}
|
||||
return 'Unidentified User Agent';
|
||||
}
|
||||
}
|
||||
39
ci4/app/Models/CollectionModel.php
Normal file
39
ci4/app/Models/CollectionModel.php
Normal file
@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
|
||||
class CollectionModel
|
||||
{
|
||||
/**
|
||||
* Generate a data table response.
|
||||
*
|
||||
* @param array $data The data to be displayed in the table.
|
||||
* @param int $recordsTotal The total number of records without filtering.
|
||||
* @param int $recordsFiltered The total number of records after filtering.
|
||||
* @param string|null $error An optional error message to be included in the response.
|
||||
* @return array The data table response containing the draw count, total records, filtered records,
|
||||
* the data, and a CSRF token (in case it is regenerated).
|
||||
*/
|
||||
public static function datatable(array $data, int $recordsTotal, int $recordsFiltered, string $error = null)
|
||||
{
|
||||
$req = service('request');
|
||||
$reqData = $req->getPostGet('data') ?? [];
|
||||
$draw = $reqData['draw'] ?? $req->getPostGet('draw') ?? 1;
|
||||
|
||||
$response = [
|
||||
'draw' => $draw,
|
||||
'recordsTotal' => $recordsTotal,
|
||||
'recordsFiltered' => $recordsFiltered,
|
||||
'data' => $data,
|
||||
'token' => csrf_hash(), // in case the CSRF token is regenerated
|
||||
];
|
||||
|
||||
if (!empty($error)) {
|
||||
$response['error'] = $error;
|
||||
}
|
||||
|
||||
return $response;
|
||||
}
|
||||
}
|
||||
@ -1,20 +0,0 @@
|
||||
<?php
|
||||
namespace App\Models;
|
||||
|
||||
class CountriesModel extends BaseModel
|
||||
{
|
||||
protected $table = 'auth_countries';
|
||||
protected $primaryKey = 'id_country';
|
||||
protected $allowedFields = [
|
||||
'phone',
|
||||
'code',
|
||||
'name',
|
||||
'symbol',
|
||||
'capital',
|
||||
'currency',
|
||||
'continent',
|
||||
'continent_code',
|
||||
'alpha_3',
|
||||
'data_lang'
|
||||
];
|
||||
}
|
||||
100
ci4/app/Models/Sistema/ActivityModel.php
Normal file
100
ci4/app/Models/Sistema/ActivityModel.php
Normal file
@ -0,0 +1,100 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models\Sistema;
|
||||
|
||||
use App\Models\BaseModel;
|
||||
|
||||
class ActivityModel extends BaseModel
|
||||
{
|
||||
protected $table = 'auth_activity';
|
||||
protected $primaryKey = 'id';
|
||||
|
||||
/**
|
||||
* Whether primary key uses auto increment.
|
||||
*
|
||||
* @var bool
|
||||
*/
|
||||
protected $useAutoIncrement = true;
|
||||
|
||||
protected $returnType = "App\Entities\Sistema\ActivityEntity";
|
||||
|
||||
const SORTABLE = [
|
||||
1 => "t1.id",
|
||||
2 => "t2.username",
|
||||
3 => "t1.level",
|
||||
4 => "t1.event",
|
||||
5 => "t1.ip",
|
||||
6 => "t1.os",
|
||||
7 => "t1.browser",
|
||||
8 => "t1.detail"
|
||||
];
|
||||
|
||||
protected $allowedFields = [
|
||||
'user_id',
|
||||
'level',
|
||||
'event',
|
||||
'ip',
|
||||
'os',
|
||||
'browser',
|
||||
'detail'
|
||||
];
|
||||
|
||||
protected $useTimestamps = true;
|
||||
protected $createdField = 'created_at';
|
||||
protected $updatedField = 'updated_at';
|
||||
|
||||
|
||||
/**
|
||||
* Retrieves a resource from the database based on the given search string.
|
||||
*
|
||||
* @param string $search The search string to filter the resource by. Defaults to an empty string.
|
||||
* @return mixed The resource query builder instance if search string is empty, otherwise the filtered resource query builder instance.
|
||||
*/
|
||||
public function getResource(string $search = "")
|
||||
{
|
||||
$builder = $this->db
|
||||
->table($this->table . " t1")
|
||||
->select(
|
||||
"t1.id AS id, t2.username AS user, t1.level AS level, t1.event AS event, t1.ip AS ip, t1.os AS os,
|
||||
t1.browser AS browser, t1.created_at AS created_at"
|
||||
)
|
||||
->join("users t2", "t1.user_id = t2.id", "left")
|
||||
->orderBy('t1.created_at', 'DESC');
|
||||
|
||||
return empty($search)
|
||||
? $builder
|
||||
: $builder
|
||||
->groupStart()
|
||||
->like("t1.id", $search)
|
||||
->orLike("t2.username", $search)
|
||||
->orLike("t1.level", $search)
|
||||
->orLike("t1.event", $search)
|
||||
->orLike("t1.ip", $search)
|
||||
->orLike("t1.os", $search)
|
||||
->orLike("t1.browser", $search)
|
||||
->orLike("t1.created_at", $search)
|
||||
->groupEnd();
|
||||
}
|
||||
|
||||
public function getLogs()
|
||||
{
|
||||
$builder = $this->db
|
||||
->table($this->table . " t1")
|
||||
->select(
|
||||
'SUM( IF( os LIKE "%Windows%", 1, 0 ) ) AS windows,
|
||||
SUM( IF( os = "Mac OS X", 1, 0 ) ) AS mac,
|
||||
SUM( IF( os = "Linux", 1, 0 ) ) AS linux,
|
||||
SUM( IF( os = "Android", 1, 0 ) ) AS android,
|
||||
SUM( IF( os = "iOS", 1, 0 ) ) AS iphone,
|
||||
SUM( IF( browser LIKE "%Chrome%", 1, 0 ) ) AS chrome,
|
||||
SUM( IF( browser LIKE "%Firefox%", 1, 0 ) ) AS firefox,
|
||||
SUM( IF( browser LIKE "%Safari%", 1, 0 ) ) AS safari,
|
||||
SUM( IF( browser LIKE "%Internet Explorer%", 1, 0 ) ) AS ie,
|
||||
SUM( IF( browser LIKE "%Edge%", 1, 0 ) ) AS edge,
|
||||
SUM( IF( browser LIKE "%Opera%", 1, 0 ) ) AS opera'
|
||||
);
|
||||
|
||||
return $builder;
|
||||
}
|
||||
|
||||
}
|
||||
38
ci4/app/Models/Sistema/SettingsModel.php
Normal file
38
ci4/app/Models/Sistema/SettingsModel.php
Normal file
@ -0,0 +1,38 @@
|
||||
<?php
|
||||
namespace App\Models\Sistema;
|
||||
|
||||
use App\Models\BaseModel;
|
||||
|
||||
class SettingsModel extends BaseModel
|
||||
{
|
||||
protected $table = 'auth_settings';
|
||||
protected $primaryKey = 'id';
|
||||
|
||||
protected $returnType = "App\Entities\Sistema\SettingsEntity";
|
||||
|
||||
const SORTABLE = [
|
||||
];
|
||||
|
||||
protected $allowedFields = [
|
||||
'email_gateway',
|
||||
'email_name',
|
||||
'email_address',
|
||||
'email_smtp',
|
||||
'email_port',
|
||||
'email_pass',
|
||||
'email_cert',
|
||||
'remove_log',
|
||||
'remove_log_time',
|
||||
'remove_log_latest',
|
||||
'storage_gateway',
|
||||
'backup_storage',
|
||||
'backup_table',
|
||||
'backup_email',
|
||||
'backup_notification_email',
|
||||
'backup_automatic',
|
||||
'backup_time',
|
||||
'backup_latest'
|
||||
];
|
||||
protected $useTimestamps = true;
|
||||
protected $updatedField = 'updated_at';
|
||||
}
|
||||
180
ci4/app/Views/themes/backend/vuexy/form/activity/index.php → ci4/app/Views/themes/backend/vuexy/form/activity/activityList.php
Executable file → Normal file
180
ci4/app/Views/themes/backend/vuexy/form/activity/index.php → ci4/app/Views/themes/backend/vuexy/form/activity/activityList.php
Executable file → Normal file
@ -1,6 +1,6 @@
|
||||
<?= $this->include("themes/_commonPartialsBs/select2bs5") ?>
|
||||
<?= $this->include("themes/_commonPartialsBs/datatables") ?>
|
||||
<?= $this->extend('themes/backend/vuexy/main/activities_layout') ?>
|
||||
<?= $this->extend('themes/vuexy/main/defaultlayout') ?>
|
||||
|
||||
<?= $this->section('content'); ?>
|
||||
<!--Content Body-->
|
||||
@ -137,31 +137,25 @@
|
||||
<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-primary float-md-right">
|
||||
<?=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 -->
|
||||
<?= view('themes/_commonPartialsBs/_alertBoxes'); ?>
|
||||
<div class="table-responsive">
|
||||
<table id='table-grid' class="table table-striped nowrap" style="width:100%">
|
||||
<table id='activityTable' class="table table-striped table-hover" 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>
|
||||
<th><?=lang("Actividad.user")?></th>
|
||||
<th><?=lang("Actividad.level")?></th>
|
||||
<th><?=lang("Actividad.event")?></th>
|
||||
<th><?=lang("Actividad.ip")?></th>
|
||||
<th><?=lang("Actividad.os")?></th>
|
||||
<th><?=lang("Actividad.browser")?></th>
|
||||
<th><?=lang("Actividad.createdAt")?></th>
|
||||
<th class="text-nowrap"><?= lang('Basic.global.Action') ?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
@ -174,48 +168,112 @@
|
||||
<?= $this->endSection() ?>
|
||||
|
||||
<?= $this->section('additionalInlineJs') ?>
|
||||
"use strict";
|
||||
$(document).ready(function () {
|
||||
let dataFormat = [
|
||||
{
|
||||
targets: 1,
|
||||
render: function ( data, type, row ) {
|
||||
switch (data) {
|
||||
case 'error':
|
||||
return '<span class="badge bg-danger"><?=lang("App.activity_alert_error")?></span>';
|
||||
case 'recovery':
|
||||
return '<span class="badge bg-secondary"><?=lang("App.activity_alert_recovery")?></span>';
|
||||
case 'throttling':
|
||||
return '<span class="badge bg-warning"><?=lang("App.activity_alert_throttling")?></span>';
|
||||
case 'information':
|
||||
return '<span class="badge bg-primary"><?=lang("App.activity_alert_information")?></span>';
|
||||
default:
|
||||
return '<span class="badge bg-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()?>')
|
||||
|
||||
|
||||
const lastColNr = $('#activityTable').find("tr:first th").length - 1;
|
||||
const actionBtns = function(data) {
|
||||
return `<td class="text-right py-0 align-middle">
|
||||
<div class="btn-group btn-group-sm">
|
||||
<button class="btn btn-sm btn-danger btn-delete ms-1" data-id="${data.id}"><?= lang('Basic.global.Delete') ?></button>
|
||||
</div>
|
||||
</td>`;
|
||||
};
|
||||
theTable = $('#activityTable').DataTable({
|
||||
processing: true,
|
||||
serverSide: true,
|
||||
autoWidth: true,
|
||||
responsive: true,
|
||||
scrollX: true,
|
||||
lengthMenu: [ 5, 10, 25, 50, 75, 100, 250, 500, 1000, 2500 ],
|
||||
pageLength: 10,
|
||||
lengthChange: true,
|
||||
"dom": 'lfBrtip',
|
||||
"buttons": [
|
||||
'copy', 'csv', 'excel', 'print', {
|
||||
extend: 'pdfHtml5',
|
||||
orientation: 'landscape',
|
||||
pageSize: 'A4'
|
||||
}
|
||||
];
|
||||
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);
|
||||
],
|
||||
stateSave: true,
|
||||
order: [[1, 'asc']],
|
||||
language: {
|
||||
url: "/themes/vuexy/vendors/libs/datatables-sk/plugins/i18n/es-ES.json"
|
||||
},
|
||||
ajax : $.fn.dataTable.pipeline( {
|
||||
url: '<?= route_to('dataTableOfActividad') ?>',
|
||||
method: 'POST',
|
||||
headers: {'X-Requested-With': 'XMLHttpRequest'},
|
||||
async: true,
|
||||
}),
|
||||
columnDefs: [
|
||||
{
|
||||
orderable: false,
|
||||
searchable: false,
|
||||
targets: [lastColNr]
|
||||
}
|
||||
],
|
||||
columns : [
|
||||
{ 'data': 'user' },
|
||||
{ 'data': 'level' },
|
||||
{ 'data': 'event' },
|
||||
{ 'data': 'ip' },
|
||||
{ 'data': 'os' },
|
||||
{ 'data': 'browser' },
|
||||
{ 'data': 'created_at' },
|
||||
{ 'data': actionBtns }
|
||||
]
|
||||
});
|
||||
|
||||
theTable.on( 'draw.dt', function () {
|
||||
const boolCols = [7];
|
||||
for (let coln of boolCols) {
|
||||
theTable.column(coln, { page: 'current' }).nodes().each( function (cell, i) {
|
||||
cell.innerHTML = cell.innerHTML == '1' ? '<i class="text-success bi bi-check-lg"></i>' : '';
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
/*$(document).on('click', '.btn-delete', function(e) {
|
||||
Swal.fire({
|
||||
title: '<?= lang('Basic.global.sweet.sureToDeleteTitle', [mb_strtolower(lang('Paises.pais'))]) ?>',
|
||||
text: '<?= lang('Basic.global.sweet.sureToDeleteText') ?>',
|
||||
icon: 'warning',
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: '#3085d6',
|
||||
confirmButtonText: '<?= lang('Basic.global.sweet.deleteConfirmationButton') ?>',
|
||||
cancelButtonText: '<?= lang('Basic.global.Cancel') ?>',
|
||||
cancelButtonColor: '#d33'
|
||||
})
|
||||
.then((result) => {
|
||||
const dataId = $(this).data('id');
|
||||
const row = $(this).closest('tr');
|
||||
if (result.value) {
|
||||
$.ajax({
|
||||
url: `<?= route_to('activityList') ?>/${dataId}`,
|
||||
method: 'DELETE',
|
||||
}).done((data, textStatus, jqXHR) => {
|
||||
Toast.fire({
|
||||
icon: 'success',
|
||||
title: data.msg ?? jqXHR.statusText,
|
||||
});
|
||||
|
||||
theTable.clearPipeline();
|
||||
theTable.row($(row)).invalidate().draw();
|
||||
}).fail((jqXHR, textStatus, errorThrown) => {
|
||||
Toast.fire({
|
||||
icon: 'error',
|
||||
title: jqXHR.responseJSON.messages.error,
|
||||
});
|
||||
})
|
||||
}
|
||||
});
|
||||
});*/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<?= $this->endSection() ?>
|
||||
@ -1,234 +0,0 @@
|
||||
<!--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>
|
||||
Reference in New Issue
Block a user