Actualizacion automatica: 2024-05-07 21:16:26

This commit is contained in:
imnavajas
2024-05-07 21:16:39 +02:00
parent bdf605b26f
commit a38ebc012f
12 changed files with 100 additions and 255 deletions

View File

@ -11,7 +11,7 @@ service('auth')->routes($routes);
//WEB ROUTER ------------------------------------------------------
//------------------------------------------------------------------
$routes->get('/', 'Home::index');
$routes->get('/', 'Home::index', ['as' => 'home']);
$routes->get('lang/{locale}', 'Language::index');
$routes->get('viewmode/(:alpha)', 'Viewmode::index/$1');
@ -334,7 +334,29 @@ $routes->group('provincias', ['namespace' => 'App\Controllers\Configuracion'], f
$routes->resource('provincias', ['namespace' => 'App\Controllers\Configuracion', 'controller' => 'Provincias', 'except' => 'show,new,create,update']);
$routes->group('cliente', ['namespace' => 'App\Controllers\Clientes'], function ($routes) {
/* Rutas para configuraciones */
$routes->group('clientes', ['namespace' => 'App\Controllers\Clientes'], function ($routes) {
/* Cliente */
$routes->group('cliente', ['namespace' => 'App\Controllers\Clientes'], function ($routes) {
$routes->get('', 'Cliente::index', ['as' => 'clienteList']);
$routes->match(['get', 'post'], 'add', 'Cliente::add', ['as' => 'clienteAdd']);
$routes->match(['get', 'post'], 'edit/(:num)', 'Cliente::edit/$1', ['as' => 'clienteEdit']);
$routes->get('delete/(:num)', 'Cliente::delete/$1', ['as' => 'clienteDelete']);
$routes->post('datatable', 'Cliente::datatable', ['as' => 'clienteDT']);
});
/* Precios */
/*$routes->group('precios', ['namespace' => 'App\Controllers\Clientes'], function ($routes) {
$routes->post('datatable', 'ClientePrecios::datatable', ['as' => 'clientePreciosDT']);
$routes->post('datatable_editor', 'ClientePrecios::datatable_editor', ['as' => 'clientePreciosDTE']);
});*/
});
/*$routes->group('cliente', ['namespace' => 'App\Controllers\Clientes'], function ($routes) {
$routes->get('', 'Cliente::index', ['as' => 'clienteList']);
$routes->get('add', 'Cliente::add', ['as' => 'newCliente']);
$routes->post('add', 'Cliente::add', ['as' => 'createCliente']);
@ -346,15 +368,15 @@ $routes->group('cliente', ['namespace' => 'App\Controllers\Clientes'], function
$routes->post('allmenuitems', 'Cliente::allItemsSelect', ['as' => 'select2ItemsOfClientes']);
$routes->post('menuitems', 'Cliente::menuItems', ['as' => 'menuItemsOfClientes']);
});
$routes->resource('cliente', ['namespace' => 'App\Controllers\Clientes', 'controller' => 'Cliente', 'except' => 'show,new,create,update']);
$routes->resource('cliente', ['namespace' => 'App\Controllers\Clientes', 'controller' => 'Cliente', 'except' => 'show,new,create,update']);*/
$routes->group('clienteprecios', ['namespace' => 'App\Controllers\Clientes'], function ($routes) {
$routes->post('datatable', 'Clienteprecios::datatable', ['as' => 'dataTableOfClienteprecios']);
$routes->post('datatable_editor', 'Clienteprecios::datatable_editor', ['as' => 'editorOfClienteprecios']);
});
$routes->resource('clienteprecios', ['namespace' => 'App\Controllers\Clientes', 'controller' => 'Clienteprecios', 'except' => 'show,new,create,update']);
$routes->group('clienteplantillaprecios', ['namespace' => 'App\Controllers\Clientes'], function ($routes) {
$routes->get('', 'Clienteplantillaprecios::index', ['as' => 'clienteplantillapreciosList']);
$routes->get('add', 'Clienteplantillaprecios::add', ['as' => 'newClienteplantillaprecios']);

View File

@ -129,7 +129,7 @@ class Cliente extends \App\Controllers\BaseResourceController
$this->viewData['userList2'] = $this->getUserListItems2($clienteEntity->soporte_id ?? null);
$this->viewData['formaDePagoList'] = $this->getFormaDePagoListItems($clienteEntity->forma_pago_id ?? null);
$this->viewData['formAction'] = site_url('cliente/add'); // route_to('createCliente'); IMN
$this->viewData['formAction'] = route_to('clienteAdd');
$this->viewData['boxTitle'] = lang('Basic.global.addNew') . ' ' . lang('Clientes.moduleTitle') . ' ' . lang('Basic.global.addNewSuffix');
@ -227,7 +227,7 @@ class Cliente extends \App\Controllers\BaseResourceController
$this->viewData['userList2'] = $this->getUserListItems2($clienteEntity->soporte_id ?? null);
$this->viewData['formaDePagoList'] = $this->getFormaDePagoListItems($clienteEntity->forma_pago_id ?? null);
$this->viewData['formAction'] = route_to('updateCliente', $id);
$this->viewData['formAction'] = route_to('clienteEdit', $id);
$this->viewData['boxTitle'] = lang('Basic.global.edit2') . ' ' . lang('Clientes.moduleTitle') . ' ' . lang('Basic.global.edit3');
@ -355,10 +355,10 @@ class Cliente extends \App\Controllers\BaseResourceController
protected function getUserListItems($selId = null)
{
$data = ['' => lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('Users.user'))])];
if (!empty($selId)) :
$userModel = model('App\Models\Usuarios\UserModel');
if (!is_null($selId)) :
$userModel = model('App\Models\UserModel');
$selOption = $userModel->where('id_user', $selId)->findColumn('first_name');
$selOption = $userModel->where('id', $selId)->findColumn('first_name');
if (!empty($selOption)) :
$data[$selId] = $selOption[0];
endif;
@ -370,7 +370,7 @@ class Cliente extends \App\Controllers\BaseResourceController
protected function getComunidadAutonomaListItems($selId = null)
{
$data = ['' => lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('ComunidadesAutonomas.comunidadAutonoma'))])];
if (!empty($selId)) :
if (!is_null($selId)) :
$comunidadAutonomaModel = model('App\Models\Configuracion\ComunidadAutonomaModel');
$selOption = $comunidadAutonomaModel->where('id', $selId)->findColumn('nombre');
@ -385,10 +385,10 @@ class Cliente extends \App\Controllers\BaseResourceController
protected function getUserListItems2($selId = null)
{
$data = ['' => lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('Users.user'))])];
if (!empty($selId)) :
$userModel = model('App\Models\Configuracion\UserModel');
if (!is_null($selId)) :
$userModel = model('App\Models\UserModel');
$selOption = $userModel->where('id_user', $selId)->findColumn('last_name');
$selOption = $userModel->where('id', $selId)->findColumn('last_name');
if (!empty($selOption)) :
$data[$selId] = $selOption[0];
endif;

