Merge branch 'dev/ui-clientes' into 'main'

Reubicados los campos del formulario de clientes

See merge request jjimenez/safekat!57
This commit is contained in:
Ignacio Martinez Navajas
2023-08-23 22:25:49 +00:00
6 changed files with 156 additions and 281 deletions

View File

@ -0,0 +1,6 @@
<component name="InspectionProjectProfileManager">
<profile version="1.0">
<option name="myName" value="Project Default" />
<inspection_tool class="Eslint" enabled="true" level="WARNING" enabled_by_default="true" />
</profile>
</component>

View File

@ -171,9 +171,6 @@ class Cliente extends \App\Controllers\GoBaseResourceController
if ($this->request->getPost('credito_asegurado') == null) {
$sanitizedData['credito_asegurado'] = false;
}
if ($this->request->getPost('disponible_fe') == null) {
$sanitizedData['disponible_fe'] = false;
}
if ($this->request->getPost('message_tracking') == null) {
$sanitizedData['message_tracking'] = false;
}
@ -183,10 +180,6 @@ class Cliente extends \App\Controllers\GoBaseResourceController
if ($this->request->getPost('tirada_flexible') == null) {
$sanitizedData['tirada_flexible'] = false;
}
if ($this->request->getPost('lineasEnvioFactura') == null) {
$sanitizedData['lineasEnvioFactura'] = false;
}
$noException = true;
if ($successfulResult = $this->canValidate()) : // if ($successfulResult = $this->validate($this->formValidationRules) ) :

View File

@ -24,28 +24,20 @@ class ClienteEntity extends \CodeIgniter\Entity\Entity
"vencimiento" => 15,
"fecha_vencimiento" => null,
"margen" => 40.0,
"margen_pod" => null,
"descuento" => 0.0,
"limite_credito" => 0.0,
"limite_credito_user_id" => 1,
"limite_credito_change_at" => null,
"credito_solunion" => null,
"credito_asegurado" => false,
"ccc" => null,
"ccc_cliente" => null,
"num_cuenta" => null,
"disponible_fe" => false,
"message_tracking" => true,
"message_production_start" => true,
"tirada_flexible" => false,
"descuento_tirada_flexible" => 20.0,
"comentarios_tirada_flexible" => null,
"saturacion" => 100.0,
"tienda_id" => null,
"margen_plantilla_id" => null,
"comentarios_produccion" => null,
"ps_customer_id" => null,
"lineasEnvioFactura" => true,
"comentarios" => null,
"is_deleted" => 0,
"deleted_at" => null,
@ -63,21 +55,15 @@ class ClienteEntity extends \CodeIgniter\Entity\Entity
"forma_pago_id" => "?int",
"vencimiento" => "int",
"margen" => "float",
"margen_pod" => "?float",
"descuento" => "float",
"limite_credito" => "float",
"limite_credito_user_id" => "int",
"credito_asegurado" => "?boolean",
"disponible_fe" => "boolean",
"message_tracking" => "boolean",
"message_production_start" => "boolean",
"tirada_flexible" => "boolean",
"descuento_tirada_flexible" => "float",
"saturacion" => "float",
"tienda_id" => "?int",
"margen_plantilla_id" => "?int",
"ps_customer_id" => "?int",
"lineasEnvioFactura" => "boolean",
"is_deleted" => "int",
"user_created_id" => "int",
"user_update_id" => "int",

View File

