mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
formulario direcciones presupuestos
This commit is contained in:
@ -482,6 +482,7 @@ $routes->group('clientedirecciones', ['namespace' => 'App\Controllers\Clientes']
|
|||||||
$routes->get('delete/(:num)', 'Clientedirecciones::delete/$1', ['as' => 'deleteClientedirecciones']);
|
$routes->get('delete/(:num)', 'Clientedirecciones::delete/$1', ['as' => 'deleteClientedirecciones']);
|
||||||
$routes->post('datatable', 'Clientedirecciones::datatable', ['as' => 'dataTableOfClienteDirecciones']);
|
$routes->post('datatable', 'Clientedirecciones::datatable', ['as' => 'dataTableOfClienteDirecciones']);
|
||||||
$routes->post('datatable_editor', 'Clientedirecciones::datatable_editor', ['as' => 'editorOfClienteDirecciones']);
|
$routes->post('datatable_editor', 'Clientedirecciones::datatable_editor', ['as' => 'editorOfClienteDirecciones']);
|
||||||
|
$routes->post('menuitems', 'Clientedirecciones::menuItems', ['as' => 'menuItemsOfClienteDirecciones']);
|
||||||
});
|
});
|
||||||
$routes->resource('clientedirecciones', ['namespace' => 'App\Controllers\Clientes', 'controller' => 'Clientedirecciones', 'except' => 'show,new,create,update']);
|
$routes->resource('clientedirecciones', ['namespace' => 'App\Controllers\Clientes', 'controller' => 'Clientedirecciones', 'except' => 'show,new,create,update']);
|
||||||
|
|
||||||
|
|||||||
@ -24,6 +24,29 @@ class Clientedirecciones extends \App\Controllers\GoBaseResourceController
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public function menuItems()
|
||||||
|
{
|
||||||
|
if ($this->request->isAJAX()) {
|
||||||
|
|
||||||
|
$reqData = $this->request->getPost();
|
||||||
|
$cliente_id = $reqData['cliente_id'] ?? -1;
|
||||||
|
|
||||||
|
$clienteDireccionesModel = model('App\Models\Clientes\ClienteDireccionesModel');
|
||||||
|
$menu = $clienteDireccionesModel->getMenuDirecciones($cliente_id);
|
||||||
|
//$menu = $this->model->getMenuItems($cliente_id);
|
||||||
|
|
||||||
|
$newTokenHash = csrf_hash();
|
||||||
|
$csrfTokenName = csrf_token();
|
||||||
|
$data = [
|
||||||
|
'menu' => $menu,
|
||||||
|
$csrfTokenName => $newTokenHash
|
||||||
|
];
|
||||||
|
return $this->respond($data);
|
||||||
|
} else {
|
||||||
|
return $this->failUnauthorized('Invalid request', 403);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public function datatable()
|
public function datatable()
|
||||||
{
|
{
|
||||||
|
|||||||
@ -263,6 +263,7 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
|
|||||||
|
|
||||||
$this->viewData['clienteList'] = $this->getClienteListItems($presupuestoEntity->cliente_id ?? null);
|
$this->viewData['clienteList'] = $this->getClienteListItems($presupuestoEntity->cliente_id ?? null);
|
||||||
$this->viewData['paisList'] = $this->getPaisListItems();
|
$this->viewData['paisList'] = $this->getPaisListItems();
|
||||||
|
$this->viewData['ccaaList'] = $this->getCcaaListItems();
|
||||||
|
|
||||||
$this->viewData['clienteList'] = $this->getClienteListItems($presupuestoEntity->cliente_id ?? null);
|
$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['incReiList'] = array('incidencia' => lang('Presupuestos.incidencia'), 'reimpresion' => lang('Presupuestos.reimpresion'), 'sin_cargo' => lang('Presupuestos.sinCargo'));
|
||||||
@ -894,6 +895,16 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
|
|||||||
return $data;
|
return $data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected function getCcaaListItems($selId = null)
|
||||||
|
{
|
||||||
|
$ccaaModel = model('App\Models\Configuracion\ComunidadAutonomaModel');
|
||||||
|
$onlyActiveOnes = true;
|
||||||
|
$data = $ccaaModel->getAllForMenu('id, nombre', 'nombre', $onlyActiveOnes);
|
||||||
|
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
protected function getPapelFormatoListItems($selId = null)
|
protected function getPapelFormatoListItems($selId = null)
|
||||||
{
|
{
|
||||||
$papelFormatoModel = model('App\Models\Configuracion\PapelFormatoModel');
|
$papelFormatoModel = model('App\Models\Configuracion\PapelFormatoModel');
|
||||||
|
|||||||
0
ci4/app/Controllers/Presupuestos/Presupuestodirecciones.php
Normal file → Executable file
0
ci4/app/Controllers/Presupuestos/Presupuestodirecciones.php
Normal file → Executable file
@ -17,9 +17,9 @@ class Test extends BaseController
|
|||||||
|
|
||||||
public function index()
|
public function index()
|
||||||
{
|
{
|
||||||
$model = model('App\Models\Presupuestos\PresupuestoDireccionesModel');
|
$model = model('App\Models\Clientes\ClienteDireccionesModel');
|
||||||
echo '<pre>';
|
echo '<pre>';
|
||||||
var_dump($model->getResource("", 8)->get()->getResultObject());
|
var_dump($model->getMenuDirecciones(1420));
|
||||||
echo '</pre>';
|
echo '</pre>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
2
ci4/app/Language/en/PresupuestosDirecciones.php
Normal file → Executable file
2
ci4/app/Language/en/PresupuestosDirecciones.php
Normal file → Executable file
@ -17,7 +17,7 @@ return [
|
|||||||
'precio' => 'Price',
|
'precio' => 'Price',
|
||||||
'validation' => [
|
'validation' => [
|
||||||
'max_length' => 'Max. length ',
|
'max_length' => 'Max. length ',
|
||||||
'required' => 'Field required'
|
'required' => 'Field required',
|
||||||
'valid_email' => 'The email is not valid',
|
'valid_email' => 'The email is not valid',
|
||||||
|
|
||||||
],
|
],
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'nuevaTitle' => 'Añadir nueva dirección',
|
'direccionTitle' => 'Dirección de envío',
|
||||||
'alias' => 'Alias',
|
'alias' => 'Alias',
|
||||||
'att' => 'Att.',
|
'att' => 'Att.',
|
||||||
'email' => 'Email',
|
'email' => 'Email',
|
||||||
|
|||||||
4
ci4/app/Language/es/PresupuestosDirecciones.php
Normal file → Executable file
4
ci4/app/Language/es/PresupuestosDirecciones.php
Normal file → Executable file
@ -2,7 +2,8 @@
|
|||||||
|
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'nuevaTitle' => 'Añadir nueva dirección',
|
'direccionTitle' => 'Dirección de envío',
|
||||||
|
'clientedAdd' => 'Direcciones de cliente',
|
||||||
'alias' => 'Alias',
|
'alias' => 'Alias',
|
||||||
'att' => 'Att.',
|
'att' => 'Att.',
|
||||||
'email' => 'Email',
|
'email' => 'Email',
|
||||||
@ -23,6 +24,7 @@ return [
|
|||||||
],
|
],
|
||||||
|
|
||||||
|
|
||||||
|
'selectAdd' => 'Seleccione dirección guardada',
|
||||||
'selectPais' => 'Seleccione País',
|
'selectPais' => 'Seleccione País',
|
||||||
'selectCcaa' => 'Seleccione CCAA',
|
'selectCcaa' => 'Seleccione CCAA',
|
||||||
'selectProvincia' => 'Seleccione Provincia',
|
'selectProvincia' => 'Seleccione Provincia',
|
||||||
|
|||||||
@ -126,4 +126,17 @@ class ClienteDireccionesModel extends \App\Models\GoBaseModel
|
|||||||
->orLike("t1.telefono", $search)
|
->orLike("t1.telefono", $search)
|
||||||
->groupEnd();
|
->groupEnd();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getMenuDirecciones($cliente_id=-1){
|
||||||
|
|
||||||
|
$builder =
|
||||||
|
$this->db
|
||||||
|
->table($this->table . " t1")
|
||||||
|
->select(
|
||||||
|
"t1.id AS id, t1.alias AS text")
|
||||||
|
->where("t1.cliente_id", $cliente_id);
|
||||||
|
|
||||||
|
return $builder->get()->getResultArray();
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
0
ci4/app/Models/Presupuestos/PresupuestoDireccionesModel.php
Normal file → Executable file
0
ci4/app/Models/Presupuestos/PresupuestoDireccionesModel.php
Normal file → Executable file
@ -2,7 +2,7 @@
|
|||||||
<div class="modal-dialog modal-lg modal-simple">
|
<div class="modal-dialog modal-lg modal-simple">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<h4 id="labelTitleConfirmDialog" class="modal-title"><?= lang('ClienteDirecciones.nuevaTitle') ?></h4>
|
<h4 id="labelTitleConfirmDialog" class="modal-title"><?= lang('ClienteDirecciones.direccionTitle') ?></h4>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
|
|||||||
@ -9,6 +9,7 @@
|
|||||||
<div id="accordionEnviosTip" class="accordion-collapse collapse show" data-bs-parent="#accordionEnvios">
|
<div id="accordionEnviosTip" class="accordion-collapse collapse show" data-bs-parent="#accordionEnvios">
|
||||||
<div class="accordion-body">
|
<div class="accordion-body">
|
||||||
|
|
||||||
|
<?= view("themes/backend/vuexy/form/presupuestos/cosidotapablanda/_presupuestoDireccionesForm") ?>
|
||||||
<table id="tableOfDireccionesEnvio" class="table dt-responsive dataTable px-4" style="width: 100%;">
|
<table id="tableOfDireccionesEnvio" class="table dt-responsive dataTable px-4" style="width: 100%;">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
@ -55,6 +56,17 @@
|
|||||||
<!------------------------------------------->
|
<!------------------------------------------->
|
||||||
<?= $this->section("additionalInlineJs") ?>
|
<?= $this->section("additionalInlineJs") ?>
|
||||||
|
|
||||||
|
$('#insertar_direccion').on('click', function(){
|
||||||
|
$("#addressForm").attr('action','create')
|
||||||
|
var $newAddDialog = $("#addressForm")
|
||||||
|
var maximaCantidad = parseInt($('#tirada').val())
|
||||||
|
$("#add_cantidad").attr("max" , maximaCantidad);
|
||||||
|
$("#add_cantidad").on('change', function(){
|
||||||
|
$("#add_cantidad").val(parseInt($("#add_cantidad").val())>maximaCantidad ? maximaCantidad : $("#add_cantidad").val())
|
||||||
|
})
|
||||||
|
$newAddDialog.modal('show')
|
||||||
|
})
|
||||||
|
|
||||||
const lastColNr = $('#tableOfDireccionesEnvio').find("tr:first th").length - 1;
|
const lastColNr = $('#tableOfDireccionesEnvio').find("tr:first th").length - 1;
|
||||||
|
|
||||||
const actionBtns_direcciones = function(data) {
|
const actionBtns_direcciones = function(data) {
|
||||||
|
|||||||
@ -0,0 +1,210 @@
|
|||||||
|
<div id="addressForm" action='create' 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('PresupuestosDirecciones.nuevaTitle') ?></h4>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="add_clientedAdd" class="form-label">
|
||||||
|
<?=lang('PresupuestosDirecciones.clientedAdd') ?>*
|
||||||
|
</label>
|
||||||
|
<select id="add_clientedAdd" tabindex="0" class="form-control select2bs" style="width: 100%;" >
|
||||||
|
|
||||||
|
</select>
|
||||||
|
</div><!--//.mb-3 -->
|
||||||
|
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="add_cantidad" class="form-label">
|
||||||
|
<?= lang('PresupuestosDirecciones.cantidad') ?>*
|
||||||
|
</label>
|
||||||
|
<input type="number" id="add_cantidad" tabindex="1" class="form-control">
|
||||||
|
</div><!--//.mb-3 -->
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="add_att" class="form-label">
|
||||||
|
<?= lang('PresupuestosDirecciones.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('PresupuestosDirecciones.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('PresupuestosDirecciones.direccion') ?>*
|
||||||
|
</label>
|
||||||
|
<input type="text" id="add_direccion" tabindex="3" maxLength="255" class="form-control">
|
||||||
|
</div><!--//.mb-3 -->
|
||||||
|
|
||||||
|
<div class='row'>
|
||||||
|
|
||||||
|
<div id='divPais' class="col-md-12 col-lg-12 pl-4">
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="add_pais_id" class="form-label">
|
||||||
|
<?=lang('PresupuestosDirecciones.pais') ?>*
|
||||||
|
</label>
|
||||||
|
<select id="add_pais_id" tabindex="4" class="form-control select2bs" style="width: 100%;" >
|
||||||
|
<option value="" disabled selected><?=lang('PresupuestosDirecciones.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('PresupuestosDirecciones.ccaa') ?>*
|
||||||
|
</label>
|
||||||
|
<select id="add_ccaa" tabindex="5" class="form-control select2bs" style="width: 100%;" >
|
||||||
|
<option value="" disabled selected><?=lang('PresupuestosDirecciones.selectCcaa') ?></option>
|
||||||
|
<?php foreach ($ccaaList as $item) : ?>
|
||||||
|
<option value="<?=$item->id ?>">
|
||||||
|
<?=$item->nombre ?>
|
||||||
|
</option>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
</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('PresupuestosDirecciones.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('PresupuestosDirecciones.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('PresupuestosDirecciones.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('PresupuestosDirecciones.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(){
|
||||||
|
$('#addressForm').modal("hide");
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
$('#saveAdd').on('click', function(){
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
$('#add_clientedAdd').select2({
|
||||||
|
allowClear: false,
|
||||||
|
minimumResultsForSearch: Infinity,
|
||||||
|
dropdownParent: $('#addressForm'),
|
||||||
|
ajax: {
|
||||||
|
url: '<?= route_to("menuItemsOfClienteDirecciones") ?>',
|
||||||
|
type: 'post',
|
||||||
|
dataType: 'json',
|
||||||
|
|
||||||
|
data: function (params) {
|
||||||
|
return {
|
||||||
|
cliente_id: $('#clienteId').val(),
|
||||||
|
<?= csrf_token() ?? "token" ?> : <?= csrf_token() ?>v
|
||||||
|
};
|
||||||
|
},
|
||||||
|
delay: 60,
|
||||||
|
processResults: function (response) {
|
||||||
|
|
||||||
|
yeniden(response.<?= csrf_token() ?>);
|
||||||
|
|
||||||
|
return {
|
||||||
|
results: response.menu
|
||||||
|
};
|
||||||
|
},
|
||||||
|
|
||||||
|
cache: true
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
$('#add_pais_id').on('change', function(){
|
||||||
|
var nombre_pais = $("#add_pais_id 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
|
||||||
|
$('#addressForm').on('hidden.bs.modal', function () {
|
||||||
|
$('#add_alias').val("")
|
||||||
|
$('#add_att').val("")
|
||||||
|
$('#add_email').val("")
|
||||||
|
$('#add_direccion').val("")
|
||||||
|
$("#add_pais_id").val("").change()
|
||||||
|
$("#add_ccaa").val("").change()
|
||||||
|
$('#add_municipio').val("")
|
||||||
|
$('#add_provincia').val("")
|
||||||
|
$('#add_cp').val("")
|
||||||
|
$('#add_telefono').val("")
|
||||||
|
})
|
||||||
|
|
||||||
|
<?=$this->endSection() ?>
|
||||||
@ -34,6 +34,7 @@
|
|||||||
<input type="submit"
|
<input type="submit"
|
||||||
class="btn btn-primary float-start me-sm-3 me-1"
|
class="btn btn-primary float-start me-sm-3 me-1"
|
||||||
name="save"
|
name="save"
|
||||||
|
id="saveForm"
|
||||||
value="<?= lang("Basic.global.Save") ?>"
|
value="<?= lang("Basic.global.Save") ?>"
|
||||||
/>
|
/>
|
||||||
<?php if(str_contains($formAction,'edit')): ?>
|
<?php if(str_contains($formAction,'edit')): ?>
|
||||||
@ -56,6 +57,19 @@
|
|||||||
<!------------------------------------------->
|
<!------------------------------------------->
|
||||||
<?= $this->section("additionalInlineJs") ?>
|
<?= $this->section("additionalInlineJs") ?>
|
||||||
|
|
||||||
|
$(document).keypress(function (e) {
|
||||||
|
var key = e.which;
|
||||||
|
if(key == 13) // the enter key code
|
||||||
|
{ e.preventDefault()
|
||||||
|
if($('#addressForm').hasClass('show')){
|
||||||
|
$("#saveAdd").click();
|
||||||
|
|
||||||
|
}else{
|
||||||
|
$('#saveForm').click();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
$('#clienteId').select2({
|
$('#clienteId').select2({
|
||||||
allowClear: false,
|
allowClear: false,
|
||||||
ajax: {
|
ajax: {
|
||||||
|
|||||||
Reference in New Issue
Block a user