trabajando en comparador

This commit is contained in:
2024-12-17 14:38:02 +01:00
parent 4e7f53ba6c
commit 643f84684a
11 changed files with 267 additions and 492 deletions

View File

@ -579,6 +579,9 @@ $routes->group('presupuestoadmin', ['namespace' => 'App\Controllers\Presupuestos
$routes->post('datatable_2', 'Presupuestoadmin::datatable_2', ['as' => 'updateDataOfPresupuestoAdmin']);
$routes->post('allmenuitems', 'Presupuestoadmin::allItemsSelect', ['as' => 'select2ItemsOfPresupuestoAdmin']);
$routes->post('menuitems', 'Presupuestoadmin::menuItems', ['as' => 'menuItemsOfPresupuestoAdmin']);
$routes->get('papelgenerico', 'Presupuestoadmin::getPapelGenerico');
$routes->get('papelgramaje', 'Presupuestoadmin::getGramaje');
});
$routes->resource('presupuestoadmin', ['namespace' => 'App\Controllers\Presupuestos', 'controller' => 'Presupuestoadmin', 'except' => 'show,new,create,update']);

View File

@ -89,6 +89,8 @@ class Users extends \App\Controllers\GoBaseController
// Marcar el username como NULL
$sanitizedData = $this->sanitized($postData, true);
$email = $sanitizedData['email'];
unset($sanitizedData['email']);
$noException = true;
@ -100,7 +102,7 @@ class Users extends \App\Controllers\GoBaseController
try {
// The Email is unique
if ($this->user_model->isEmailUnique($sanitizedData['email'])) {
if ($this->user_model->isEmailUnique($email)) {
// Crear el usuario si pasa la validación
$user = new \CodeIgniter\Shield\Entities\User([
@ -109,8 +111,6 @@ class Users extends \App\Controllers\GoBaseController
'last_name' => $sanitizedData['last_name'],
'cliente_id' => $sanitizedData['cliente_id'],
'comments' => $sanitizedData['comments'],
'email' => $sanitizedData['email'],
'password' => $sanitizedData['password'],
'status' => $sanitizedData['status'] ?? 0,
'active' => $sanitizedData['active'] ?? 0,
]);

View File

@ -336,15 +336,7 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
$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['papelFormatoList'] = $this->getPapelFormatoListItems($presupuestoEntity->papel_formato_id ?? null);
$this->viewData['papelGenericoNegroList'] = $this->getPapelGenericoNegro();
$this->viewData['papelGenericoNegroHQList'] = $this->getPapelGenericoNegroHQ();
$this->viewData['papelGenericoColorList'] = $this->getPapelGenericoColor();
$this->viewData['papelGenericoColorHQList'] = $this->getPapelGenericoColorHQ();
$this->viewData['papelGenericoCubiertaList'] = $this->getPapelGenericoCubierta();
$this->viewData['papelGenericoGuardasList'] = $this->getPapelGenericoGuardas();
$this->viewData['papelGenericoSobrecubiertaList'] = $this->getPapelGenericoSobreCubierta();
$this->viewData['papelGenericoRotativaNegroList'] = $this->getPapelGenericoRotativaNegro();
$this->viewData['papelGenericoRotativaColorList'] = $this->getPapelGenericoRotativaColor();
// Acabados exteriores
$this->viewData['acabadosCubierta'] = $this->getAcabadosCubierta();
@ -475,6 +467,7 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
$modelPapelFormato = new PapelFormatoModel();
$modelCliente = new ClienteModel();
$modelPapelGenerico = new PapelGenericoModel();
$presupuesto = $this->model->find($id);
@ -537,7 +530,12 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
$data['datosLibro']['fajaColor'] = $presupuesto->faja_color;
$data['comparador']['tipo_impresion'] = $presupuesto->comp_tipo_impresion;
$data['comparador']['json_data'] = $presupuesto->comparador_json_data;
$data['comparador']['json_data'] = json_decode($presupuesto->comparador_json_data, true);
foreach ($data['comparador']['json_data'] as &$item) {
$item['papel_nombre'] = $modelPapelGenerico->getNombre($item['papel_id'])['nombre'];
}
/*
$data['datosGenerales']['posPaginasColor'] = $presupuesto->comp_pos_paginas_color;
@ -1231,105 +1229,99 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
return $data;
}
public function getPapelGenerico(){
protected function getPapelGenericoRotativaNegro()
{
$model = model('App\Models\Configuracion\PapelGenericoModel');
$data = $model->getPapelForComparador('negro', false, false, true);
array_unshift($data, (object)array(
"id" => 0,
"nombre" => lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('Presupuestos.papel'))])
));
return $data;
if ($this->request->isAJAX()) {
$POD_value = $this->getPOD();
$tirada = $this->request->getGet("tirada");
$isPOD = intval($tirada)<=intval($POD_value);
$tipo_impresion_id = $this->request->getGet("tipo_impresion");
$tapa_dura = model('App\Models\Configuracion\TipoPresupuestoModel')->get_isTapaDura(intval($tipo_impresion_id));
$tipo = $this->request->getGet("tipo");
$uso = $this->request->getGet("uso") ?? 'interior';
$cubierta = false;
if($uso=='cubierta'){
$cubierta = true;
}
$sobrecubierta = false;
if($uso=='sobrecubierta'){
$sobrecubierta = true;
}
$guardas = false;
if($uso=='guardas'){
$guardas = true;
}
$rotativa = false;
if($uso=='rotativa'){
$rotativa = true;
}
$model = model('App\Models\Configuracion\PapelGenericoModel');
$query = $model->getPapelForComparador($tipo, $cubierta, $sobrecubierta, $rotativa, $guardas, $tapa_dura, $isPOD);
if ($this->request->getGet("q")) {
$query->groupStart()
->orLike("lg_papel_generico.nombre", $this->request->getGet("q"))
->groupEnd();
}
return $this->response->setJSON($query->orderBy("t1.nombre", "asc")->get()->getResultObject());
} else {
return $this->failUnauthorized('Invalid request', 403);
}
}
protected function getPapelGenericoRotativaColor()
{
$model = model('App\Models\Configuracion\PapelGenericoModel');
$data = $model->getPapelForComparador('color', false, false, true);
array_unshift($data, (object)array(
"id" => 0,
"nombre" => lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('Presupuestos.papel'))])
));
return $data;
public function getGramaje(){
if ($this->request->isAJAX()) {
$papel_generico_id = $this->request->getGet("papel_generico");
$POD_value = $this->getPOD();
$tirada = $this->request->getGet("tirada");
$isPOD = intval($tirada)<=intval($POD_value);
$tipo_impresion_id = $this->request->getGet("tipo_impresion");
$tapa_dura = model('App\Models\Configuracion\TipoPresupuestoModel')->get_isTapaDura(intval($tipo_impresion_id));
$tipo = $this->request->getGet("tipo");
$uso = $this->request->getGet("uso") ?? 'interior';
$cubierta = false;
if($uso=='cubierta'){
$cubierta = true;
}
$sobrecubierta = false;
if($uso=='sobrecubierta'){
$sobrecubierta = true;
}
$guardas = false;
if($uso=='guardas'){
$guardas = true;
}
$rotativa = false;
if($uso=='rotativa'){
$rotativa = true;
}
$model = model('App\Models\Configuracion\PapelGenericoModel');
$query = $model->getGramajeForComparador($tipo, $papel_generico_id, $cubierta, $sobrecubierta, $rotativa, $guardas, $tapa_dura, $isPOD);
if ($this->request->getGet("q")) {
$query->groupStart()
->orLike("lg_papel_generico.nombre", $this->request->getGet("q"))
->groupEnd();
}
return $this->response->setJSON($query->orderBy("t1.nombre", "asc")->get()->getResultObject());
} else {
return $this->failUnauthorized('Invalid request', 403);
}
}
protected function getPapelGenericoNegro()
{
$model = model('App\Models\Configuracion\PapelGenericoModel');
$data = $model->getPapelForComparador('negro', false, false);
array_unshift($data, (object)array(
"id" => 0,
"nombre" => lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('Presupuestos.papel'))])
));
return $data;
}
protected function getPapelGenericoNegroHQ()
{
$model = model('App\Models\Configuracion\PapelGenericoModel');
$data = $model->getPapelForComparador('negrohq', false, false);
array_unshift($data, (object)array(
"id" => 0,
"nombre" => lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('Presupuestos.papel'))])
));
return $data;
}
protected function getPapelGenericoColor()
{
$model = model('App\Models\Configuracion\PapelGenericoModel');
$data = $model->getPapelForComparador('color', false, false);
array_unshift($data, (object)array(
"id" => 0,
"nombre" => lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('Presupuestos.papel'))])
));
return $data;
}
protected function getPapelGenericoColorHQ()
{
$model = model('App\Models\Configuracion\PapelGenericoModel');
$data = $model->getPapelForComparador('colorhq', false, false);
array_unshift($data, (object)array(
"id" => 0,
"nombre" => lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('Presupuestos.papel'))])
));
return $data;
}
protected function getPapelGenericoCubierta()
{
$model = model('App\Models\Configuracion\PapelGenericoModel');
$data = $model->getPapelForComparador('colorhq', true, false);
array_unshift($data, (object)array(
"id" => 0,
"nombre" => lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('Presupuestos.papel'))])
));
return $data;
}
protected function getPapelGenericoGuardas()
{
$model = model('App\Models\Configuracion\PapelGenericoModel');
$data = $model->getPapelForComparador('colorhq', false, false, false, true);
array_unshift($data, (object)array(
"id" => 0,
"nombre" => lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('Presupuestos.papel'))])
));
return $data;
}
protected function getPapelGenericoSobreCubierta()
{
$model = model('App\Models\Configuracion\PapelGenericoModel');
$data = $model->getPapelForComparador('colorhq', false, true);
array_unshift($data, (object)array(
"id" => 0,
"nombre" => lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('Presupuestos.papel'))])
));
return $data;
}
protected function getServiciosPreimpresion()
{

View File

@ -13,6 +13,7 @@ class UserEntity extends \CodeIgniter\Entity\Entity
"status" => null,
"status_message" => null,
'active' => null,
"comments" => null,
"last_active" => null,
"created_at" => null,
"updated_at" => null,

View File

@ -129,141 +129,185 @@ class PapelGenericoModel extends \App\Models\BaseModel
return empty($search)
? $builder
: $builder
->groupStart()
->like("t1.id", $search)
->orLike("t1.nombre", $search)
->orLike("t1.code", $search)
->orLike("t1.code_ot", $search)
->orLike("t1.id", $search)
->orLike("t1.nombre", $search)
->orLike("t1.code", $search)
->orLike("t1.code_ot", $search)
->groupEnd();
->groupStart()
->like("t1.id", $search)
->orLike("t1.nombre", $search)
->orLike("t1.code", $search)
->orLike("t1.code_ot", $search)
->orLike("t1.id", $search)
->orLike("t1.nombre", $search)
->orLike("t1.code", $search)
->orLike("t1.code_ot", $search)
->groupEnd();
}
public function getPapelForComparador($tipo, $is_cubierta = false, $is_sobrecubierta = false, $rotativa = false, $is_guardas = false, $mostrar_cliente = null)
{
public function getPapelForComparador(
$tipo,
$is_cubierta = false,
$is_sobrecubierta = false,
$rotativa = false,
$is_guardas = false,
$tapa_dura = false,
$POD = false
) {
/*
1.-> Tipo impresion
2.-> Maquina
3.-> Papeles impresion asociados a esa maquina
4.-> papeles genericos que aparecen en esos papeles impresion
*/
if ($POD == true && ($tipo == 'color' || $tipo == 'negro')) {
if ($tipo == 'color')
$tipo = 'colorhq';
else if ($tipo == 'negro')
$tipo = 'negrohq';
}
$builder = $this->db
->table($this->table . " t1")
->select(
"t1.id as id, t1.nombre AS nombre"
"t1.id as id, t1.nombre AS nombre",
// for debug, t2.nombre AS nombre_papel_impresion, t4.nombre AS maquina_nombre, t5.uso AS tarifa_uso, t5.tipo AS tarifa_tipo"
)
->distinct('t1.id')
->join("lg_papel_impresion t2", "t2.papel_generico_id = t1.id", "left")
->join("lg_maquina_papel_impresion t3", "t3.papel_impresion_id = t2.id", "left")
->join("lg_maquinas t4", "t3.maquina_id = t4.id", "left")
->join("lg_maquinas_tarifas_impresion t5", "t5.maquina_id = t4.id", "left")
->join("lg_papel_impresion t2", "t2.papel_generico_id = t1.id", "inner")
->join("lg_maquina_papel_impresion t3", "t3.papel_impresion_id = t2.id", "inner")
->join("lg_maquinas t4", "t3.maquina_id = t4.id", "inner")
->join("lg_maquinas_tarifas_impresion t5", "t5.maquina_id = t4.id", "inner")
->where("t1.is_deleted", 0)
->where("t1.show_in_client", 1)
->where("t2.is_deleted", 0)
->where("t2.isActivo", 1)
->where("t3.active", 1)
->where("t4.is_deleted", 0)
->where("t4.tipo", "impresion")
->where("t5.is_deleted", 0)
->where("t5.tipo", $tipo);
->where("t5.tipo", $tipo)
->distinct('t1.id');
// Validación adicional para asegurar que t1.id esté presente en las combinaciones con t3.active = 1
$builder->whereIn("t1.id", function ($subQuery) {
$subQuery->select("t1_inner.id")
->from("lg_papel_generico t1_inner")
->join("lg_papel_impresion t2_inner", "t2_inner.papel_generico_id = t1_inner.id", "inner")
->join("lg_maquina_papel_impresion t3_inner", "t3_inner.papel_impresion_id = t2_inner.id", "inner")
->where("t3_inner.active", 1);
});
if ($is_cubierta == true) {
$builder->where("t2.cubierta", 1);
$builder->where("t5.uso", 'cubierta');
}
if ($is_sobrecubierta == true) {
if ($tapa_dura == true) {
$builder->where("t2.use_for_tapa_dura", 1);
}
} else if ($is_sobrecubierta == true) {
$builder->where("t2.sobrecubierta", 1);
$builder->where("t5.uso", 'sobrecubierta');
}
if ($is_cubierta == false && $is_sobrecubierta == false) {
$builder->where("t5.uso", 'interior');
}
if ($is_guardas == true) {
} else if ($is_guardas == true) {
$builder->where("t2.guardas", 1);
} else {
$builder->where("t2.interior", 1);
$builder->where("t5.uso", 'interior');
if ($tipo == 'negro' || $tipo == 'negrohq')
$builder->where("t2.bn", 1);
else if ($tipo == 'color' || $tipo == 'colorhq')
$builder->where("t2.color", 1);
}
if ($rotativa == true) {
if ($tipo == 'colorhq' || $tipo == 'negrohq') {
$builder->where("t2.rotativa", 0);
} else if ($rotativa && $POD == false) {
$builder->where("t2.rotativa", 1);
} else if ($POD) {
$builder->where("t2.rotativa", 0);
}
if ($mostrar_cliente != null) {
$builder->where("t1.show_in_client", $mostrar_cliente);
}
$data = $builder->orderBy("t1.nombre", "asc")->get()->getResultObject();
//var_dump($this->db->getLastQuery());
return $data;
//$query = $this->db->getLastQuery();
return $builder;
}
public function getGramajeComparador(string $papel_generico_nombre = "", $uso = "", $ejemplares = 0)
{
if ($uso == 'cubierta' || $uso == 'sobrecubierta')
$tipo = 'colorhq';
else
$tipo = $uso; // color y colorhq valen para los dos
if ($uso == 'bn')
$tipo = "negro";
if ($uso == 'bnhq')
$tipo = "negrohq";
public function getGramajeForComparador(
$tipo,
$selected_papel_id,
$is_cubierta = false,
$is_sobrecubierta = false,
$rotativa = false,
$is_guardas = false,
$tapa_dura = false,
$POD = false
) {
if ($POD == true && ($tipo == 'color' || $tipo == 'negro')) {
if ($tipo == 'color')
$tipo = 'colorhq';
else if ($tipo == 'negro')
$tipo = 'negrohq';
}
$builder = $this->db
->table($this->table . " t1")
->select(
"t2.gramaje AS text"
"t2.gramaje as id, t2.gramaje as nombre",
// for debug, t2.nombre AS nombre_papel_impresion, t4.nombre AS maquina_nombre, t5.uso AS tarifa_uso, t5.tipo AS tarifa_tipo"
)
->join("lg_papel_impresion t2", "t2.papel_generico_id = t1.id", "left")
->join("lg_maquina_papel_impresion t3", "t3.papel_impresion_id = t2.id", "left")
->join("lg_maquinas t4", "t3.maquina_id = t4.id", "left")
->join("lg_maquinas_tarifas_impresion t5", "t5.maquina_id = t4.id", "left")
->join("lg_papel_impresion t2", "t2.papel_generico_id = t1.id", "inner")
->join("lg_maquina_papel_impresion t3", "t3.papel_impresion_id = t2.id", "inner")
->join("lg_maquinas t4", "t3.maquina_id = t4.id", "inner")
->join("lg_maquinas_tarifas_impresion t5", "t5.maquina_id = t4.id", "inner")
->where("t1.id", $selected_papel_id)
->where("t1.is_deleted", 0)
->where("t1.show_in_client", 1)
->where("t2.is_deleted", 0)
->where("t2.isActivo", 1)
->where("t3.active", 1)
->where("t4.is_deleted", 0)
->where("t4.tipo", "impresion")
->where("t5.is_deleted", 0)
->where("t5.tipo", $tipo)
->where("t1.nombre", $papel_generico_nombre);
->distinct('t2.gramaje');
$uso_tarifa = 'interior';
// Validación adicional para asegurar que t1.id esté presente en las combinaciones con t3.active = 1
$builder->whereIn("t1.id", function ($subQuery) {
$subQuery->select("t1_inner.id")
->from("lg_papel_generico t1_inner")
->join("lg_papel_impresion t2_inner", "t2_inner.papel_generico_id = t1_inner.id", "inner")
->join("lg_maquina_papel_impresion t3_inner", "t3_inner.papel_impresion_id = t2_inner.id", "inner")
->where("t3_inner.active", 1);
});
if ($uso == 'bn' || $uso == 'bnhq')
$builder->where("t2.bn", 1);
else if ($uso == 'color' || $uso == 'colorhq')
$builder->where("t2.color", 1);
else if ($uso == 'cubierta') {
$uso_tarifa = 'cubierta';
if ($is_cubierta == true) {
$builder->where("t2.cubierta", 1);
} else if ($uso == 'sobrecubierta') {
$uso_tarifa = 'sobrecubierta';
$builder->where("t5.uso", 'cubierta');
if ($tapa_dura == true) {
$builder->where("t2.use_for_tapa_dura", 1);
}
} else if ($is_sobrecubierta == true) {
$builder->where("t2.sobrecubierta", 1);
$builder->where("t5.uso", 'sobrecubierta');
} else if ($is_guardas == true) {
$builder->where("t2.guardas", 1);
} else {
$builder->where("t2.interior", 1);
$builder->where("t5.uso", 'interior');
if ($tipo == 'negro' || $tipo == 'negrohq')
$builder->where("t2.bn", 1);
else if ($tipo == 'color' || $tipo == 'colorhq')
$builder->where("t2.color", 1);
}
$builder->where("t5.uso", $uso_tarifa);
$builder->where("t4.min <=", $ejemplares);
$builder->where("t4.max >=", $ejemplares);
$values = $builder->orderBy("t2.gramaje", "asc")->get()->getResultObject();
$id = 1;
foreach ($values as $value) {
$value->id = $id;
$id++;
if ($tipo == 'colorhq' || $tipo == 'negrohq') {
$builder->where("t2.rotativa", 0);
} else if ($rotativa && $POD == false) {
$builder->where("t2.rotativa", 1);
} else if ($POD) {
$builder->where("t2.rotativa", 0);
}
$values_array = array_map(function ($value) {
return $value->text;
}, $values);
$unique_values = array_unique($values_array);
return array_values(array_intersect_key($values, $unique_values));
//$query = $this->db->getLastQuery();
return $builder;
}
//tipo: negro, negrohq, color, colorhq
@ -323,7 +367,6 @@ class PapelGenericoModel extends \App\Models\BaseModel
}, $values);
$unique_values = array_unique($values_array);
return array_values(array_intersect_key($values, $unique_values));
}
@ -337,9 +380,9 @@ class PapelGenericoModel extends \App\Models\BaseModel
*/
if ($POD == true && ($tipo == 'color' || $tipo == 'negro')) {
if($tipo == 'color')
if ($tipo == 'color')
$tipo = 'colorhq';
else if($tipo == 'negro')
else if ($tipo == 'negro')
$tipo = 'negrohq';
}
@ -403,7 +446,7 @@ class PapelGenericoModel extends \App\Models\BaseModel
if ($is_cubierta == true) {
$builder->where("t2.cubierta", 1);
$builder->where("t5.uso", 'cubierta');
if($tapa_dura == true){
if ($tapa_dura == true) {
$builder->where("t2.use_for_tapa_dura", 1);
}
} else {
@ -417,19 +460,16 @@ class PapelGenericoModel extends \App\Models\BaseModel
if ($papel_especial == true) {
$builder->where("t1.show_in_client_special", 1);
}
else{
} else {
$builder->where("t1.show_in_client_special", 0);
}
if ($tipo == 'colorhq' || $tipo == 'negrohq') {
$builder->where("t2.rotativa", 0);
}
else{
if($POD == false){
} else {
if ($POD == false) {
$builder->where("t2.rotativa", 1);
}
else if ($POD == true){
} else if ($POD == true) {
$builder->where("t2.rotativa", 0);
}
}

View File

@ -20,14 +20,13 @@ class UserModel extends \App\Models\BaseModel
protected $allowedFields = [
"username",
"email",
"first_name",
"last_name",
"client_id",
"status",
"status_message",
"active",
"country",
"comments",
"last_active",
"created_at",
"updated_at",
@ -39,143 +38,25 @@ class UserModel extends \App\Models\BaseModel
protected $validationRules = [
"address" => [
"label" => "Users.address",
"rules" => "trim|max_length[255]",
],
"blocked" => [
"label" => "Users.blocked",
"rules" => "required|permit_empty",
],
"city" => [
"label" => "Users.city",
"rules" => "trim|max_length[255]",
],
"country" => [
"label" => "Users.country",
"rules" => "trim|max_length[2]",
],
"date_birth" => [
"label" => "Users.dateBirth",
"rules" => "valid_date|permit_empty",
],
"email" => [
"label" => "Users.email",
"rules" => "trim|required|max_length[150]|valid_email",
],
"email_confirmed" => [
"label" => "Users.emailConfirmed",
"rules" => "required|integer",
],
"first_name" => [
"label" => "Users.firstName",
"rules" => "trim|max_length[150]",
],
"language" => [
"label" => "Users.language",
"rules" => "trim|max_length[10]",
],/*
"last_access" => [
"label" => "Users.lastAccess",
"rules" => "valid_date",
],*/
"last_ip" => [
"label" => "Users.lastIp",
"rules" => "max_length[50]",
],
"last_name" => [
"label" => "Users.lastName",
"rules" => "trim|max_length[150]",
],
"mobile" => [
"label" => "Users.mobile",
"rules" => "trim|max_length[50]",
],
"password" => [
"label" => "Users.password",
"rules" => "required|max_length[35]",
],
"picture" => [
"label" => "Users.picture",
"rules" => "trim|max_length[150]",
],
"state" => [
"label" => "Users.state",
"rules" => "trim|max_length[255]",
],
"zip_code" => [
"label" => "Users.zipCode",
"rules" => "trim|max_length[50]",
],
];
protected $validationMessages = [
"address" => [
"max_length" => "Users.validation.address.max_length",
],
"blocked" => [
"required" => "Users.validation.email_confirmed.required",
],
"city" => [
"max_length" => "Users.validation.city.max_length",
],
"country" => [
"max_length" => "Users.validation.country.max_length",
"required" => "Users.validation.country.required",
],
"date_birth" => [
"valid_date" => "Users.validation.date_birth.valid_date",
],
"email" => [
"max_length" => "Users.validation.email.max_length",
"required" => "Users.validation.email.required",
"valid_email" => "Users.validation.email.valid_email",
],
"email_confirmed" => [
"integer" => "Users.validation.email_confirmed.integer",
"required" => "Users.validation.email_confirmed.required",
],
"first_name" => [
"max_length" => "Users.validation.first_name.max_length",
"required" => "Users.validation.first_name.required",
],
"language" => [
"max_length" => "Users.validation.language.max_length",
"required" => "Users.validation.language.required",
],
"last_access" => [
"required" => "Users.validation.last_access.required",
"valid_date" => "Users.validation.last_access.valid_date",
],
"last_ip" => [
"max_length" => "Users.validation.last_ip.max_length",
"required" => "Users.validation.last_ip.required",
],
"last_name" => [
"max_length" => "Users.validation.last_name.max_length",
"required" => "Users.validation.last_name.required",
],
"mobile" => [
"max_length" => "Users.validation.mobile.max_length",
"required" => "Users.validation.mobile.required",
],
"password" => [
"max_length" => "Users.validation.password.max_length",
"required" => "Users.validation.password.required",
],
"picture" => [
"max_length" => "Users.validation.picture.max_length",
"required" => "Users.validation.picture.required",
],
"state" => [
"max_length" => "Users.validation.state.max_length",
"required" => "Users.validation.state.required",
],
"zip_code" => [
"max_length" => "Users.validation.zip_code.max_length",
],
],
];
public function getGroupsTitles($user_token){

View File

@ -74,17 +74,10 @@
<p><?= lang('MaquinasTarifasImpresions.negro') ?></p>
</div>
<div class="col-md-12 col-lg-2 px-4">
<input type="text" id="compPaginasNegro" name="comp_paginas_negro" placeholder="0" maxLength="5" class="form-control comp_negro_items" value="<?= isset($comp_data->bn->paginas) ? (old(0, $comp_data->bn->paginas)) : '0' ?>">
<input type="text" id="compPaginasNegro" name="comp_paginas_negro" placeholder="0" maxLength="5" class="form-control comp_negro_items" value="">
</div>
<div class="col-md-12 col-lg-6 px-4">
<select id="compPapelNegro" name="comp_papel_negro" class="form-control select2bs2 comp_negro_items" style="width: 100%;">
<?php if (isset($papelGenericoNegroList) && is_array($papelGenericoNegroList) && !empty($papelGenericoNegroList)) :
foreach ($papelGenericoNegroList as $k => $v) : ?>
<option value="<?= $v->id ?>">
<?= $v->nombre ?>
</option>
<?php endforeach;
endif; ?>
</select>
</div>
<div class="col-md-12 col-lg-2 px-4">
@ -578,161 +571,7 @@
allowClear: false,
});
$('#compPapelNegro').select2({
allowClear: false,
});
$('#compGramajeNegro').select2({
allowClear: false,
minimumResultsForSearch: Infinity,
ajax: {
url: '<?= route_to("menuItemsOfPresupuestoAdmin") ?>',
type: 'post',
dataType: 'json',
data: function (params) {
return {
tipo: 'gramaje',
uso: 'bn',
tirada: parseInt($('#tirada').val()),
merma: parseInt($('#mermacubierta').val()),
datos: $('#compPapelNegro').select2('data')[0].text.trim() ,
<?= csrf_token() ?? "token" ?> : <?= csrf_token() ?>v
};
},
delay: 60,
processResults: function (response) {
yeniden(response.<?= csrf_token() ?>);
return {
results: response.menu
};
},
cache: true
}
});
$('#compPapelNegrohq').select2({
allowClear: false,
});
$('#compGramajeNegrohq').select2({
allowClear: false,
minimumResultsForSearch: Infinity,
ajax: {
url: '<?= route_to("menuItemsOfPresupuestoAdmin") ?>',
type: 'post',
dataType: 'json',
data: function (params) {
return {
tipo: 'gramaje',
uso: 'bnhq',
tirada: parseInt($('#tirada').val()),
merma: parseInt($('#mermacubierta').val()),
datos: $('#compPapelNegrohq').select2('data')[0].text.trim() ,
<?= csrf_token() ?? "token" ?> : <?= csrf_token() ?>v
};
},
delay: 60,
processResults: function (response) {
yeniden(response.<?= csrf_token() ?>);
return {
results: response.menu
};
},
cache: true
}
});
$('#compPapelColor').select2({
allowClear: false,
});
$('#compPapelColorhq').select2({
allowClear: false,
});
$('#compGramajeColor').select2({
allowClear: false,
minimumResultsForSearch: Infinity,
ajax: {
url: '<?= route_to("menuItemsOfPresupuestoAdmin") ?>',
type: 'post',
dataType: 'json',
data: function (params) {
return {
tipo: 'gramaje',
uso: 'color',
tirada: parseInt($('#tirada').val()),
merma: parseInt($('#mermacubierta').val()),
datos: $('#compPapelColor').select2('data')[0].text.trim() ,
<?= csrf_token() ?? "token" ?> : <?= csrf_token() ?>v
};
},
delay: 60,
processResults: function (response) {
yeniden(response.<?= csrf_token() ?>);
return {
results: response.menu
};
},
cache: true
}
});
$('#compGramajeColorhq').select2({
allowClear: false,
minimumResultsForSearch: Infinity,
ajax: {
url: '<?= route_to("menuItemsOfPresupuestoAdmin") ?>',
type: 'post',
data: function (params) {
return {
tipo: 'gramaje',
uso: 'colorhq',
tirada: parseInt($('#tirada').val()),
merma: parseInt($('#mermacubierta').val()),
datos: $('#compPapelColorhq').select2('data')[0].text.trim() ,
<?= csrf_token() ?? "token" ?> : <?= csrf_token() ?>v
};
},
delay: 60,
processResults: function (response) {
yeniden(response.<?= csrf_token() ?>);
return {
results: response.menu
};
},
cache: true
}
});
$('#compPapelCubierta').select2({
allowClear: false,
});
$('#compGramajeCubierta').select2({
allowClear: false,
});
$('#compPapelSobrecubierta').select2({
allowClear: false,
});
$('#compGramajeSobrecubierta').select2({
allowClear: false,
minimumResultsForSearch: Infinity,
});
$('#encuadernacion').select2({
allowClear: false,
});
<?php if($tipo_impresion_id == 1 || $tipo_impresion_id == 3 || $tipo_impresion_id == 5 || $tipo_impresion_id == 7): ?>
$('#compCarasCubierta').select2({
allowClear: false,
@ -1543,6 +1382,7 @@
function checkComparadorInt(is_color, is_hq, actualizarLineaPlana=false, actualizarLineaRot=false) {
/* TO-DO with select2 component
try{
clearIntLineas(is_color);
@ -1587,6 +1427,7 @@
}catch(e){
console.log(e)
}
*/
}

View File

@ -74,17 +74,17 @@
<!-- Código JS de las lineas de presupuesto. -->
<!------------------------------------------->
<?= $this->section("additionalInlineJs") ?>
window.papelGenericoNegroList = <?php echo json_encode($papelGenericoNegroList); ?>;
window.papelGenericoNegroHQList = <?php echo json_encode($papelGenericoNegroHQList); ?>;
window.papelGenericoColorList = <?php echo json_encode($papelGenericoColorList); ?>;
window.papelGenericoColorHQList = <?php echo json_encode($papelGenericoColorHQList); ?>;
window.papelGenericoCubiertaList = <?php echo json_encode($papelGenericoCubiertaList); ?>;
window.papelGenericoSobrecubiertaList = <?php echo json_encode($papelGenericoSobrecubiertaList); ?>;
window.papelGenericoRotativaNegroList = <?php echo json_encode($papelGenericoRotativaNegroList); ?>;
window.papelGenericoRotativaColorList = <?php echo json_encode($papelGenericoRotativaColorList); ?>;
window.papelGenericoNegroList = [];
window.papelGenericoNegroHQList = [];
window.papelGenericoColorList = [];
window.papelGenericoColorHQList = [];
window.papelGenericoCubiertaList = [];
window.papelGenericoSobrecubiertaList = [];
window.papelGenericoRotativaNegroList = [];
window.papelGenericoRotativaColorList = [];
<?php if($tipo_impresion_id == 1 || $tipo_impresion_id == 3 || $tipo_impresion_id == 5 || $tipo_impresion_id == 7): ?>
window.papelGenericoGuardasList = <?php echo json_encode($papelGenericoGuardasList); ?>;
window.papelGenericoGuardasList = [];
<?php endif; ?>
window.lineasPresupuestoList = <?php echo json_encode($lineasPresupuesto); ?>;
@ -95,8 +95,11 @@ window.routes_lp = {
}
/*
fill_lp_from_bbdd()
checkPaginasPresupuesto()
*/
<?= $this->endSection() ?>

View File

@ -309,7 +309,7 @@
<script src="<?= site_url('js_loader/presupuestos_js') ?>"></script>
<script src="<?= site_url('js_loader/comparadorPresupuestoAdmin_js') ?>"></script>
<script src="<?= site_url('js_loader/previsualizador_js') ?>"></script>
<script src="<?= site_url('js_loader/lineasPresupuesto_js') ?>"></script>
<!---<script src="<?= site_url('js_loader/lineasPresupuesto_js') ?>"></script> -->
<script src="<?= site_url('js_loader/tiradasAlternativas_js') ?>"></script>
<script src="<?= site_url('js_loader/datosServicios_js') ?>"></script>
<script src="<?= site_url('themes/vuexy/vendor/libs/two/two.js') ?>"></script>

View File

@ -79,6 +79,7 @@ class PresupuestoAdminEdit {
self.datosGenerales.cargarDatos(response.data.datosGenerales);
self.datosLibro.cargarDatos(response.data.datosLibro);
self.comparador.cargarDatos(response.data.comparador);
/*self.direcciones.handleChangeCliente();

View File

@ -15,20 +15,29 @@ class Comparador {
this.paginasNegro = $('#compPaginasNegro');
this.papelNegro = new ClassSelect($('#compPapelNegro'),
'/papelesgenericos/getpapelcliente', 'Seleccione papel', false,
'/presupuestoadmin/papelgenerico', 'Seleccione papel', false,
{
[this.csrf_token]: this.csrf_hash,
tipo_impresion: this.tipo_impresion.val(),
tirada: $('#tirada').val(),
tipo: 'negro',
cubierta: 0,
});
this.gramajeNegro = $('#compGramajeNegro');
this.gramajeNegro = new ClassSelect($('#compGramajeNegro'),
'/presupuestoadmin/papelgramaje', 'Seleccione gramaje', false,
{
[this.csrf_token]: this.csrf_hash,
papel_generico: this.papelNegro.getVal(),
tipo_impresion: this.tipo_impresion.val(),
tirada: $('#tirada').val(),
tipo: 'negro',
});
}
init() {
this.papelNegro.init();
this.gramajeNegro.init();
}
cargarDatos(datos) {
@ -36,7 +45,11 @@ class Comparador {
this.tipo_impresion.val(datos.tipo_impresion);
this.comparador_json.val(JSON.stringify(datos.json_data));
//if (datos.json_data.bn)
if (datos.json_data.bn){
this.paginasNegro.val(datos.json_data.bn.paginas);
this.papelNegro.setOption(datos.json_data.bn.papel_id, datos.json_data.bn.papel_nombre);
this.gramajeNegro.setOption(datos.json_data.bn.gramaje, datos.json_data.bn.gramaje);
}
}
}