corregido el texto del error del tipo de libro y que se borre el error

This commit is contained in:
2025-06-27 08:38:23 +02:00
parent 33a196667e
commit 4a60bcdd61
8 changed files with 147 additions and 49 deletions

View File

@ -1585,7 +1585,6 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$modelPapelFormato = new PapelFormatoModel();
$modelCliente = new ClienteModel();
$presupuesto = $this->model->find($id);
$data = [];
if ($presupuesto) {
@ -1695,7 +1694,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
if (intval($presupuesto->recoger_en_taller) == 1) {
$data['direcciones']['entrega_taller'] = 1;
} else {
$data['direcciones'] = $this->obtenerDireccionesEnvio($id, $presupuesto->cliente_id);
$data['direcciones'] = $this->obtenerDireccionesEnvio($id);
}
if (intval($presupuesto->estado_id) == 2) {
@ -3398,39 +3397,22 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
}
}
protected function obtenerDireccionesEnvio($id, $cliente_id)
protected function obtenerDireccionesEnvio($id)
{
$model = model('App\Models\Presupuestos\PresupuestoDireccionesModel');
$model_direcciones = model('App\Models\Clientes\ClienteDireccionesModel');
$direcciones = $model->where('presupuesto_id', $id)->asArray()->findAll();
$direcciones = $model->where('presupuesto_id', $id)
->where('is_ferro_prototipo', 0)->asArray()->findAll();
return $direcciones;
}
$result = [];
$temp = [];
for ($i = 0; $i < count($direcciones); $i++) {
$direccion_id = $model_direcciones->getIdForPresupuestoCliente(
$cliente_id,
$direcciones[$i]->att,
$direcciones[$i]->email,
$direcciones[$i]->direccion,
$direcciones[$i]->cp,
$direcciones[$i]->pais_id,
$direcciones[$i]->telefono
);
if (count($direccion_id) > 0) {
$temp = $direcciones[$i]->toArray();
array_push($result, [
'id' => $temp['id'],
'unidades' => $temp['cantidad'],
'palets' => $temp['entregaPieCalle'],
]);
}
}
if (count($result) > 0)
return $result;
else
return [];
protected function obtenerDireccionesEnvioFerro($id)
{
$model = model('App\Models\Presupuestos\PresupuestoDireccionesModel');
$direcciones = $model->where('presupuesto_id', $id)
->where('is_ferro_prototipo', 0)->asArray()->findAll();
return $direcciones;
}
protected function obtenerDatosPapel($presupuesto_id)
@ -3643,10 +3625,18 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
foreach ($data as $servicio) {
$id = "service_extra_" . $servicio->id;
$tarifa_excluyente = false;
if(str_contains(strtolower($servicio->nombre), 'ferro') || str_contains(strtolower($servicio->nombre), 'prototipo')) {
$tarifa_excluyente = true;
}
$atributo_excluyente = $tarifa_excluyente ? 'data-tarifa-extra-excluyente="1"' : '';
array_push(
$servicios,
"<input class=\"calcular-presupuesto form-check-input\" type=\"checkbox\" id=\"{$id}\"
name=\"{$id}\" value=\"1\" data-tarifa-id=\"{$servicio->id}\" data-tarifa-tipo=\"extra\" data-tarifa-nombre=\"{$servicio->nombre}\">
name=\"{$id}\" value=\"1\" data-tarifa-id=\"{$servicio->id}\" data-tarifa-tipo=\"extra\" data-tarifa-nombre=\"{$servicio->nombre}\"
{$atributo_excluyente}>
<label class=\"form-check-label\" for=\"{$id}\">{$servicio->nombre}</label>"
);
}

View File

