Añadidos y editados campos en tarifas encuadernacion lineas

This commit is contained in:
imnavajas
2023-10-29 22:00:57 +01:00
parent 43e051b135
commit 474804ba64
5 changed files with 76 additions and 50 deletions

View File

@ -215,19 +215,19 @@ class Tarifaencuadernacionlineas extends \App\Controllers\GoBaseResourceControll
// Build our Editor instance and process the data coming from _POST
$response = Editor::inst($db, 'tarifa_encuadernacion_lineas')
->fields(
Field::inst('paginas_min')
Field::inst('paginas_libro_min')
->validator('Validate::numeric', array(
'message' => lang('TarifaAcabadoLineas.validation.paginas_min.decimal'))
'message' => lang('TarifaAcabadoLineas.validation.paginas_libro_min.decimal'))
)
->validator('Validate::notEmpty', array(
'message' => lang('TarifaAcabadoLineas.validation.paginas_min.required'))
'message' => lang('TarifaAcabadoLineas.validation.paginas_libro_min.required'))
),
Field::inst('paginas_max')
Field::inst('paginas_libro_max')
->validator('Validate::numeric', array(
'message' => lang('TarifaAcabadoLineas.validation.paginas_max.decimal'))
'message' => lang('TarifaAcabadoLineas.validation.paginas_libro_max.decimal'))
)
->validator('Validate::notEmpty', array(
'message' => lang('TarifaAcabadoLineas.validation.paginas_max.required'))
'message' => lang('TarifaAcabadoLineas.validation.paginas_libro_max.required'))
),
Field::inst('precio_min')
->validator('Validate::numeric', array(
@ -264,8 +264,8 @@ class Tarifaencuadernacionlineas extends \App\Controllers\GoBaseResourceControll
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'];
$process_data['paginas_libro_min'] = $data['data'][$pkey]['paginas_libro_min'];
$process_data['paginas_libro_max'] = $data['data'][$pkey]['paginas_libro_max'];
$response = $this->model->checkIntervals($process_data, $pkey, $data['data'][$pkey]['tirada_encuadernacion_id']);
// No se pueden duplicar valores al crear o al editar
if (!empty($response)) {

View File

@ -8,10 +8,13 @@ class TarifaEncuadernacionLinea extends \CodeIgniter\Entity\Entity
protected $attributes = [
"id" => null,
"tirada_encuadernacion_id" => 0,
"paginas_min" => 0,
"paginas_max" => 0,
"paginas_libro_min" => 0,
"paginas_libro_max" => 0,
"dimensiones_id" => 0,
"precio_min" => 0,
"precio_max" => 0,
"tirada_min" => 0,
"tirada_max" => 0,
"margen" => 0,
"user_created_id" => 0,
"user_updated_id" => 0,
@ -21,10 +24,13 @@ class TarifaEncuadernacionLinea extends \CodeIgniter\Entity\Entity
];
protected $casts = [
"tirada_encuadernacion_id" => "int",
"paginas_min" => "float",
"paginas_max" => "float",
"dimensiones_id" => "int",
"paginas_libro_min" => "float",
"paginas_libro_max" => "float",
"precio_min" => "float",
"precio_max" => "float",
"tirada_min" => "float",
"tirada_max" => "float",
"margen" => "float",
"user_created_id" => "int",
"user_updated_id" => "int",

View File

@ -8,6 +8,8 @@ return [
'deleteLine' => 'el registro seleccionado',
'precioMax' => 'Precio Max',
'precioMin' => 'Precio Min',
'tiradaMax' => 'Tirada Max',
'tiradaMin' => 'Tirada Min',
'precioUnidad' => 'Precio Unidad',
'paginasMax' => 'Páginas Max',
'paginasMin' => 'Páginas Min',
@ -19,23 +21,26 @@ return [
'error_paginas_range' => 'El campo Páginas Min debe ser menor que el campo Páginas Max',
'precio_max' => [
'decimal' => 'El campo {field} debe contener un número decimal.',
'required' => 'The {field} field is required.',
'required' => 'El campo {field} es obligatorio.',
],
'precio_min' => [
'decimal' => 'El campo {field} debe contener un número decimal.',
'required' => 'The {field} field is required.',
'required' => 'El campo {field} es obligatorio.',
],
'paginas_max' => [
'tirada_max' => [
'decimal' => 'El campo {field} debe contener un número decimal.',
'required' => 'El campo {field} es obligatorio.',
],
'tirada_min' => [
'decimal' => 'El campo {field} debe contener un número decimal.',
'required' => 'El campo {field} es obligatorio.',
],
'paginas_libro_max' => [
'decimal' => 'El campo {field} debe contener un número decimal.',
'required' => 'The {field} field is required.',
],
'paginas_min' => [
'paginas_libro_min' => [
'decimal' => 'El campo {field} debe contener un número decimal.',
'required' => 'The {field} field is required.',

View File

@ -13,18 +13,21 @@ class TarifaEncuadernacionLineaModel extends \App\Models\GoBaseModel
protected $useAutoIncrement = true;
const SORTABLE = [
0 => "t1.paginas_min",
1 => "t1.paginas_max",
0 => "t1.paginas_libro_min",
1 => "t1.paginas_libro_max",
2 => "t1.precio_min",
3 => "t1.precio_max",
];
protected $allowedFields = [
"tirada_encuadernacion_id",
"paginas_min",
"paginas_max",
"paginas_libro_min",
"paginas_libro_max",
"dimensiones_id",
"precio_min",
"precio_max",
"tirada_min",
"tirada_max",
"user_created_id",
"is_deleted",
@ -49,11 +52,19 @@ class TarifaEncuadernacionLineaModel extends \App\Models\GoBaseModel
"label" => "TarifaEncuadernacionLineas.precioMin",
"rules" => "required|decimal",
],
"paginas_max" => [
"tirada_max" => [
"label" => "TarifaEncuadernacionLineas.tiradaMax",
"rules" => "required|decimal",
],
"tirada_min" => [
"label" => "TarifaEncuadernacionLineas.tiradaMin",
"rules" => "required|decimal",
],
"paginas_libro_max" => [
"label" => "TarifaEncuadernacionLineas.paginasMax",
"rules" => "required|decimal",
],
"paginas_min" => [
"paginas_libro_min" => [
"label" => "TarifaEncuadernacionLineas.paginasMin",
"rules" => "required|decimal",
],
@ -72,13 +83,21 @@ class TarifaEncuadernacionLineaModel extends \App\Models\GoBaseModel
"decimal" => "TarifaEncuadernacionLineas.validation.precio_min.decimal",
"required" => "TarifaEncuadernacionLineas.validation.precio_min.required",
],
"paginas_max" => [
"decimal" => "TarifaEncuadernacionLineas.validation.paginas_max.decimal",
"required" => "TarifaEncuadernacionLineas.validation.paginas_max.required",
"tirada_max" => [
"decimal" => "TarifaEncuadernacionLineas.validation.tirada_max.decimal",
"required" => "TarifaEncuadernacionLineas.validation.tirada_max.required",
],
"paginas_min" => [
"decimal" => "TarifaEncuadernacionLineas.validation.paginas_min.decimal",
"required" => "TarifaEncuadernacionLineas.validation.paginas_min.required",
"tirada_min" => [
"decimal" => "TarifaEncuadernacionLineas.validation.tirada_min.decimal",
"required" => "TarifaEncuadernacionLineas.validation.tirada_min.required",
],
"paginas_libro_max" => [
"decimal" => "TarifaEncuadernacionLineas.validation.paginas_libro_max.decimal",
"required" => "TarifaEncuadernacionLineas.validation.paginas_libro_max.required",
],
"paginas_libro_min" => [
"decimal" => "TarifaEncuadernacionLineas.validation.paginas_libro_min.decimal",
"required" => "TarifaEncuadernacionLineas.validation.paginas_libro_min.required",
],
"margen" => [
"decimal" => "TarifaEncuadernacionLineas.validation.margen.decimal",
@ -98,7 +117,7 @@ class TarifaEncuadernacionLineaModel extends \App\Models\GoBaseModel
$builder = $this->db
->table($this->table . " t1")
->select(
"t1.id AS id, t1.tirada_encuadernacion_id AS tirada_encuadernacion_id, t1.paginas_min AS paginas_min, t1.paginas_max AS paginas_max, t1.precio_min AS precio_min, t1.precio_max AS precio_max, t1.margen AS margen, t2.id AS tarifa_encuadernacion"
"t1.id AS id, t1.tirada_encuadernacion_id AS tirada_encuadernacion_id, t1.paginas_libro_min AS paginas_libro_min, t1.paginas_libro_max AS paginas_libro_max, t1.precio_min AS precio_min, t1.precio_max AS precio_max, t1.tirada_min AS tirada_min, t1.tirada_max AS tirada_max, t1.margen AS margen, t2.id AS tarifa_encuadernacion"
);
//JJO
$builder->where('tirada_encuadernacion_id', $tirada_encuadernacion_id);
@ -113,16 +132,12 @@ class TarifaEncuadernacionLineaModel extends \App\Models\GoBaseModel
->groupStart()
->like("t1.id", $search)
->orLike("t1.tirada_encuadernacion_id", $search)
->orLike("t1.paginas_min", $search)
->orLike("t1.paginas_max", $search)
->orLike("t1.precio_min", $search)
->orLike("t1.precio_max", $search)
->orLike("t1.id", $search)
->orLike("t1.tirada_encuadernacion_id", $search)
->orLike("t1.paginas_min", $search)
->orLike("t1.paginas_max", $search)
->orLike("t1.paginas_libro_min", $search)
->orLike("t1.paginas_libro_max", $search)
->orLike("t1.precio_min", $search)
->orLike("t1.precio_max", $search)
->orLike("t1.tirada_min", $search)
->orLike("t1.tirada_max", $search)
->groupEnd();
}
@ -130,13 +145,13 @@ class TarifaEncuadernacionLineaModel extends \App\Models\GoBaseModel
helper('general');
if(floatval($data["paginas_min"])>= floatval($data["paginas_max"])){
if(floatval($data["paginas_libro_min"])>= floatval($data["paginas_libro_max"])){
return lang('TarifaEncuadernacionLineas.validation.error_paginas_range');
}
$rows = $this->db
->table($this->table)
->select("id, paginas_min, paginas_max")
->select("id, paginas_libro_min, paginas_libro_max")
->where("is_deleted", 0)
->where("tirada_encuadernacion_id", $tirada_encuadernacion_id)
->get()->getResultObject();
@ -148,8 +163,8 @@ class TarifaEncuadernacionLineaModel extends \App\Models\GoBaseModel
continue;
}
}
if(check_overlap(floatval($data["paginas_min"]), floatval($data["paginas_max"]),
$row->paginas_min, $row->paginas_max)){
if(check_overlap(floatval($data["paginas_libro_min"]), floatval($data["paginas_libro_max"]),
$row->paginas_libro_min, $row->paginas_libro_max)){
return lang('TarifaEncuadernacionLineas.validation.error_paginas_overlap');
}
}

View File

@ -172,11 +172,11 @@
table : "#tableOfTarifaencuadernacionlineas",
idSrc: 'id',
fields: [ {
name: "paginas_min"
name: "paginas_libro_min"
}, {
name: "precio_max"
}, {
name: "paginas_max"
name: "paginas_libro_max"
}, {
name: "precio_min"
}, {
@ -243,9 +243,9 @@
async: true,
}),
columns: [
{ 'data': 'paginas_min' },
{ 'data': 'paginas_libro_min' },
{ 'data': 'precio_max' },
{ 'data': 'paginas_max' },
{ 'data': 'paginas_libro_max' },
{ 'data': 'precio_min' },
{ 'data': 'margen' },
{