diff --git a/.idea/safekat.iml b/.idea/safekat.iml index c956989b..91d27d36 100755 --- a/.idea/safekat.iml +++ b/.idea/safekat.iml @@ -1,7 +1,11 @@ - + + + + + diff --git a/ci4/app/Config/Routes.php b/ci4/app/Config/Routes.php index bcebcd38..af4d82b1 100755 --- a/ci4/app/Config/Routes.php +++ b/ci4/app/Config/Routes.php @@ -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']); diff --git a/ci4/app/Controllers/Clientes/Cliente.php b/ci4/app/Controllers/Clientes/Cliente.php index d486164a..ab1e47a0 100755 --- a/ci4/app/Controllers/Clientes/Cliente.php +++ b/ci4/app/Controllers/Clientes/Cliente.php @@ -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; diff --git a/ci4/app/Controllers/Clientes/Clienteprecios.php b/ci4/app/Controllers/Clientes/ClientePrecios.php similarity index 100% rename from ci4/app/Controllers/Clientes/Clienteprecios.php rename to ci4/app/Controllers/Clientes/ClientePrecios.php diff --git a/ci4/app/Models/Clientes/ClienteUsuariosModel.php b/ci4/app/Models/Clientes/ClienteUsuariosModel.php index 948cee51..474b6ce3 100644 --- a/ci4/app/Models/Clientes/ClienteUsuariosModel.php +++ b/ci4/app/Models/Clientes/ClienteUsuariosModel.php @@ -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(); } } diff --git a/ci4/app/Views/themes/backend/vuexy/form/clientes/cliente/_clienteFormItems.php b/ci4/app/Views/themes/backend/vuexy/form/clientes/cliente/_clienteFormItems.php index 93a16106..e80c39cb 100755 --- a/ci4/app/Views/themes/backend/vuexy/form/clientes/cliente/_clienteFormItems.php +++ b/ci4/app/Views/themes/backend/vuexy/form/clientes/cliente/_clienteFormItems.php @@ -15,7 +15,7 @@ Ficha de Cliente - +