@ -42,8 +42,8 @@ return [
'papelFormatoAncho' => 'Width',
'papelFormatoAlto' => 'Height',
'cosido' => 'Sewn',
'ferro' => 'Ferro',
'ferroDigital' => 'Digital Ferro',
'ferro' => 'Blueline proof',
'ferroDigital' => 'Digital Blueline proof',
'prototipo' => 'Prototype',
'imagenesBnInterior' => 'B/W pictures inside',
'recogerEnTaller' => 'Pick up in workshop',

View File

@ -396,7 +396,7 @@ return [
'paginasColor' => 'El número de páginas a color debe ser un número entero mayor o igual que 0.',
'paginasNegro' => 'El número de páginas en negro debe ser un número entero mayor o igual que 0.',
'paginas' => 'El total de páginas tiene que ser mayor que 0.',
'tipo_libro' => 'Seleccione el tipo de libro que desea para el presupuesto.',
'tipo_libro' => 'Seleccione el tipo de encuadernación que desea para el presupuesto.',
'decimal' => 'El campo {field} debe contener un número decimal.',
'integer' => 'El campo {field} debe contener un número entero.',
'requerido' => 'El campo {field} es obligatorio.',

View File

@ -21,6 +21,8 @@ return [
'costePrecio' => 'Coste/Precio',
'saveDirection' => 'Guardar en direcciones de cliente',
'entregaPieCalle' => 'Entrega a pie de calle (enviado en palets)',
'sameAddPrincipal' => 'Usar la dirección principal del presupuesto',
'sameAddFP1' => 'Usar la dirección del ferro/prototipo 1',
'validation' => [
'ejemplares_envio' => 'El número de ejemplares enviados no coincide con la tirada',
'max_length' => 'Max. valor caracteres alcanzado',

View File

@ -283,12 +283,12 @@
<div class="col-sm-3 form-check form-switch mb-2 d-flex align-items-center gap-2">
<input class="calcular-presupuesto form-check-input" type="checkbox" id="retractilado"
name="retractilado" value="1">
<label class="form-check-label" for="ferro">Retractilado</label>
<label class="form-check-label" for="retractilado">Retractilado</label>
</div>
<div class="col-sm-3 form-check form-switch mb-2 d-flex align-items-center gap-2">
<input class="calcular-presupuesto form-check-input" type="checkbox" id="retractilado5"
name="retractilado5" value="1">
<label class="form-check-label" for="ferro">Retractilado de 5</label>
<label class="form-check-label" for="retractilado5">Retractilado de 5</label>
</div>
<?php foreach ($serviciosExtra as $servicio): ?>
@ -300,7 +300,7 @@
<div class="col-sm-3 form-check form-switch mb-2 d-flex align-items-center gap-2">
<input class="calcular-presupuesto form-check-input" type="checkbox" id="marcapaginas"
name="marcapaginas" value="1">
<label class="form-check-label" for="ferro">Marcapáginas</label>
<label class="form-check-label" for="marcapaginas">Marcapáginas</label>
</div>
</div>

View File

@ -62,7 +62,82 @@
</div>
</div>
<div id="divDirecciones" class="calcular-presupuesto col-sm-12 d-flex flex-column align-items-center div-direcciones">
<div id="divDirecciones"
class="calcular-presupuesto col-sm-12 d-flex flex-column align-items-center div-direcciones">
</div>
</div>
<div id="direccionesFerroPrototipo" class="col-sm-12 d-flex flex-column align-items-center d-none">
<div class="col-sm-8 mb-3 d-flex flex-column align-items-center">
<h3 class="mb-1 fw-bold"> Dirección de envío ferro/prototipo</h3>
</div><!--//.mb-3 -->
<div class="row mb-3 justify-content-center div-direcciones-fp1">
<div class="col-sm-9 mb-3">
<label for="direcciones" class="form-label">Mis direcciones</label>
<select id="direccionesFP1" name="direcciones" class="form-control select2bs2"
style="width: 100%;"></select>
</div>
<div class="col-sm-3 mb-3 mt-auto mb-0">
<button id="insertarDireccionFP1" type="button"
class="btn btn-secondary waves-effect waves-light">Insertar</button>
</div>
</div>
<div class="row mb-3 justify-content-center">
<div class="form-check form-switch mb-2">
<input class="form-check-input" type="checkbox" id="sameAddPrincipalFP1" name="sameAddPrincipalFP1"
value="1">
<label class="form-check-label"
for="sameAddPrincipalFP1"><?= lang('PresupuestosDirecciones.sameAddPrincipal') ?></label>
</div>
</div>
<div id="divDireccionesFerroPrototipo"
class="calcular-presupuesto col-sm-12 d-flex flex-column align-items-center div-direcciones-ferro-prototipo">
</div>
</div>
<div id="direccionesFerroPrototipo2" class="col-sm-12 d-flex flex-column align-items-center d-none">
<div class="col-sm-8 mb-3 d-flex flex-column align-items-center">
<h3 class="mb-1 fw-bold"> Dirección de envío ferro/prototipo 2</h3>
</div><!--//.mb-3 -->
<div class="row mb-3 justify-content-center div-direcciones">
<div class="col-sm-6 mb-3">
<label for="direcciones" class="form-label">Mis direcciones</label>
<select id="direccionesFP1" name="direcciones" class="form-control select2bs2"
style="width: 100%;"></select>
</div>
<div class="col-sm-3 mb-3 mt-auto mb-0">
<button id="insertarDireccionFP1" type="button"
class="btn btn-secondary waves-effect waves-light">Insertar</button>
</div>
</div>
<div class="row mb-3 justify-content-center">
<div class="form-check form-switch mb-2">
<input class="form-check-input" type="checkbox" id="sameAddPrincipalFP2" name="sameAddPrincipalFP2"
value="1">
<label class="form-check-label"
for="sameAddPrincipalFP2"><?= lang('PresupuestosDirecciones.sameAddPrincipal') ?></label>
</div>
</div>
<div class="row mb-3 justify-content-center">
<div class="form-check form-switch mb-2">
<input class="form-check-input" type="checkbox" id="sameAddFP1" name="sameAddFP1" value="1">
<label class="form-check-label"
for="sameAddFP1"><?= lang('PresupuestosDirecciones.sameAddFP1') ?></label>
</div>
</div>
<div id="divDireccionesFerroPrototipo2"
class="calcular-presupuesto col-sm-12 d-flex flex-column align-items-center div-direcciones-ferro-prototipo">
</div>
</div>