mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
terminando form de clientes direcciones
This commit is contained in:
@ -344,7 +344,7 @@ $routes->group('cliente', ['namespace' => 'App\Controllers\Clientes'], function
|
||||
$routes->post('add', 'Cliente::add', ['as' => 'createCliente']);
|
||||
$routes->post('create', 'Cliente::create', ['as' => 'ajaxCreateCliente']);
|
||||
$routes->put('(:num)/update', 'Cliente::update/$1', ['as' => 'ajaxUpdateCliente']);
|
||||
$routes->post('(:num)/edit', 'Cliente::edit/$1', ['as' => 'updateCliente']);
|
||||
$routes->post('edit/(:num)', 'Cliente::edit/$1', ['as' => 'updateCliente']);
|
||||
$routes->get('delete/(:num)', 'Cliente::delete/$1', ['as' => 'deleteCliente']);
|
||||
$routes->post('datatable', 'Cliente::datatable', ['as' => 'dataTableOfClientes']);
|
||||
$routes->post('allmenuitems', 'Cliente::allItemsSelect', ['as' => 'select2ItemsOfClientes']);
|
||||
|
||||
@ -78,7 +78,8 @@ class Cliente extends \App\Controllers\GoBaseResourceController
|
||||
|
||||
public function add()
|
||||
{
|
||||
|
||||
// JJO
|
||||
$session = session();
|
||||
|
||||
$requestMethod = $this->request->getMethod();
|
||||
|
||||
@ -90,6 +91,8 @@ class Cliente extends \App\Controllers\GoBaseResourceController
|
||||
|
||||
$sanitizedData = $this->sanitized($postData, $nullIfEmpty);
|
||||
|
||||
// JJO
|
||||
$sanitizedData['user_created_id'] = $session->id_user;
|
||||
|
||||
$noException = true;
|
||||
if ($successfulResult = $this->canValidate()) : // if ($successfulResult = $this->validate($this->formValidationRules) ) :
|
||||
@ -148,6 +151,9 @@ class Cliente extends \App\Controllers\GoBaseResourceController
|
||||
public function edit($requestedId = null)
|
||||
{
|
||||
|
||||
// JJO
|
||||
$session = session();
|
||||
|
||||
if ($requestedId == null) :
|
||||
return $this->redirect2listView();
|
||||
endif;
|
||||
@ -181,6 +187,9 @@ class Cliente extends \App\Controllers\GoBaseResourceController
|
||||
$sanitizedData['tirada_flexible'] = false;
|
||||
}
|
||||
|
||||
// JJO
|
||||
$sanitizedData['user_updated_id'] = $session->id_user;
|
||||
|
||||
$noException = true;
|
||||
if ($successfulResult = $this->canValidate()) : // if ($successfulResult = $this->validate($this->formValidationRules) ) :
|
||||
|
||||
@ -338,15 +347,10 @@ class Cliente extends \App\Controllers\GoBaseResourceController
|
||||
|
||||
protected function getPaisListItems($selId = null)
|
||||
{
|
||||
$data = ['' => lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('Paises.pais'))])];
|
||||
if (!empty($selId)) :
|
||||
$paisModel = model('App\Models\Configuracion\PaisModel');
|
||||
$paisModel = model('App\Models\Configuracion\PaisModel');
|
||||
$onlyActiveOnes = true;
|
||||
$data = $paisModel->getAllForMenu('id, nombre', 'nombre', $onlyActiveOnes);
|
||||
|
||||
$selOption = $paisModel->where('id', $selId)->findColumn('nombre');
|
||||
if (!empty($selOption)) :
|
||||
$data[$selId] = $selOption[0];
|
||||
endif;
|
||||
endif;
|
||||
return $data;
|
||||
}
|
||||
|
||||
|
||||
50
ci4/app/Controllers/Clientes/Clientedirecciones.php
Normal file → Executable file
50
ci4/app/Controllers/Clientes/Clientedirecciones.php
Normal file → Executable file
@ -53,4 +53,54 @@ class Clientedirecciones extends \App\Controllers\GoBaseResourceController
|
||||
return $this->failUnauthorized('Invalid request', 403);
|
||||
}
|
||||
}
|
||||
|
||||
public function datatable_editor()
|
||||
{
|
||||
if ($this->request->isAJAX()) {
|
||||
|
||||
include(APPPATH . "ThirdParty/DatatablesEditor/DataTables.php");
|
||||
|
||||
// Build our Editor instance and process the data coming from _POST
|
||||
$response = Editor::inst($db, 'clientes_direcciones')
|
||||
->fields(
|
||||
Field::inst('att')
|
||||
->validator('Validate::notEmpty', array(
|
||||
'message' => lang('ClienteDirecciones.validation.required'))
|
||||
)
|
||||
->validator( Validate::maxLen( 100 ) , array(
|
||||
'message' => lang('ClienteDirecciones.validation.max_length'))
|
||||
),
|
||||
|
||||
)
|
||||
/*->validator(function ($editor, $action, $data) {
|
||||
if ($action === Editor::ACTION_CREATE || $action === Editor::ACTION_EDIT) {
|
||||
foreach ($data['data'] as $pkey => $values) {
|
||||
// Si no se quiere borrar...
|
||||
if ($data['data'][$pkey]['is_deleted'] != 1) {
|
||||
$process_data['paginas_min'] = $data['data'][$pkey]['paginas_min'];
|
||||
$process_data['paginas_max'] = $data['data'][$pkey]['paginas_max'];
|
||||
$response = $this->model->checkIntervals($process_data, $pkey, $data['data'][$pkey]['papel_impresion_id']);
|
||||
// No se pueden duplicar valores al crear o al editar
|
||||
if (!empty($response)) {
|
||||
return $response;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
})*/
|
||||
->debug(true)
|
||||
->process($_POST)
|
||||
->data();
|
||||
|
||||
$newTokenHash = csrf_hash();
|
||||
$csrfTokenName = csrf_token();
|
||||
|
||||
$response[$csrfTokenName] = $newTokenHash;
|
||||
|
||||
echo json_encode($response);
|
||||
|
||||
} else {
|
||||
return $this->failUnauthorized('Invalid request', 403);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -265,7 +265,6 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
|
||||
|
||||
$this->viewData['clienteList'] = $this->getClienteListItems($presupuestoEntity->cliente_id ?? null);
|
||||
$this->viewData['incReiList'] = array('incidencia' => lang('Presupuestos.incidencia'), 'reimpresion' => lang('Presupuestos.reimpresion'), 'sin_cargo' => lang('Presupuestos.sinCargo'));
|
||||
$this->viewData['paisList'] = $this->getPaisListItems();
|
||||
$this->viewData['papelFormatoList'] = $this->getPapelFormatoListItems($presupuestoEntity->papel_formato_id ?? null);
|
||||
$this->viewData['papelGenericoNegroList'] = $this->getPapelGenericoNegro();
|
||||
$this->viewData['papelGenericoNegroHQList'] = $this->getPapelGenericoNegroHQ();
|
||||
|
||||
7
ci4/app/Entities/Clientes/ClienteDireccionesEntity.php
Normal file → Executable file
7
ci4/app/Entities/Clientes/ClienteDireccionesEntity.php
Normal file → Executable file
@ -8,13 +8,14 @@ class ClienteDireccionesEntity extends \CodeIgniter\Entity\Entity
|
||||
protected $attributes = [
|
||||
"id" => null,
|
||||
"cliente_id" => null,
|
||||
"alias" => null,
|
||||
"att" => null,
|
||||
"email" => null,
|
||||
"direccion" => null,
|
||||
"pais_id" => null,
|
||||
"ccaa_id" => null,
|
||||
"provincia_id" => null,
|
||||
"municipio_id" => null,
|
||||
"provincia" => null,
|
||||
"municipio" => null,
|
||||
"cp" => null,
|
||||
"telefono" => null,
|
||||
];
|
||||
@ -22,8 +23,6 @@ class ClienteDireccionesEntity extends \CodeIgniter\Entity\Entity
|
||||
"cliente_id" => "int",
|
||||
"pais_id" => "int",
|
||||
"ccaa_id" => "int",
|
||||
"provincia_id" => "int",
|
||||
"municipio_id" => "int",
|
||||
"cp" => "int",
|
||||
];
|
||||
}
|
||||
|
||||
0
ci4/app/Entities/Presupuestos/PresupuestoDireccionesEntity.php
Normal file → Executable file
0
ci4/app/Entities/Presupuestos/PresupuestoDireccionesEntity.php
Normal file → Executable file
0
ci4/app/Entities/Presupuestos/PresupuestoManipuladosEntity copy.php
Normal file → Executable file
0
ci4/app/Entities/Presupuestos/PresupuestoManipuladosEntity copy.php
Normal file → Executable file
8
ci4/app/Language/en/ClienteDirecciones.php
Normal file → Executable file
8
ci4/app/Language/en/ClienteDirecciones.php
Normal file → Executable file
@ -3,6 +3,8 @@
|
||||
|
||||
|
||||
return [
|
||||
'nuevaTitle' => 'New address',
|
||||
'alias' => 'Alias',
|
||||
'att' => 'Attn.',
|
||||
'email' => 'Email',
|
||||
'direccion' => 'Address',
|
||||
@ -13,8 +15,12 @@ return [
|
||||
'pais' => 'Country',
|
||||
'telefono' => 'Phone',
|
||||
'validation' => [
|
||||
'max_length' => 'The {field} field cannot exceed {param} characters in length.',
|
||||
'max_length' => 'Max. length ',
|
||||
'required' => 'Field required'
|
||||
'valid_email' => 'The email is not valid',
|
||||
|
||||
],
|
||||
|
||||
'selectPais' => 'Select a country',
|
||||
|
||||
];
|
||||
10
ci4/app/Language/es/ClienteDirecciones.php
Normal file → Executable file
10
ci4/app/Language/es/ClienteDirecciones.php
Normal file → Executable file
@ -3,6 +3,8 @@
|
||||
|
||||
|
||||
return [
|
||||
'nuevaTitle' => 'Añadir nueva dirección',
|
||||
'alias' => 'Alias',
|
||||
'att' => 'Att.',
|
||||
'email' => 'Email',
|
||||
'direccion' => 'Direccion',
|
||||
@ -13,7 +15,13 @@ return [
|
||||
'pais' => 'País',
|
||||
'telefono' => 'Teléfono',
|
||||
'validation' => [
|
||||
'max_length' => 'El campo {field} no puede exceder los {param} caracteres de longitud.',
|
||||
'max_length' => 'Max. valor caracteres alcanzado',
|
||||
'required' => 'Campo obligatorio',
|
||||
'valid_email' => 'El email introducido no es válido',
|
||||
],
|
||||
|
||||
'selectPais' => 'Seleccione País',
|
||||
'selectCcaa' => 'Seleccione CCAA',
|
||||
'selectProvincia' => 'Seleccione Provincia',
|
||||
'selectMunicipio' => 'Seleccione Municipio',
|
||||
];
|
||||
38
ci4/app/Models/Clientes/ClienteDireccionesModel.php
Normal file → Executable file
38
ci4/app/Models/Clientes/ClienteDireccionesModel.php
Normal file → Executable file
@ -14,25 +14,27 @@ class ClienteDireccionesModel extends \App\Models\GoBaseModel
|
||||
protected $useAutoIncrement = true;
|
||||
|
||||
const SORTABLE = [
|
||||
0 => "t1.att",
|
||||
1 => "t1.email",
|
||||
2 => "t1.direccion",
|
||||
3 => "t1.cp",
|
||||
4 => "t5.municipio_nombre",
|
||||
5 => "t4.nombre",
|
||||
6 => "t3.nombre",
|
||||
7 => "t1.telefono",
|
||||
0 => "t1.alias",
|
||||
1 => "t1.att",
|
||||
2 => "t1.email",
|
||||
3 => "t1.direccion",
|
||||
4 => "t1.cp",
|
||||
5 => "t5.municipio_nombre",
|
||||
6 => "t4.nombre",
|
||||
7 => "t3.nombre",
|
||||
8 => "t1.telefono",
|
||||
];
|
||||
|
||||
protected $allowedFields = [
|
||||
"alias",
|
||||
"cliente_id",
|
||||
"att",
|
||||
"email",
|
||||
"direccion",
|
||||
"pais_id",
|
||||
"ccaa_id",
|
||||
"provincia_id",
|
||||
"municipio_id",
|
||||
"provincia",
|
||||
"municipio",
|
||||
"cp",
|
||||
"telefono",
|
||||
];
|
||||
@ -46,6 +48,10 @@ class ClienteDireccionesModel extends \App\Models\GoBaseModel
|
||||
"label" => "ClienteDirecciones.att",
|
||||
"rules" => "trim|max_length[100]",
|
||||
],
|
||||
"alias" => [
|
||||
"label" => "ClienteDirecciones.att",
|
||||
"rules" => "trim|max_length[100]",
|
||||
],
|
||||
"email" => [
|
||||
"label" => "ClienteDirecciones.email",
|
||||
"rules" => "trim|max_length[100]|valid_email",
|
||||
@ -64,6 +70,9 @@ class ClienteDireccionesModel extends \App\Models\GoBaseModel
|
||||
"att" => [
|
||||
"max_length" => "ClienteDirecciones.validation.max_length",
|
||||
],
|
||||
"alias" => [
|
||||
"max_length" => "ClienteDirecciones.validation.max_length",
|
||||
],
|
||||
"email" => [
|
||||
"max_length" => "ClienteDirecciones.validation.max_length",
|
||||
],
|
||||
@ -89,17 +98,17 @@ class ClienteDireccionesModel extends \App\Models\GoBaseModel
|
||||
$builder = $this->db
|
||||
->table($this->table . " t1")
|
||||
->select(
|
||||
"t1.id AS id, t1.cliente_id AS cliente_id, t2.nombre as cliente_nombre, t1.att AS att,
|
||||
"t1.id AS id, t1.cliente_id AS cliente_id, t2.nombre as cliente_nombre, t1.att AS att, t1.alias AS alias,
|
||||
t1.email AS email, t1.direccion AS direccion, t1.pais_id AS pais_id, t3.nombre AS pais,
|
||||
t1.ccaa_id AS ccaa_id, t4.nombre AS ccaa_nombre,
|
||||
t1.municipio_id AS municipio_id, t5.municipio_nombre AS municipio_nombre, t1.cp AS cp, t1.telefono AS telefono"
|
||||
t1.municipio AS municipio, t1.provincia AS provincia, t1.cp AS cp, t1.telefono AS telefono"
|
||||
);
|
||||
|
||||
$builder->where('t1.cliente_id', $cliente_id);
|
||||
$builder->join("clientes t2", "t1.cliente_id = t2.id", "left");
|
||||
$builder->join("lg_paises t3", "t1.pais_id = t3.id", "left");
|
||||
$builder->join("lg_comunidades_autonomas t4", "t1.ccaa_id = t4.id", "left");
|
||||
$builder->join("municipios t5", "t1.municipio_id = t5.id", "left");
|
||||
|
||||
|
||||
return empty($search)
|
||||
? $builder
|
||||
@ -110,7 +119,8 @@ class ClienteDireccionesModel extends \App\Models\GoBaseModel
|
||||
->orLike("t1.direccion", $search)
|
||||
->orLike("t3.nombre", $search)
|
||||
->orLike("t4.nombre", $search)
|
||||
->orLike("t5.municipio_nombre", $search)
|
||||
->orLike("t1.municipio", $search)
|
||||
->orLike("t1.provincia", $search)
|
||||
->orLike("t1.cp", $search)
|
||||
->orLike("t1.telefono", $search)
|
||||
->groupEnd();
|
||||
|
||||
@ -93,7 +93,7 @@ class ClienteModel extends \App\Models\GoBaseModel
|
||||
],
|
||||
"comentarios_tirada_flexible" => [
|
||||
"label" => "Clientes.comentariosTiradaFlexible",
|
||||
"rules" => "trim|required|max_length[16313]",
|
||||
"rules" => "trim|max_length[16313]",
|
||||
],
|
||||
"cp" => [
|
||||
"label" => "Clientes.cp",
|
||||
@ -119,22 +119,10 @@ class ClienteModel extends \App\Models\GoBaseModel
|
||||
"label" => "Clientes.fechaVencimiento",
|
||||
"rules" => "trim|max_length[100]",
|
||||
],
|
||||
"is_deleted" => [
|
||||
"label" => "Clientes.isDeleted",
|
||||
"rules" => "required|integer",
|
||||
],
|
||||
"limite_credito" => [
|
||||
"label" => "Clientes.limiteCredito",
|
||||
"rules" => "required|decimal",
|
||||
],
|
||||
"limite_credito_change_at" => [
|
||||
"label" => "Clientes.limiteCreditoChangeAt",
|
||||
"rules" => "required|valid_date",
|
||||
],
|
||||
"limite_credito_user_id" => [
|
||||
"label" => "Clientes.limiteCreditoUserId",
|
||||
"rules" => "required|integer",
|
||||
],
|
||||
"margen" => [
|
||||
"label" => "Clientes.margen",
|
||||
"rules" => "required|decimal",
|
||||
@ -155,14 +143,6 @@ class ClienteModel extends \App\Models\GoBaseModel
|
||||
"label" => "Clientes.telefono",
|
||||
"rules" => "trim|max_length[60]",
|
||||
],
|
||||
"user_created_id" => [
|
||||
"label" => "Clientes.userCreatedId",
|
||||
"rules" => "required|integer",
|
||||
],
|
||||
"user_update_id" => [
|
||||
"label" => "Clientes.userUpdateId",
|
||||
"rules" => "required|integer",
|
||||
],
|
||||
"vencimiento" => [
|
||||
"label" => "Clientes.vencimiento",
|
||||
"rules" => "required|integer",
|
||||
|
||||
176
ci4/app/Views/themes/backend/vuexy/form/clientes/cliente/_clienteDireccionesForm.php
Normal file → Executable file
176
ci4/app/Views/themes/backend/vuexy/form/clientes/cliente/_clienteDireccionesForm.php
Normal file → Executable file
@ -1,7 +1,171 @@
|
||||
<div id="direccionesForm">
|
||||
<fieldset class="att">
|
||||
<legend>Att</legend>
|
||||
<editor-field name="att"></editor-field>
|
||||
</fieldset>
|
||||
<div id="createNewAddress" class="modal fade addModal">
|
||||
<div class="modal-dialog modal-lg modal-simple">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h4 id="labelTitleConfirmDialog" class="modal-title"><?= lang('ClienteDirecciones.nuevaTitle') ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="mb-3">
|
||||
<label for="add_alias" class="form-label">
|
||||
<?= lang('ClienteDirecciones.alias') ?>*
|
||||
</label>
|
||||
<input type="text" id="add_alias" tabindex="1" maxLength="100" class="form-control">
|
||||
</div><!--//.mb-3 -->
|
||||
<div class="mb-3">
|
||||
<label for="add_att" class="form-label">
|
||||
<?= lang('ClienteDirecciones.att') ?>*
|
||||
</label>
|
||||
<input type="text" id="add_att" tabindex="1" maxLength="100" class="form-control">
|
||||
</div><!--//.mb-3 -->
|
||||
<div class="mb-3">
|
||||
<label for="add_email" class="form-label">
|
||||
<?= lang('ClienteDirecciones.email') ?>*
|
||||
</label>
|
||||
<input type="text" id="add_email" tabindex="2" maxLength="100" class="form-control">
|
||||
</div><!--//.mb-3 -->
|
||||
<div class="mb-3">
|
||||
<label for="add_direccion" class="form-label">
|
||||
<?= lang('ClienteDirecciones.direccion') ?>*
|
||||
</label>
|
||||
<input type="text" id="add_direccion" tabindex="3" maxLength="255" class="form-control">
|
||||
</div><!--//.mb-3 -->
|
||||
|
||||
</div>
|
||||
<div class='row'>
|
||||
|
||||
<div id='divPais' class="col-md-12 col-lg-12 pl-4">
|
||||
<div class="mb-3">
|
||||
<label for="add_paisId" class="form-label">
|
||||
<?=lang('ClienteDirecciones.pais') ?>*
|
||||
</label>
|
||||
<select id="add_paisId" tabindex="4" class="form-control select2bs" style="width: 100%;" >
|
||||
<option value="" disabled selected><?=lang('ClienteDirecciones.selectPais') ?></option>
|
||||
<?php foreach ($paisList as $item) : ?>
|
||||
<option value="<?=$item->id ?>">
|
||||
<?=$item->nombre ?>
|
||||
</option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
</div><!--//.mb-3 -->
|
||||
</div>
|
||||
|
||||
<div class="col-md-12 col-lg-6 pl-4 spain-data" style="display: none;">
|
||||
<div class="mb-3">
|
||||
<label for="add_ccaa" class="form-label">
|
||||
<?=lang('ClienteDirecciones.ccaa') ?>*
|
||||
</label>
|
||||
<select id="add_ccaa" tabindex="5" class="form-control select2bs" style="width: 100%;" >
|
||||
|
||||
</select>
|
||||
</div><!--//.mb-3 -->
|
||||
</div>
|
||||
|
||||
</div> <!-- //.row -->
|
||||
|
||||
<div class='row'>
|
||||
|
||||
<div id='divMunicipio' class="col-md-12 col-lg-12 pl-4">
|
||||
<div class="mb-3">
|
||||
<label for="add_municipio" class="form-label">
|
||||
<?=lang('ClienteDirecciones.municipio') ?>*
|
||||
</label>
|
||||
<input type="text" id="add_municipio" tabindex="6" maxLength="100" class="form-control">
|
||||
</div><!--//.mb-3 -->
|
||||
</div>
|
||||
|
||||
<div class="col-md-12 col-lg-6 pl-4 spain-data" style="display: none;">
|
||||
<div class="mb-3">
|
||||
<label for="add_provincia" class="form-label">
|
||||
<?=lang('ClienteDirecciones.provincia') ?>*
|
||||
</label>
|
||||
<input type="text" id="add_provincia" tabindex="7" maxLength="100" class="form-control">
|
||||
</div><!--//.mb-3 -->
|
||||
</div>
|
||||
|
||||
</div> <!-- //.row -->
|
||||
|
||||
<div class='row'>
|
||||
|
||||
<div class="col-md-12 col-lg-6 pl-4">
|
||||
<div class="mb-3">
|
||||
<label for="add_cp" class="form-label">
|
||||
<?=lang('ClienteDirecciones.cp') ?>*
|
||||
</label>
|
||||
<input type="text" id="add_cp" tabindex="8" maxLength="100" class="form-control">
|
||||
</div><!--//.mb-3 -->
|
||||
</div>
|
||||
|
||||
<div class="col-md-12 col-lg-6 pl-4">
|
||||
<div class="mb-3">
|
||||
<label for="add_telefono" class="form-label">
|
||||
<?=lang('ClienteDirecciones.telefono') ?>*
|
||||
</label>
|
||||
<input type="text" id="add_telefono" tabindex="9" maxLength="100" class="form-control"></input>
|
||||
</div><!--//.mb-3 -->
|
||||
</div>
|
||||
|
||||
</div> <!-- //.row -->
|
||||
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button id="saveAdd"
|
||||
type="button"
|
||||
class="btn btn-primary"
|
||||
>Guardar</button>
|
||||
<button id="cancelAdd"
|
||||
type="button"
|
||||
class="btn btn-default"
|
||||
>Cancelar</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<?= $this->section("additionalInlineJs") ?>
|
||||
|
||||
$('#cancelAdd').on('click', function(){
|
||||
$('#createNewAddress').modal("hide");
|
||||
})
|
||||
|
||||
|
||||
$('#saveAdd').on('click', function(){
|
||||
editorAddress
|
||||
.create( false )
|
||||
.set( 'alias', $('#add_alias').val() )
|
||||
.set( 'att', $('#add_att').val() )
|
||||
.submit();
|
||||
})
|
||||
|
||||
|
||||
|
||||
|
||||
$('#add_paisId').on('change', function(){
|
||||
var nombre_pais = $("#add_paisId option:selected" ).text().trim();
|
||||
if(nombre_pais.localeCompare('España')==0){
|
||||
$('#divPais').removeClass('col-lg-12').addClass('col-lg-6')
|
||||
$('#divMunicipio').removeClass('col-lg-12').addClass('col-lg-6')
|
||||
$('.spain-data').css('display', 'inline')
|
||||
}
|
||||
else{
|
||||
$('.spain-data').css('display', 'none')
|
||||
$('#divPais').removeClass('col-lg-6').addClass('col-lg-12')
|
||||
$('#divMunicipio').removeClass('col-lg-6').addClass('col-lg-12')
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
// clear modal items when close
|
||||
$('#createNewAddress').on('hidden.bs.modal', function () {
|
||||
$('#add_alias').val("")
|
||||
$('#add_att').val("")
|
||||
$('#add_email').val("")
|
||||
$('#add_direccion').val("")
|
||||
$("#add_paisId").val("").change()
|
||||
$("#add_ccaa").val("").change()
|
||||
$('#add_municipio').val("")
|
||||
$('#add_provincia').val("")
|
||||
$('#add_cp').val("")
|
||||
$('#add_telefono').val("")
|
||||
})
|
||||
|
||||
<?=$this->endSection() ?>
|
||||
@ -145,20 +145,14 @@
|
||||
<label for="paisId" class="form-label">
|
||||
<?= lang('Clientes.paisId') ?>
|
||||
</label>
|
||||
<select
|
||||
id="paisId"
|
||||
name="pais_id"
|
||||
class="form-control select2"
|
||||
style="width: 100%;"
|
||||
>
|
||||
<?php if (isset($paisList) && is_array($paisList) && !empty($paisList)) :
|
||||
foreach ($paisList as $k => $v) : ?>
|
||||
<option value="<?= $k ?>"<?= $k == $clienteEntity->pais_id ? ' selected' : '' ?>>
|
||||
<?= $v ?>
|
||||
</option>
|
||||
<?php endforeach;
|
||||
endif; ?>
|
||||
<select id="paisId" name="pais_id" class="form-control select2bs" style="width: 100%;" >
|
||||
<?php foreach ($paisList as $item) : ?>
|
||||
<option value="<?=$item->id ?>"<?=$item->id==$clienteEntity->pais_id ? ' selected':'' ?>>
|
||||
<?=$item->nombre ?>
|
||||
</option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<label for="comunidadAutonomaId" class="form-label">
|
||||
@ -584,6 +578,7 @@
|
||||
<table id="tableOfDireccionesEnvio" class="table dt-responsive dataTable" style="width: 100%;">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><?= lang('ClienteDirecciones.alias') ?></th>
|
||||
<th><?= lang('ClienteDirecciones.att') ?></th>
|
||||
<th><?= lang('ClienteDirecciones.email') ?></th>
|
||||
<th><?= lang('ClienteDirecciones.direccion') ?></th>
|
||||
@ -829,7 +824,7 @@
|
||||
/****************************************
|
||||
Direcciones cliente
|
||||
*****************************************/
|
||||
const editor2 = new DataTable.Editor({
|
||||
const editorAddress = new DataTable.Editor({
|
||||
ajax: {
|
||||
url: "<?= route_to('editorOfClienteDirecciones') ?>",
|
||||
headers: {
|
||||
@ -839,6 +834,8 @@ const editor2 = new DataTable.Editor({
|
||||
table : "#tableOfDireccionesEnvio",
|
||||
idSrc: 'id',
|
||||
fields: [ {
|
||||
name: "alias"
|
||||
}, {
|
||||
name: "att"
|
||||
}, {
|
||||
name: "email"
|
||||
@ -864,6 +861,16 @@ const editor2 = new DataTable.Editor({
|
||||
template: '#direccionesForm'
|
||||
});
|
||||
|
||||
editorAddress.on( 'postSubmit', function ( e, json, data, action ) {
|
||||
if (action === 'create') {
|
||||
if(json.fieldErrors.length > 0){
|
||||
json.fieldErrors.forEach((error) => {
|
||||
$('#add_' + error.name).after("<p class='error_in_form_text'>" + error.status + '</p>')
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
const lastColNr2 = $('#tableOfDireccionesEnvio').find("tr:first th").length - 1;
|
||||
|
||||
var tableDirecciones = $('#tableOfDireccionesEnvio').DataTable( {
|
||||
@ -889,6 +896,7 @@ var tableDirecciones = $('#tableOfDireccionesEnvio').DataTable( {
|
||||
async: true,
|
||||
}),
|
||||
columns: [
|
||||
{ 'data': 'alias' },
|
||||
{ 'data': 'att' },
|
||||
{ 'data': 'email' },
|
||||
{ 'data': 'direccion' },
|
||||
@ -917,20 +925,34 @@ var tableDirecciones = $('#tableOfDireccionesEnvio').DataTable( {
|
||||
},
|
||||
buttons: [ {
|
||||
className: 'btn btn-primary float-end me-sm-3 me-1',
|
||||
extend: "create",
|
||||
editor: editor2,
|
||||
formOptions: {
|
||||
submitTrigger: -1,
|
||||
submitHtml: '<i class="ti ti-device-floppy"/>'
|
||||
}
|
||||
text: "<?= lang('Basic.global.addNew'); ?>",
|
||||
action: function ( e, dt, node, config ) {
|
||||
var $newAddDialog = $("#createNewAddress");
|
||||
$newAddDialog.modal('show');
|
||||
$("#btnYesConfirmDialog").off('click').click(function () {
|
||||
|
||||
$newAddDialog.modal("hide");
|
||||
});
|
||||
$("#btnNoConfirmDialog").off('click').click(function () {
|
||||
|
||||
$newAddDialog.modal("hide");
|
||||
});
|
||||
}
|
||||
|
||||
} ]
|
||||
} );
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<?=$this->endSection() ?>
|
||||
|
||||
|
||||
<?=$this->section('css') ?>
|
||||
<link rel="stylesheet" href="<?= site_url('themes/vuexy/css/datatables-editor/editor.dataTables.min.css') ?>">
|
||||
<link rel="stylesheet" href="<?= site_url('themes/vuexy/css/datatables-editor/editor.bootstrap5.min.css') ?>">
|
||||
<link rel="stylesheet" href="https://cdn.datatables.net/buttons/2.2.3/css/buttons.bootstrap5.min.css">
|
||||
<link rel="stylesheet" href="https://cdn.datatables.net/1.13.6/css/dataTables.bootstrap5.min.css">
|
||||
<?=$this->endSection() ?>
|
||||
|
||||
<?= $this->section('additionalExternalJs') ?>
|
||||
|
||||
@ -22,6 +22,7 @@
|
||||
type="submit"
|
||||
class="btn btn-primary float-start me-sm-3 me-1"
|
||||
name="save"
|
||||
id="saveForm"
|
||||
value="<?= lang("Basic.global.Save") ?>"
|
||||
>
|
||||
<?= anchor(route_to("clienteList"), lang("Basic.global.Cancel"), ["class" => "btn btn-secondary float-start"]) ?>
|
||||
@ -34,6 +35,19 @@
|
||||
|
||||
|
||||
<?= $this->section("additionalInlineJs") ?>
|
||||
$(document).keypress(function (e) {
|
||||
var key = e.which;
|
||||
if(key == 13) // the enter key code
|
||||
{ e.preventDefault()
|
||||
if($('#createNewAddress').hasClass('show')){
|
||||
$("#saveAdd").click();
|
||||
|
||||
}else{
|
||||
$('#saveForm').click();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
$('#soporteId').select2({
|
||||
allowClear: false,
|
||||
@ -211,3 +225,11 @@
|
||||
|
||||
<?= $this->endSection() ?>
|
||||
|
||||
|
||||
<?=$this->section('css') ?>
|
||||
|
||||
<link rel="stylesheet" href="<?= site_url('themes/vuexy/css/datatables-editor/editor.dataTables.min.css') ?>">
|
||||
<link rel="stylesheet" href="https://cdn.datatables.net/buttons/2.2.3/css/buttons.bootstrap5.min.css">
|
||||
<link rel="stylesheet" href="<?= site_url('themes/vuexy/css/sk-datatables.css') ?>">
|
||||
|
||||
<?=$this->endSection() ?>
|
||||
|
||||
@ -114,3 +114,10 @@
|
||||
text-align: center;
|
||||
margin-top: 1rem;
|
||||
}
|
||||
|
||||
|
||||
.error_in_form_text{
|
||||
font-size: 11px;
|
||||
padding: 0;
|
||||
color: #b11f1f;
|
||||
}
|
||||
Reference in New Issue
Block a user