View File

@ -2,9 +2,11 @@
namespace App\Models\Clientes;
class ClienteUsuariosModel extends \App\Models\BaseModel
use CodeIgniter\Shield\Models\UserModel as ShieldUserModel;
class ClienteUsuariosModel extends ShieldUserModel
{
protected $table = "auth_user";
protected $table = "users";
/**
* Whether primary key uses auto increment.
@ -16,11 +18,11 @@ class ClienteUsuariosModel extends \App\Models\BaseModel
const SORTABLE = [
0 => "t1.first_name",
1 => "t1.last_name",
2 => "t1.email",
2 => "t2.secret",
];
protected $allowedFields = ["id", "first_name", "last_name", "email"];
protected $returnType = "App\Entities\Usuarios\UserEntity";
protected $returnType = "App\Entities\Usuarios\UsersEntity";
protected $useTimestamps = true;
protected $useSoftDeletes = false;
@ -93,10 +95,12 @@ class ClienteUsuariosModel extends \App\Models\BaseModel
$builder = $this->db
->table($this->table . " t1")
->select(
"t1.id_user AS id, t1.first_name AS nombre, t1.last_name AS apellidos, t1.email AS email"
"t1.id AS id, t1.first_name AS nombre, t1.last_name AS apellidos,
t2.secret AS email"
);
$builder->where('t1.id_user', $cliente_id);
$builder->join("auth_identities t2", "t1.id = t2.user_id", "left");
$builder->where('t1.id', $cliente_id);
return empty($search)
? $builder
@ -104,7 +108,7 @@ class ClienteUsuariosModel extends \App\Models\BaseModel
->groupStart()
->like("t1.first_name", $search)
->orLike("t1.last_name", $search)
->orLike("t1.email", $search)
->orLike("t2.secret", $search)
->groupEnd();
}
}

View File

@ -15,7 +15,7 @@
Ficha de Cliente
</button>
</li>
<?php if ($formAction !== site_url('cliente/add')){ ?>
<?php if ($formAction !== route_to('clienteAdd')){ ?>
<li class="nav-item">
<button
type="button"
@ -564,7 +564,7 @@
</div>
<?php if ($formAction !== site_url('cliente/add')){ ?>
<?php if ($formAction !== route_to('clienteAdd')){ ?>
<div class="tab-pane fade" id="tarifascliente" role="tabpanel">
<?= view("themes/backend/vuexy/form/clientes/cliente/convert2templateModal") ?>
<div class='row'>
@ -685,7 +685,7 @@
<?php if ($formAction !== site_url('cliente/add')){ ?>
<?php if ($formAction !== route_to('clienteAdd')){ ?>
<?= $this->section("additionalInlineJs") ?>
/****************************************
Funcionamiento general

View File

@ -9,7 +9,7 @@
<div class="card card-info">
<div class="card-header">
<h3 class="card-title"><?=lang('Clientes.clienteList') ?></h3>
<?=anchor(route_to('newCliente'), lang('Basic.global.addNew').' '.lang('Clientes.cliente'), ['class'=>'btn btn-primary float-end']); ?>
<?=anchor(route_to('clienteAdd'), lang('Basic.global.addNew').' '.lang('Clientes.cliente'), ['class'=>'btn btn-primary float-end']); ?>
</div><!--//.card-header -->
<div class="card-body">
<?= view('themes/_commonPartialsBs/_alertBoxes'); ?>
@ -76,7 +76,7 @@
url: "/themes/vuexy/vendor/libs/datatables-sk/plugins/i18n/es-ES.json"
},
ajax : $.fn.dataTable.pipeline( {
url: '<?= route_to('dataTableOfClientes') ?>',
url: '<?= route_to('clienteDT') ?>',
method: 'POST',
headers: {'X-Requested-With': 'XMLHttpRequest'},
async: true,

View File

@ -16,41 +16,13 @@
<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>
<?= lang("App.menu_dashboard") ?>
</a>
</li>
<?php
/**
* MENU CLIENTES
*/
if (auth()->user()->can('clientes.menu')) {
require "menus/dashboard_menu.php";
?>
<!-- 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>
<?= lang("App.menu_clientes") ?>
</a>
<ul class="menu-sub">
<li class="menu-item">
<a href="<?= site_url("clientes/cliente") ?>" class="menu-link">
<?= lang("App.menu_clientes") ?>
</a>
</li>
<li class="menu-item">
<a href="<?= site_url("clientes/clienteplantillaprecios") ?>" class="menu-link">
<?= lang("App.menu_plantillas_tarifas_clientes") ?>
</a>
</li>
</ul>
</li>
<?php } ?>
require "menus/clientes_menu.php";
?>
<?php

View File

@ -1,12 +1,31 @@
<?php
$clientesItems = [
"link" => "javascript:void(0)",
"text" => lang("App.menu_clientes"),
"submenu" => [
["link" => site_url("clientes/cliente"), "text" => lang("App.menu_clientes")],
["link" => site_url("clientes/clienteplantillaprecios"), "text" => lang("App.menu_plantillas_tarifas_clientes")]
]
];
/**
* MENU CLIENTES
*/
if (auth()->user()->can('clientes.menu') ||
auth()->user()->can('plantilla-tarifa.menu')) {
?>
<!-- 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>
<?= lang("App.menu_clientes") ?>
</a>
<ul class="menu-sub">
<?php if (auth()->user()->can('clientes.menu')) { ?>
<li class="menu-item">
<a href="<?= route_to("clienteList") ?>" class="menu-link">
<?= lang("App.menu_clientes") ?>
</a>
</li>
<?php } ?>
<?php if (auth()->user()->can('plantilla-tarifa.menu')) { ?>
<li class="menu-item">
<a href="<?= site_url("clientes/clienteplantillaprecios") ?>" class="menu-link">
<?= lang("App.menu_plantillas_tarifas_clientes") ?>
</a>
</li>
<?php } ?>
</ul>
</li>
<?php } ?>

View File

@ -1,10 +1,11 @@
<?php
$dashboardItems = [
'icon' => 'ti ti-dashboard',
'langKey' => 'App.menu_dashboard',
'url' => '',
'isActive' => true
];
/**
* MENU DASHBOARD
*/
?>
<li class="menu-item active">
<a href="<?= route_to("home") ?>" class="menu-link">
<i class="menu-icon tf-icons ti ti-dashboard"></i>
<?= lang("App.menu_dashboard") ?>
</a>
</li>