@ -4,7 +4,7 @@
return [
'alias' => 'Alias',
'ccc' => 'CCC',
'ccc' => 'Nº cuenta Safekat',
'cccCliente' => 'CC Cliente (IBAN)',
'cif' => 'CIF',
'ciudad' => 'Ciudad',
@ -12,19 +12,16 @@ return [
'clienteList' => 'Listado de Clientes',
'clientes' => 'Clientes',
'comentarios' => 'Comentarios',
'comentariosProduccion' => 'Comentarios producción',
'comentariosTiradaFlexible' => 'Comentarios Tirada Flexible',
'comercialId' => 'Comercial',
'comunidadAutonomaId' => 'Comunidad autónoma',
'cp' => 'Código Postal',
'createdAt' => 'Creado en',
'creditoAsegurado' => 'Crédito asegurado',
'creditoSolunion' => 'Crédito Solunion',
'deletedAt' => 'Deleted At',
'descuento' => 'Descuento (porcentaje)',
'descuentoTiradaFlexible' => 'Descuento Tirada Flexible',
'direccion' => 'Dirección',
'disponibleFe' => 'Disponible Fe',
'email' => 'Email',
'fechaVencimiento' => 'Cuando',
'formaPagoId' => 'Forma de Pago',
@ -33,22 +30,17 @@ return [
'limiteCredito' => 'Limite Crédito',
'limiteCreditoChangeAt' => 'Limite Crédito Change At',
'limiteCreditoUserId' => 'Limite Crédito User ID',
'lineasenviofactura' => 'Lineas envéo factura',
'margen' => 'Margen',
'margen' => 'Margen presupuesto (antiguo)',
'margenPlantillaId' => 'Plantilla de márgenes',
'margenPod' => 'Margen Pod',
'messageProductionStart' => 'Avisos de producción',
'messageTracking' => 'Enviar trackings de envíos',
'moduleTitle' => 'Cliente',
'nombre' => 'Nombre',
'numCuenta' => 'Nº cuenta Safekat',
'numCuenta' => 'Nº Cuenta Plan Contable',
'paisId' => 'Pais',
'provinciaId' => 'Provincia',
'psCustomerId' => 'Ps Customer ID',
'saturacion' => 'Saturación',
'soporteId' => 'Soporte',
'telefono' => 'Teléfono',
'tiendaId' => 'Tienda ID',
'tiradaFlexible' => 'Tirada Flexible',
'updatedAt' => 'Actualizado en',
'userCreatedId' => 'User Created ID',
@ -75,21 +67,11 @@ return [
],
'comentarios_produccion' => [
'max_length' => 'El campo {field} no puede exceder {param} caracteres en longitud.',
],
'cp' => [
'max_length' => 'El campo {field} no puede exceder {param} caracteres en longitud.',
],
'credito_solunion' => [
'max_length' => 'El campo {field} no puede exceder {param} caracteres en longitud.',
],
'direccion' => [
'max_length' => 'El campo {field} no puede exceder {param} caracteres en longitud.',
@ -105,31 +87,16 @@ return [
],
'margen_pod' => [
'decimal' => 'El campo {field} debe contener un número decimal.',
],
'num_cuenta' => [
'max_length' => 'El campo {field} no puede exceder {param} caracteres en longitud.',
],
'ps_customer_id' => [
'integer' => 'El campo {field} debe contener un número entero.',
],
'telefono' => [
'max_length' => 'El campo {field} no puede exceder {param} caracteres en longitud.',
],
'tienda_id' => [
'integer' => 'El campo {field} debe contener un número entero.',
],
'alias' => [
'max_length' => 'El campo {field} no puede exceder {param} caracteres en longitud.',
'required' => 'El campo {field} es obligatorio.',
@ -202,12 +169,6 @@ return [
],
'saturacion' => [
'decimal' => 'El campo {field} debe contener un número decimal.',
'required' => 'El campo {field} es obligatorio.',
],
'user_created_id' => [
'integer' => 'El campo {field} debe contener un número entero.',
'required' => 'El campo {field} es obligatorio.',

View File

@ -40,28 +40,20 @@ class ClienteModel extends \App\Models\GoBaseModel
"vencimiento",
"fecha_vencimiento",
"margen",
"margen_pod",
"descuento",
"limite_credito",
"limite_credito_user_id",
"limite_credito_change_at",
"credito_solunion",
"credito_asegurado",
"ccc",
"ccc_cliente",
"num_cuenta",
"disponible_fe",
"message_tracking",
"message_production_start",
"tirada_flexible",
"descuento_tirada_flexible",
"comentarios_tirada_flexible",
"saturacion",
"tienda_id",
"margen_plantilla_id",
"comentarios_produccion",
"ps_customer_id",
"lineasEnvioFactura",
"comentarios",
"is_deleted",
"deleted_at",
@ -99,10 +91,6 @@ class ClienteModel extends \App\Models\GoBaseModel
"label" => "Clientes.comentarios",
"rules" => "trim|max_length[16313]",
],
"comentarios_produccion" => [
"label" => "Clientes.comentariosProduccion",
"rules" => "trim|max_length[16313]",
],
"comentarios_tirada_flexible" => [
"label" => "Clientes.comentariosTiradaFlexible",
"rules" => "trim|required|max_length[16313]",
@ -111,10 +99,6 @@ class ClienteModel extends \App\Models\GoBaseModel
"label" => "Clientes.cp",
"rules" => "trim|max_length[10]",
],
"credito_solunion" => [
"label" => "Clientes.creditoSolunion",
"rules" => "trim|max_length[100]",
],
"descuento" => [
"label" => "Clientes.descuento",
"rules" => "required|decimal",
@ -159,10 +143,6 @@ class ClienteModel extends \App\Models\GoBaseModel
"label" => "Clientes.margenPlantillaId",
"rules" => "integer|permit_empty",
],
"margen_pod" => [
"label" => "Clientes.margenPod",
"rules" => "decimal|permit_empty",
],
"nombre" => [
"label" => "Clientes.nombre",
"rules" => "trim|required|max_length[255]",
@ -171,22 +151,10 @@ class ClienteModel extends \App\Models\GoBaseModel
"label" => "Clientes.numCuenta",
"rules" => "trim|max_length[10]",
],
"ps_customer_id" => [
"label" => "Clientes.psCustomerId",
"rules" => "integer|permit_empty",
],
"saturacion" => [
"label" => "Clientes.saturacion",
"rules" => "required|decimal",
],
"telefono" => [
"label" => "Clientes.telefono",
"rules" => "trim|max_length[60]",
],
"tienda_id" => [
"label" => "Clientes.tiendaId",
"rules" => "integer|permit_empty",
],
"user_created_id" => [
"label" => "Clientes.userCreatedId",
"rules" => "required|integer",
@ -222,9 +190,6 @@ class ClienteModel extends \App\Models\GoBaseModel
"comentarios" => [
"max_length" => "Clientes.validation.comentarios.max_length",
],
"comentarios_produccion" => [
"max_length" => "Clientes.validation.comentarios_produccion.max_length",
],
"comentarios_tirada_flexible" => [
"max_length" => "Clientes.validation.comentarios_tirada_flexible.max_length",
"required" => "Clientes.validation.comentarios_tirada_flexible.required",
@ -232,9 +197,6 @@ class ClienteModel extends \App\Models\GoBaseModel
"cp" => [
"max_length" => "Clientes.validation.cp.max_length",
],
"credito_solunion" => [
"max_length" => "Clientes.validation.credito_solunion.max_length",
],
"descuento" => [
"decimal" => "Clientes.validation.descuento.decimal",
"required" => "Clientes.validation.descuento.required",
@ -276,9 +238,6 @@ class ClienteModel extends \App\Models\GoBaseModel
"margen_plantilla_id" => [
"integer" => "Clientes.validation.margen_plantilla_id.integer",
],
"margen_pod" => [
"decimal" => "Clientes.validation.margen_pod.decimal",
],
"nombre" => [
"max_length" => "Clientes.validation.nombre.max_length",
"required" => "Clientes.validation.nombre.required",
@ -286,13 +245,6 @@ class ClienteModel extends \App\Models\GoBaseModel
"num_cuenta" => [
"max_length" => "Clientes.validation.num_cuenta.max_length",
],
"ps_customer_id" => [
"integer" => "Clientes.validation.ps_customer_id.integer",
],
"saturacion" => [
"decimal" => "Clientes.validation.saturacion.decimal",
"required" => "Clientes.validation.saturacion.required",
],
"telefono" => [
"max_length" => "Clientes.validation.telefono.max_length",
],

View File

@ -28,7 +28,7 @@
Contactos
</button>
</li>
<?php } ?>
<li class="nav-item">
<button
type="button"
@ -77,6 +77,7 @@
Usuarios
</button>
</li>
<?php } ?>
</ul>
<div class="tab-content">
<div class="tab-pane fade show active" id="informacion-cliente" role="tabpanel">
@ -232,48 +233,11 @@
value="<?= old('email', $clienteEntity->email) ?>"
>
</div>
<div class="col-md-6">
<label for="comercialId" class="form-label">
<?= lang('Clientes.comercialId') ?>
</label>
<select
id="comercialId"
name="comercial_id"
class="form-control select2"
style="width: 100%;"
>
<?php if (isset($userList) && is_array($userList) && !empty($userList)) :
foreach ($userList as $k => $v) : ?>
<option value="<?= $k ?>"<?= $k == $clienteEntity->comercial_id ? ' selected' : '' ?>>
<?= $v ?>
</option>
<?php endforeach;
endif; ?>
</select>
</div>
<div class="col-md-6">
<label for="soporteId" class="form-label">
<?= lang('Clientes.soporteId') ?>
</label>
<select
id="soporteId"
name="soporte_id"
class="form-control select2"
style="width: 100%;"
>
<?php if (isset($userList2) && is_array($userList2) && !empty($userList2)) :
foreach ($userList2 as $k => $v) : ?>
<option value="<?= $k ?>"<?= $k == $clienteEntity->soporte_id ? ' selected' : '' ?>>
<?= $v ?>
</option>
<?php endforeach;
endif; ?>
</select>
</div>
</div>
</div>
</div>
</div>
<div class="card accordion-item">
<h2 class="accordion-header" id="headingDeliveryOptions">
<button
@ -354,6 +318,7 @@
</label>
<input type="text" id="numCuenta" name="num_cuenta"
maxLength="10" class="form-control"
placeholder="Cuenta 4300000 por defecto"
value="<?= old('num_cuenta', $clienteEntity->num_cuenta) ?>"
>
</div>
@ -395,6 +360,113 @@
</div>
</div>
<div class="card accordion-item">
<h2 class="accordion-header" id="headingPaymentMethod">
<button
type="button"
class="accordion-button collapsed"
data-bs-toggle="collapse"
data-bs-target="#compras_ventas"
aria-expanded="false"
aria-controls="compras_ventas">
Compras / Ventas
</button>
</h2>
<div
id="compras_ventas"
class="accordion-collapse collapse"
aria-labelledby="headingPaymentMethod"
data-bs-parent="#collapsibleSection"
>
<div class="accordion-body">
<div class="row g-3 mb-3">
<div class="col-md-6">
<label for="comercialId" class="form-label">
<?= lang('Clientes.comercialId') ?>
</label>
<select
id="comercialId"
name="comercial_id"
class="form-control select2"
style="width: 100%;"
>
<?php if (isset($userList) && is_array($userList) && !empty($userList)) :
foreach ($userList as $k => $v) : ?>
<option value="<?= $k ?>"<?= $k == $clienteEntity->comercial_id ? ' selected' : '' ?>>
<?= $v ?>
</option>
<?php endforeach;
endif; ?>
</select>
</div>
<div class="col-md-6">
<label for="soporteId" class="form-label">
<?= lang('Clientes.soporteId') ?>
</label>
<select
id="soporteId"
name="soporte_id"
class="form-control select2"
style="width: 100%;"
>
<?php if (isset($userList2) && is_array($userList2) && !empty($userList2)) :
foreach ($userList2 as $k => $v) : ?>
<option value="<?= $k ?>"<?= $k == $clienteEntity->soporte_id ? ' selected' : '' ?>>
<?= $v ?>
</option>
<?php endforeach;
endif; ?>
</select>
</div>
<div class="col-md-6">
<label for="margen" class="form-label">
<?= lang('Clientes.margen') ?>*
</label>
<input
type="number"
id="margen"
name="margen"
required
placeholder="40.00"
maxLength="8"
step="0.01"
class="form-control"
value="<?= old('margen', $clienteEntity->margen) ?>"
>
</div>
<div class="col-md-6">
<label for="descuento" class="form-label">
<?= lang('Clientes.descuento') ?>*
</label>
<input type="number"
id="descuento"
name="descuento"
required
placeholder="0.00"
maxLength="8"
step="0.01"
class="form-control"
value="<?= old('descuento', $clienteEntity->descuento) ?>"
>
</div>
<div class="col-md-6">
<label for="margenPlantillaId" class="form-label">
<?= lang('Clientes.margenPlantillaId') ?>
</label>
<input type="number"
id="margenPlantillaId"
name="margen_plantilla_id"
maxLength="10"
class="form-control"
value="<?= old('margen_plantilla_id', $clienteEntity->margen_plantilla_id) ?>"
>
</div>
</div>
</div>
</div>
</div>
<div class="card accordion-item">
<h2 class="accordion-header" id="headingPaymentMethod">
<button
@ -415,16 +487,7 @@
>
<div class="accordion-body">
<div class="row g-3 mb-3">
<div class="col-md-3">
<div class="form-check">
<label for="disponibleFe" class="form-check-label">
<input type="checkbox" id="disponibleFe" name="disponible_fe"
value="1"
class="form-check-input"<?= $clienteEntity->disponible_fe == true ? 'checked' : ''; ?>>
<?= lang('Clientes.disponibleFe') ?>
</label>
</div>
</div>
<div class="col-md-3">
<div class="form-check">
<label for="messageTracking" class="form-check-label">
@ -482,8 +545,20 @@
</div>
</div>
</div>
<div class="d-flex align-items-center pt-3">
<div class="d-flex align-items-center">
Creado por [<?= $clienteEntity->user_created_id ?>] el <?= $clienteEntity->created_at ?>
</div>
<div class="ms-auto">
Editado por [<?= $clienteEntity->user_update_id ?>] el <?= $clienteEntity->updated_at ?>
</div>
</div>
</div>
<?php if ($formAction !== site_url('cliente/add')){ ?>
<div class="tab-pane fade" id="contactos" role="tabpanel">
<table id="tableOfClienteContactos"
@ -502,7 +577,7 @@
</tbody>
</table>
</div>
<?php } ?>
<div class="tab-pane fade" id="domicilio-entrega" role="tabpanel">
<h3>Proximanente</h3>
@ -520,134 +595,36 @@
<h3>Proximanente</h3>
</div>
<?php } ?>
</div>
</div>
</div>
<div class="card-footer">
<p>Usuario Creación: <?= $clienteEntity->user_created_id ?> @ <?= $clienteEntity->created_at ?></p>
<p>Usuario Última Edición: <?= $clienteEntity->user_update_id ?> @ <?= $clienteEntity->updated_at ?></p>
</div>
</div>
<div class="row">
<div class="col-md-12 col-lg-6 px-4">
<?php /* A implementar en el controller
<div class="mb-3">
<label for="limiteCreditoUserId" class="form-label">
<?= lang('Clientes.limiteCreditoUserId') ?>*
</label>
<input type="number" id="limiteCreditoUserId" name="limite_credito_user_id" required placeholder="1"
maxLength="10" class="form-control"
value="<?= old('limite_credito_user_id', $clienteEntity->limite_credito_user_id) ?>">
</div><!--//.mb-3 -->
<div class="mb-3">
<label for="limiteCreditoChangeAt" class="form-label">
<?= lang('Clientes.limiteCreditoChangeAt') ?>*
</label>
<input type="text" id="limiteCreditoChangeAt" name="limite_credito_change_at" required
placeholder="2017-02-13 12:38:03" maxLength="20" class="form-control"
value="<?= old('limite_credito_change_at', $clienteEntity->limite_credito_change_at) ?>">
</div><!--//.mb-3 -->
*/ ?>
<div class="mb-3">
<label for="margen" class="form-label">
<?= lang('Clientes.margen') ?>*
</label>
<input type="number" id="margen" name="margen" required placeholder="40.00" maxLength="8" step="0.01"
class="form-control" value="<?= old('margen', $clienteEntity->margen) ?>">
</div><!--//.mb-3 -->
<div class="mb-3">
<label for="margenPod" class="form-label">
<?= lang('Clientes.margenPod') ?>
</label>
<input type="number" id="margenPod" name="margen_pod" maxLength="8" step="0.01" class="form-control"
value="<?= old('margen_pod', $clienteEntity->margen_pod) ?>">
</div><!--//.mb-3 -->
<div class="mb-3">
<label for="descuento" class="form-label">
<?= lang('Clientes.descuento') ?>*
</label>
<input type="number" id="descuento" name="descuento" required placeholder="0.00" maxLength="8"
step="0.01"
class="form-control" value="<?= old('descuento', $clienteEntity->descuento) ?>">
</div><!--//.mb-3 -->
<?php /* A implementar en el controller
<div class="mb-3">
<label for="limiteCreditoUserId" class="form-label">
<?= lang('Clientes.limiteCreditoUserId') ?>*
</label>
<input type="number" id="limiteCreditoUserId" name="limite_credito_user_id" required placeholder="1"
maxLength="10" class="form-control"
value="<?= old('limite_credito_user_id', $clienteEntity->limite_credito_user_id) ?>">
</div><!--//.mb-3 -->
<div class="mb-3">
<label for="limiteCreditoChangeAt" class="form-label">
<?= lang('Clientes.limiteCreditoChangeAt') ?>*
</label>
<input type="text" id="limiteCreditoChangeAt" name="limite_credito_change_at" required
placeholder="2017-02-13 12:38:03" maxLength="20" class="form-control"
value="<?= old('limite_credito_change_at', $clienteEntity->limite_credito_change_at) ?>">
</div><!--//.mb-3 -->
*/ ?>
<div class="mb-3">
<label for="creditoSolunion" class="form-label">
<?= lang('Clientes.creditoSolunion') ?>
</label>
<input type="text" id="creditoSolunion" name="credito_solunion" maxLength="100" class="form-control"
value="<?= old('credito_solunion', $clienteEntity->credito_solunion) ?>">
</div><!--//.mb-3 -->
</div><!--//.col -->
<div class="col-md-12 col-lg-6 px-4">
<div class="mb-3">
<label for="saturacion" class="form-label">
<?= lang('Clientes.saturacion') ?>*
</label>
<input type="number" id="saturacion" name="saturacion" required placeholder="100.00" maxLength="8"
step="0.01" class="form-control" value="<?= old('saturacion', $clienteEntity->saturacion) ?>">
</div><!--//.mb-3 -->
<div class="mb-3">
<label for="tiendaId" class="form-label">
<?= lang('Clientes.tiendaId') ?>
</label>
<input type="number" id="tiendaId" name="tienda_id" maxLength="10" class="form-control"
value="<?= old('tienda_id', $clienteEntity->tienda_id) ?>">
</div><!--//.mb-3 -->
<div class="mb-3">
<label for="margenPlantillaId" class="form-label">
<?= lang('Clientes.margenPlantillaId') ?>
</label>
<input type="number" id="margenPlantillaId" name="margen_plantilla_id" maxLength="10"
class="form-control"
value="<?= old('margen_plantilla_id', $clienteEntity->margen_plantilla_id) ?>">
</div><!--//.mb-3 -->
<div class="mb-3">
<label for="comentariosProduccion" class="form-label">
<?= lang('Clientes.comentariosProduccion') ?>
</label>
<textarea rows="3" id="comentariosProduccion" name="comentarios_produccion" style="height: 10em;"
class="form-control"><?= old('comentarios_produccion', $clienteEntity->comentarios_produccion) ?></textarea>
</div><!--//.mb-3 -->
<div class="mb-3">
<label for="psCustomerId" class="form-label">
<?= lang('Clientes.psCustomerId') ?>
</label>
<input type="number" id="psCustomerId" name="ps_customer_id" maxLength="10" class="form-control"
value="<?= old('ps_customer_id', $clienteEntity->ps_customer_id) ?>">
</div><!--//.mb-3 -->
<div class="mb-3">
<div class="form-check">
<label for="lineasenviofactura" class="form-check-label">
<input type="checkbox" id="lineasenviofactura" name="lineasEnvioFactura" value="1"
class="form-check-input"<?= $clienteEntity->lineasEnvioFactura == true ? 'checked' : ''; ?>>
<?= lang('Clientes.lineasenviofactura') ?>
</label>
</div><!--//.form-check -->
</div><!--//.mb-3 -->
</div><!--//.col -->
</div><!-- //.row -->
<?php if ($formAction !== site_url('cliente/add')){ ?>
<?= $this->section("additionalInlineJs") ?>