diff --git a/ci4/app/Config/Routes.php b/ci4/app/Config/Routes.php index 22c478bf..c59f22ca 100755 --- a/ci4/app/Config/Routes.php +++ b/ci4/app/Config/Routes.php @@ -370,8 +370,8 @@ $routes->group('clienteprecios', ['namespace' => 'App\Controllers\Clientes'], fu $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->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']); @@ -391,6 +391,10 @@ $routes->group('clienteplantillaprecioslineas', ['namespace' => 'App\Controllers }); $routes->resource('clienteplantillaprecioslineas', ['namespace' => 'App\Controllers\Clientes', 'controller' => 'clienteplantillaprecioslineas', 'except' => 'show,new,create,update']); +$routes->group('clienteusuarios', ['namespace' => 'App\Controllers\Clientes'], function ($routes) { + $routes->post('datatable', 'Clienteusuarios::datatable', ['as' => 'dataTableOfClienteUsuarios']); +}); + $routes->group('formas-pagos', ['namespace' => 'App\Controllers\Configuracion'], function ($routes) { $routes->get('', 'Formaspagos::index', ['as' => 'formaDePagoList']); @@ -512,6 +516,7 @@ $routes->group('clientecontactos', ['namespace' => 'App\Controllers\Clientes'], $routes->post('(:num)/edit', 'Clientecontactos::edit/$1', ['as' => 'updateClienteContactos']); $routes->post('datatable', 'Clientecontactos::datatable', ['as' => 'dataTableOfClienteContactos']); $routes->post('datatable_editor', 'Clientecontactos::datatable_editor', ['as' => 'editorOfClienteContactos']); + $routes->get('delete/(:num)', 'Clientecontactos::delete/$1', ['as' => 'deleteClienteContactos']); $routes->post('allmenuitems', 'Clientecontactos::allItemsSelect', ['as' => 'select2ItemsOfClienteContactos']); $routes->post('menuitems', 'Clientecontactos::menuItems', ['as' => 'menuItemsOfClienteContactos']); }); diff --git a/ci4/app/Controllers/Clientes/Clientecontactos.php b/ci4/app/Controllers/Clientes/Clientecontactos.php index 3bc2f19a..7f425d01 100755 --- a/ci4/app/Controllers/Clientes/Clientecontactos.php +++ b/ci4/app/Controllers/Clientes/Clientecontactos.php @@ -60,7 +60,6 @@ class Clientecontactos extends \App\Controllers\GoBaseResourceController public function add() { - $requestMethod = $this->request->getMethod(); if ($requestMethod === 'post') : diff --git a/ci4/app/Controllers/Clientes/Clienteusuarios.php b/ci4/app/Controllers/Clientes/Clienteusuarios.php new file mode 100644 index 00000000..1324b513 --- /dev/null +++ b/ci4/app/Controllers/Clientes/Clienteusuarios.php @@ -0,0 +1,77 @@ +viewData['pageTitle'] = lang('ClienteContactos.moduleTitle'); + $this->viewData['usingSweetAlert'] = true; + parent::initController($request, $response, $logger); + } + + + + 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(Collection::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 = ClienteUsuariosModel::SORTABLE[$requestedOrder >= 0 ? $requestedOrder : 1]; + $dir = $reqData['order']['0']['dir'] ?? 'asc'; + + $id_C = $reqData['id_cliente'] ?? -1; + + $resourceData = $this->model->getResource("", $id_C)->orderBy($order, $dir)->limit($length, $start)->get()->getResultObject(); + + return $this->respond(Collection::datatable( + $resourceData, + $this->model->getResource()->countAllResults(), + $this->model->getResource("", $id_C)->countAllResults() + )); + } else { + return $this->failUnauthorized('Invalid request', 403); + } + } + + + +} diff --git a/ci4/app/Controllers/Tarifas/Tarifaencuadernaciontiradas.php b/ci4/app/Controllers/Tarifas/Tarifaencuadernaciontiradas.php index d2d2e827..006cd3a4 100755 --- a/ci4/app/Controllers/Tarifas/Tarifaencuadernaciontiradas.php +++ b/ci4/app/Controllers/Tarifas/Tarifaencuadernaciontiradas.php @@ -117,6 +117,24 @@ class Tarifaencuadernaciontiradas extends \App\Controllers\GoBaseResourceControl ->validator('Validate::notEmpty', array( 'message' => lang('TarifaEncuadernacionTiradas.validation.tirada_max.required')) ), + Field::inst('importe_fijo') + ->getFormatter( 'Format::toDecimalChar')->setFormatter( 'Format::fromDecimalChar') + ->validator('Validate::numeric', array( + "decimal" => ',', + 'message' => lang('TarifaEncuadernacionTiradas.validation.tirada_min.decimal')) + ) + ->validator('Validate::notEmpty', array( + 'message' => lang('TarifaEncuadernacionTiradas.validation.tirada_min.required')) + ), + Field::inst('precio_min') + ->getFormatter( 'Format::toDecimalChar')->setFormatter( 'Format::fromDecimalChar') + ->validator('Validate::numeric', array( + "decimal" => ',', + 'message' => lang('TarifaEncuadernacionTiradas.validation.tirada_min.decimal')) + ) + ->validator('Validate::notEmpty', array( + 'message' => lang('TarifaEncuadernacionTiradas.validation.tirada_min.required')) + ), Field::inst('proveedor_id') ->validator('Validate::notEmpty', array( 'message' => lang('TarifaEncuadernacionTiradas.validation.tirada_max.required')) diff --git a/ci4/app/Entities/Tarifas/TarifaEncuadernacionEntity.php b/ci4/app/Entities/Tarifas/TarifaEncuadernacionEntity.php index 8f4d084b..87d18ebe 100755 --- a/ci4/app/Entities/Tarifas/TarifaEncuadernacionEntity.php +++ b/ci4/app/Entities/Tarifas/TarifaEncuadernacionEntity.php @@ -9,8 +9,6 @@ class TarifaEncuadernacionEntity extends \CodeIgniter\Entity\Entity protected $attributes = [ "id" => null, "nombre" => null, - "precio_min" => 0, - "importe_fijo" => 0, "mostrar_en_presupuesto" => 1, "tipo_encuadernacion" => 0, "servicio_encuadernacion" => 0, @@ -23,8 +21,6 @@ class TarifaEncuadernacionEntity extends \CodeIgniter\Entity\Entity "updated_at" => null, ]; protected $casts = [ - "precio_min" => "float", - "importe_fijo" => "float", "mostrar_en_presupuesto" => "int", "tipo_encuadernacion" => "int", "servicio_encuadernacion" => "int", diff --git a/ci4/app/Entities/Tarifas/TarifaEncuadernacionTirada.php b/ci4/app/Entities/Tarifas/TarifaEncuadernacionTirada.php index b432686f..1a65fe07 100755 --- a/ci4/app/Entities/Tarifas/TarifaEncuadernacionTirada.php +++ b/ci4/app/Entities/Tarifas/TarifaEncuadernacionTirada.php @@ -11,6 +11,8 @@ class TarifaEncuadernacionTirada extends \CodeIgniter\Entity\Entity "tirada_min" => 0, "tirada_max" => 0, "proveedor_id" => 0, + "precio_min" => 0, + "importe_fijo" => 0, "user_created_id" => 0, "user_updated_id" => 0, "is_deleted" => 0, @@ -22,6 +24,8 @@ class TarifaEncuadernacionTirada extends \CodeIgniter\Entity\Entity "tirada_min" => "float", "tirada_max" => "float", "proveedor_id" => "int", + "precio_min" => "float", + "importe_fijo" => "float", "user_created_id" => "int", "user_updated_id" => "int", "is_deleted" => "int", diff --git a/ci4/app/Language/es/App.php b/ci4/app/Language/es/App.php index ed5cb4c1..653da4cf 100755 --- a/ci4/app/Language/es/App.php +++ b/ci4/app/Language/es/App.php @@ -130,8 +130,8 @@ return [ "profile_subtitle_tfa" => "Autenticación de dos factores (2FA)", "profile_first_name" => "Nombre", "profile_first_name_ph" => "Escriba su nombre", - "profile_last_name" => "Apellido", - "profile_last_name_ph" => "Escriba su apellido", + "profile_last_name" => "Apellidos", + "profile_last_name_ph" => "Escriba sus apellidos", "profile_email" => "Correo Electrónico", "profile_email_ph" => "Escriba su correo electrónico", "profile_mobile" => "Teléfono Móvil", diff --git a/ci4/app/Language/es/Presupuestos.php b/ci4/app/Language/es/Presupuestos.php index e5ee4dc3..6c92c66a 100755 --- a/ci4/app/Language/es/Presupuestos.php +++ b/ci4/app/Language/es/Presupuestos.php @@ -24,6 +24,11 @@ return [ 'libroCosidoTapaDura' => "Cosido Tapa Dura", 'libroFresadoTapaBlanda' => "Fresado Tapa Blanda", 'libroFresadoTapaDura' => "Fresado Tapa Dura", + 'libroEspiralTapaDura' => "Espiral Tapa Dura", + 'libroEspiralTapaBlanda' => "Espiral Tapa Blanda", + 'libroWireoTapaDura' => "Wire-o Tapa Dura", + 'libroWireoTapaBlanda' => "Wire-o Tapa Blanda", + 'libroGrapado' => "Grapado", 'datosPresupuesto' => 'Datos generales del presupuesto', 'datosLibro' => 'Datos del libro', diff --git a/ci4/app/Language/es/TarifaEncuadernacionLineas.php b/ci4/app/Language/es/TarifaEncuadernacionLineas.php index bcc404dc..4cdd7f69 100755 --- a/ci4/app/Language/es/TarifaEncuadernacionLineas.php +++ b/ci4/app/Language/es/TarifaEncuadernacionLineas.php @@ -6,8 +6,8 @@ return [ 'id' => 'ID', 'moduleTitle' => 'Tarifa Encuadernación Lineas', 'deleteLine' => 'el registro seleccionado', - 'precioMax' => 'Precio Max', - 'precioMin' => 'Precio Min', + 'precioMax' => 'Precio Pág. Max', + 'precioMin' => 'Precio Pág. Min', 'tiempoMin' => 'Tiempo Min', 'tiempoMax' => 'Tiempo Max', 'precioHora' => 'Precio/hora', diff --git a/ci4/app/Models/Clientes/ClienteUsuariosModel.php b/ci4/app/Models/Clientes/ClienteUsuariosModel.php new file mode 100644 index 00000000..6bec17a9 --- /dev/null +++ b/ci4/app/Models/Clientes/ClienteUsuariosModel.php @@ -0,0 +1,110 @@ + "t1.first_name", + 1 => "t1.last_name", + 2 => "t1.email", + ]; + + protected $allowedFields = ["id", "first_name", "last_name", "email"]; + protected $returnType = "App\Entities\Usuarios\UserEntity"; + + protected $useTimestamps = true; + protected $useSoftDeletes = false; + + protected $createdField = "created_at"; + + protected $updatedField = "updated_at"; + + public static $labelField = "nombre"; + + protected $validationRules = [ + "last_name" => [ + "label" => "ClienteContactos.apellidos", + "rules" => "trim|max_length[500]", + ], + "email" => [ + "label" => "ClienteContactos.email", + "rules" => "trim|max_length[150]|valid_email|permit_empty", + ], + "first_name" => [ + "label" => "ClienteContactos.nombre", + "rules" => "trim|max_length[100]", + ], + ]; + + protected $validationMessages = [ + "last_name" => [ + "max_length" => "ClienteContactos.validation.apellidos.max_length", + ], + + "email" => [ + "max_length" => "ClienteContactos.validation.email.max_length", + "valid_email" => "ClienteContactos.validation.email.valid_email", + ], + "first_name" => [ + "max_length" => "ClienteContactos.validation.nombre.max_length", + ], + ]; + + public function findAllWithClientes(string $selcols = "*", int $limit = null, int $offset = 0) + { + $sql = + "SELECT t1." . + $selcols . + ", t2.nombre AS cliente_id FROM " . + $this->table . + " t1 LEFT JOIN clientes t2 ON t1.cliente_id = t2.id"; + if (!is_null($limit) && intval($limit) > 0) { + $sql .= " LIMIT " . $limit; + } + + if (!is_null($offset) && intval($offset) > 0) { + $sql .= " OFFSET " . $offset; + } + + $query = $this->db->query($sql); + $result = $query->getResultObject(); + return $result; + } + + /** + * Get resource data. + * + * @param string $search + * + * @return \CodeIgniter\Database\BaseBuilder + */ + public function getResource(string $search = "", $cliente_id = -1) + { + $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" + ); + + $builder->where('t1.id_user', $cliente_id); + + return empty($search) + ? $builder + : $builder + ->groupStart() + ->like("t1.first_name", $search) + ->orLike("t1.last_name", $search) + ->orLike("t1.email", $search) + ->groupEnd(); + } +} diff --git a/ci4/app/Models/Presupuestos/PresupuestoEncuadernacionesModel.php b/ci4/app/Models/Presupuestos/PresupuestoEncuadernacionesModel.php index 30f327b6..ac18482a 100755 --- a/ci4/app/Models/Presupuestos/PresupuestoEncuadernacionesModel.php +++ b/ci4/app/Models/Presupuestos/PresupuestoEncuadernacionesModel.php @@ -297,7 +297,7 @@ class PresupuestoEncuadernacionesModel extends \App\Models\GoBaseModel private function calcularTarifa($tarifa, $paginas, $ejemplares, $is_POD=false){ - $precio_unidad = floatval($tarifa->precio_min) - (floatval($tarifa->precio_min) - floatval($tarifa->precio_max))/($tarifa->paginas_max - $tarifa->paginas_min) * ($paginas - $tarifa->paginas_min); + $precio_unidad = floatval($tarifa->precio_max) - (floatval($tarifa->precio_max) - floatval($tarifa->precio_min))/($tarifa->paginas_max - $tarifa->paginas_min) * ($paginas - $tarifa->paginas_min); if ($paginas > $tarifa->paginas_max) $precio_unidad = $tarifa->precio_max; $precio_unidad = $precio_unidad* (1+ floatval($tarifa->margen)/100.0); diff --git a/ci4/app/Models/Tarifas/TarifaEncuadernacionModel.php b/ci4/app/Models/Tarifas/TarifaEncuadernacionModel.php index 7dc92afe..38585ac2 100755 --- a/ci4/app/Models/Tarifas/TarifaEncuadernacionModel.php +++ b/ci4/app/Models/Tarifas/TarifaEncuadernacionModel.php @@ -14,18 +14,14 @@ class TarifaEncuadernacionModel extends \App\Models\GoBaseModel const SORTABLE = [ 0 => "t1.nombre", - 1 => "t1.precio_min", - 2 => "t1.importe_fijo", - 3 => "t1.mostrar_en_presupuesto", - 4 => "t1.tipo_encuadernacion", - 5 => "t1.servicio_encuadernacion", + 1 => "t1.mostrar_en_presupuesto", + 2 => "t1.tipo_encuadernacion", + 3 => "t1.servicio_encuadernacion", ]; protected $allowedFields = [ "nombre", - "precio_min", - "importe_fijo", "mostrar_en_presupuesto", "tipo_encuadernacion", "servicio_encuadernacion", @@ -51,30 +47,13 @@ class TarifaEncuadernacionModel extends \App\Models\GoBaseModel "label" => "Tarifaencuadernacion.nombre", "rules" => "trim|required|max_length[255]", ], - - "precio_min" => [ - "label" => "Tarifaencuadernacion.precioMin", - "rules" => "required|decimal", - ], - "importe_fijo" => [ - "label" => "Tarifaencuadernacion.importeFijo", - "rules" => "required|decimal", - ], ]; protected $validationMessages = [ "nombre" => [ "max_length" => "Tarifaencuadernacion.validation.nombre.max_length", "required" => "Tarifaencuadernacion.validation.nombre.required", - ], - "precio_min" => [ - "required" => "Tarifaencuadernacion.validation.precio_min.required", - "decimal" => "Tarifaencuadernacion.validation.precio_min.decimal", - ], - "importe_fijo" => [ - "required" => "Tarifaencuadernacion.validation.importe_fijo.required", - "decimal" => "Tarifaencuadernacion.validation.importe_fijo.decimal", - ], + ] ]; /** @@ -87,7 +66,7 @@ class TarifaEncuadernacionModel extends \App\Models\GoBaseModel public function getResource(string $search = "") { $builder = $this->db->table($this->table . " t1")->select("t1.id AS id, t1.nombre AS nombre, - t1.precio_min AS precio_min, t1.importe_fijo AS importe_fijo, t1.mostrar_en_presupuesto AS mostrar_en_presupuesto, + t1.mostrar_en_presupuesto AS mostrar_en_presupuesto, t1.tipo_encuadernacion AS tipo_encuadernacion, t1.servicio_encuadernacion AS servicio_encuadernacion, t1.por_horas AS por_horas"); @@ -144,7 +123,7 @@ class TarifaEncuadernacionModel extends \App\Models\GoBaseModel $builder = $this->db ->table($this->table . " t1") ->select( - "t1.id AS tarifa_enc_id, t1.nombre AS tarifa_enc_nombre, t1.precio_min AS tarifa_precio_min, t1.importe_fijo AS tarifa_importe_fijo, + "t1.id AS tarifa_enc_id, t1.nombre AS tarifa_enc_nombre, t2.precio_min AS tarifa_precio_min, t2.importe_fijo AS tarifa_importe_fijo, t2.id AS tarifa_tirada_id, t2.proveedor_id AS proveedor_id, t5.nombre AS proveedor_nombre, t2.tirada_min AS tirada_min, t2.tirada_max AS tirada_max, t3.id AS tarifa_linea_id, t3.paginas_libro_min AS paginas_min, t3.paginas_libro_max AS paginas_max, t3.precio_min AS precio_min, t3.precio_max AS precio_max, t3.margen AS margen, t4.ancho_min AS ancho_min, t4.ancho_max AS ancho_max, t4.alto_min AS alto_min, t4.alto_max AS alto_max" @@ -180,7 +159,7 @@ class TarifaEncuadernacionModel extends \App\Models\GoBaseModel $builder = $this->db ->table($this->table . " t1") ->select( - "t1.id AS tarifa_enc_id, t1.nombre AS tarifa_enc_nombre, t1.precio_min AS tarifa_precio_min, t1.importe_fijo AS tarifa_importe_fijo, + "t1.id AS tarifa_enc_id, t1.nombre AS tarifa_enc_nombre, t2.precio_min AS tarifa_precio_min, t2.importe_fijo AS tarifa_importe_fijo, t2.id AS tarifa_tirada_id, t2.proveedor_id AS proveedor_id, t5.nombre AS proveedor_nombre, t2.tirada_min AS tirada_min, t2.tirada_max AS tirada_max, t3.id AS tarifa_linea_id, t3.tiempo_min AS tiempo_min, t3.tiempo_max AS tiempo_max, t3.precio_hora AS precio_hora, t3.margen AS margen" ) diff --git a/ci4/app/Models/Tarifas/TarifaEncuadernacionTiradaModel.php b/ci4/app/Models/Tarifas/TarifaEncuadernacionTiradaModel.php index d51f52f7..dc3805b5 100755 --- a/ci4/app/Models/Tarifas/TarifaEncuadernacionTiradaModel.php +++ b/ci4/app/Models/Tarifas/TarifaEncuadernacionTiradaModel.php @@ -16,7 +16,8 @@ class TarifaEncuadernacionTiradaModel extends \App\Models\GoBaseModel 0 => "t3.nombre", 1 => "t1.tirada_min", 2 => "t1.tirada_max", - + 3 => "t1.precio_min", + 4 => "t1.importe_fijo", ]; protected $allowedFields = [ @@ -24,6 +25,8 @@ class TarifaEncuadernacionTiradaModel extends \App\Models\GoBaseModel "tirada_min", "tirada_max", "proveedor_id", + "precio_min", + "importe_fijo", "user_created_id", "user_updated_id", "is_deleted", @@ -49,7 +52,15 @@ class TarifaEncuadernacionTiradaModel extends \App\Models\GoBaseModel "tirada_min" => [ "label" => "TarifaEncuadernacionTiradas.tiradaMin", "rules" => "required|integer", - ] + ], + "precio_min" => [ + "label" => "Tarifaencuadernacion.precioMin", + "rules" => "required|decimal", + ], + "importe_fijo" => [ + "label" => "Tarifaencuadernacion.importeFijo", + "rules" => "required|decimal", + ], ]; protected $validationMessages = [ @@ -60,7 +71,15 @@ class TarifaEncuadernacionTiradaModel extends \App\Models\GoBaseModel "tirada_min" => [ "integer" => "TarifaEncuadernacionTiradas.validation.tirada_min.integer", "required" => "TarifaEncuadernacionTiradas.validation.tirada_min.required", - ] + ], + "precio_min" => [ + "required" => "Tarifaencuadernacion.validation.precio_min.required", + "decimal" => "Tarifaencuadernacion.validation.precio_min.decimal", + ], + "importe_fijo" => [ + "required" => "Tarifaencuadernacion.validation.importe_fijo.required", + "decimal" => "Tarifaencuadernacion.validation.importe_fijo.decimal", + ], ]; /** @@ -75,8 +94,10 @@ class TarifaEncuadernacionTiradaModel extends \App\Models\GoBaseModel $builder = $this->db ->table($this->table . " t1") ->select( - "t1.id AS id, t1.tarifa_encuadernacion_id AS tarifa_encuadernacion_id, t1.tirada_min AS tirada_min, - t1.tirada_max AS tirada_max, t3.nombre AS proveedor, t3.id AS proveedor_id, t2.id AS tarifa_encuadernacion" + "t1.id AS id, t1.tarifa_encuadernacion_id AS tarifa_encuadernacion_id, + t1.precio_min AS precio_min, t1.importe_fijo AS importe_fijo, + t1.tirada_min AS tirada_min, t1.tirada_max AS tirada_max, + t3.nombre AS proveedor, t3.id AS proveedor_id, t2.id AS tarifa_encuadernacion" ); //JJO $builder->where('tarifa_encuadernacion_id', $tarifa_encuadernacion_id); @@ -92,10 +113,14 @@ class TarifaEncuadernacionTiradaModel extends \App\Models\GoBaseModel ->groupStart() ->Like("t1.tirada_min", $search) ->orLike("t1.tirada_max", $search) + ->orLike("t1.precio_min", $search) + ->orLike("t1.importe_fijo", $search) ->orLike("t3.nombre", $search) ->orLike("t1.tirada_min", $search) ->orLike("t1.tirada_max", $search) ->orLike("t3.nombre", $search) + ->orLike("t1.precio_min", $search) + ->orLike("t1.importe_fijo", $search) ->groupEnd(); } diff --git a/ci4/app/Views/themes/_commonPartialsBs/_alertBoxes.php b/ci4/app/Views/themes/_commonPartialsBs/_alertBoxes.php index 9c195cfb..6f0ddc22 100755 --- a/ci4/app/Views/themes/_commonPartialsBs/_alertBoxes.php +++ b/ci4/app/Views/themes/_commonPartialsBs/_alertBoxes.php @@ -22,7 +22,7 @@ if (session()->has('error')) { -= $this->section('additionalInlineJs') ?> += $this->section('globalJsFunctions') ?> function popAlert(message, alertClass, alertIcon, containerId = 'sk-alert'){ var htmlString = ` 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 66c48389..93a16106 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 @@ -564,7 +564,6 @@ -