diff --git a/.idea/php.xml b/.idea/php.xml
index 89778155..29059d00 100644
--- a/.idea/php.xml
+++ b/.idea/php.xml
@@ -10,7 +10,9 @@
-
+
+
+
diff --git a/ci4/.env b/ci4/.env
index cfd0651b..40f48c5f 100644
--- a/ci4/.env
+++ b/ci4/.env
@@ -22,8 +22,8 @@ CI_ENVIRONMENT = development
# APP
#--------------------------------------------------------------------
-app.baseURL = 'https://sk-jjo.imnavajas.es'
-#app.baseURL = 'https://sk-imn.imnavajas.es'
+#app.baseURL = 'https://sk-jjo.imnavajas.es'
+app.baseURL = 'https://sk-imn.imnavajas.es'
# app.baseURL = "http://safekat.test/"
# app.forceGlobalSecureRequests = false
diff --git a/ci4/app/Config/Routes.php b/ci4/app/Config/Routes.php
index 9ec4772e..e795fbe2 100644
--- a/ci4/app/Config/Routes.php
+++ b/ci4/app/Config/Routes.php
@@ -479,6 +479,27 @@ $routes->group('cosidotapablanda', ['namespace' => 'App\Controllers\Presupuestos
});
$routes->resource('cosidotapablanda', ['namespace' => 'App\Controllers\Presupuestos', 'controller' => 'Cosidotapablanda', 'except' => 'show,new,create,update']);
+$routes->group('serviciosacabados', ['namespace' => 'App\Controllers\Presupuestos'], function ($routes) {
+ $routes->post('datatable', 'PresupuestoAcabados::datatable', ['as' => 'dataTableOfPresupuestoAcabados']);
+ $routes->post('datatable_editor', 'PresupuestoAcabados::datatable_editor', ['as' => 'editorOfPresupuestoAcabados']);
+});
+
+$routes->group('serviciosencuadernaciones', ['namespace' => 'App\Controllers\Presupuestos'], function ($routes) {
+ $routes->post('datatable', 'PresupuestoEncuadernaciones::datatable', ['as' => 'dataTableOfPresupuestoEncuadernaciones']);
+ $routes->post('datatable_editor', 'PresupuestoEncuadernaciones::datatable_editor', ['as' => 'editorOfPresupuestoEncuadernaciones']);
+});
+
+$routes->group('serviciosmanipulados', ['namespace' => 'App\Controllers\Presupuestos'], function ($routes) {
+ $routes->post('datatable', 'PresupuestoManipulados::datatable', ['as' => 'dataTableOfPresupuestoManipulados']);
+ $routes->post('datatable_editor', 'PresupuestoManipulados::datatable_editor', ['as' => 'editorOfPresupuestoManipulados']);
+});
+
+$routes->group('serviciospreimpresiones', ['namespace' => 'App\Controllers\Presupuestos'], function ($routes) {
+ $routes->post('datatable', 'PresupuestoPreimpresiones::datatable', ['as' => 'dataTableOfPresupuestoPreimpresiones']);
+ $routes->post('datatable_editor', 'PresupuestoPreimpresiones::datatable_editor', ['as' => 'editorOfPresupuestoPreimpresiones']);
+});
+
+
/*
* --------------------------------------------------------------------
* Additional Routing
diff --git a/ci4/app/Controllers/Presupuestos/Cosidotapablanda.php b/ci4/app/Controllers/Presupuestos/Cosidotapablanda.php
index 87db7ff6..ff49bedd 100644
--- a/ci4/app/Controllers/Presupuestos/Cosidotapablanda.php
+++ b/ci4/app/Controllers/Presupuestos/Cosidotapablanda.php
@@ -146,6 +146,17 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
$this->viewData['papelGenericoColorList'] = $this->getPapelGenericoColor();
$this->viewData['papelGenericoColorHQList'] = $this->getPapelGenericoColorHQ();
$this->viewData['papelGenericoCubiertaList'] = $this->getPapelGenericoCubierta();
+ $this->viewData['papelGenericoSobrecubiertaList'] = $this->getPapelGenericoSobreCubierta();
+
+ // Tarifas
+ $this->viewData['serviciosPreimpresion'] = $this->getServiciosPreimpresion();
+ $this->viewData['serviciosEncuadernacion'] = $this->getServiciosEncuadernacion();
+ $this->viewData['serviciosAcabado'] = $this->getServiciosAcabado();
+ $this->viewData['serviciosManipulado'] = $this->getServiciosManipulado();
+
+
+
+ /*
$this->viewData['formAction'] = route_to('createCosidotapablanda');
@@ -342,7 +353,6 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
$this->viewData['papelGenericoCubiertaList'] = $this->getPapelGenericoCubierta();
$this->viewData['papelGenericoSobrecubiertaList'] = $this->getPapelGenericoSobreCubierta();
-
$this->viewData['formAction'] = route_to('updatePresupuesto', $id);
$this->viewData['boxTitle'] = lang('Basic.global.edit2') . ' ' . lang('Presupuestos.moduleTitle') . ' ' . lang('Basic.global.edit3');
@@ -387,8 +397,8 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
if (isset($item->causa_cancelacion) && strlen($item->causa_cancelacion) > 100) :
$item->causa_cancelacion = character_limiter($item->causa_cancelacion, 100);
endif;
- if (isset($item->comentarios) && strlen($item->comentarios) > 100) :
- $item->comentarios = character_limiter($item->comentarios, 100);
+ if (isset($item->comentarios_cliente) && strlen($item->comentarios_cliente) > 100) :
+ $item->comentarios_cliente = character_limiter($item->comentarios_cliente, 100);
endif;
if (isset($item->comentarios_safekat) && strlen($item->comentarios_safekat) > 100) :
$item->comentarios_safekat = character_limiter($item->comentarios_safekat, 100);
@@ -840,4 +850,439 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
));
return $data;
}
+
+ protected function getServiciosPreimpresion()
+ {
+ $model = model('App\Models\Tarifas\TarifapreimpresionModel');
+ $data = $model->getServiciosPreimpresionSelector();
+ array_unshift($data, (object)array(
+ "value" => 0,
+ "label" => lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('Presupuestos.servicioPreimpresion'))])
+ ));
+ return $data;
+ }
+
+ protected function getServiciosEncuadernacion()
+ {
+ $model = model('App\Models\Tarifas\TarifaEncuadernacionModel');
+ $data = $model->getServiciosEncuadernacionSelector();
+ array_unshift($data, (object)array(
+ "value" => 0,
+ "label" => lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('Presupuestos.servicioEncuadernado'))])
+ ));
+ return $data;
+ }
+
+ protected function getServiciosAcabado()
+ {
+ $model = model('App\Models\Tarifas\TarifaacabadoModel');
+ $data = $model->getServiciosAcabadoSelector();
+ array_unshift($data, (object)array(
+ "value" => 0,
+ "label" => lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('Presupuestos.servicioAcabado'))])
+ ));
+ return $data;
+ }
+
+ protected function getServiciosManipulado()
+ {
+ $model = model('App\Models\Tarifas\TarifaManipuladoModel');
+ $data = $model->getServiciosManipuladoSelector();
+ array_unshift($data, (object)array(
+ "value" => 0,
+ "label" => lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('Presupuestos.servicioManipulado'))])
+ ));
+ return $data;
+ }
+
+
+
+
+ /*
+
+
+
+
+
+ protected function getUbicacionLibroListItems($selId = null)
+ {
+ $data = ['' => lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('LgUbicacionesLibros.ubicacionLibro'))])];
+ if (!empty($selId)) :
+ $ubicacionesLibroModel = model('App\Models\Configuracion\UbicacionesLibroModel');
+
+ $selOption = $ubicacionesLibroModel->where('id', $selId)->findColumn('nombre');
+ if (!empty($selOption)) :
+ $data[$selId] = $selOption[0];
+ endif;
+ endif;
+ return $data;
+ }
+
+
+ protected function getFormaPagoListItems()
+ {
+ $formasPagoModel = model('App\Models\Configuracion\FormasPagoModel');
+ $onlyActiveOnes = true;
+ $data = $formasPagoModel->getAllForMenu('id, nombre', 'nombre', $onlyActiveOnes);
+
+ return $data;
+ }
+
+
+ protected function getPapelImpresionListItems4($selId = null)
+ {
+ $data = ['' => lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('PapelImpresions.papelImpresion'))])];
+ if (!empty($selId)) :
+ $papelImpresionModel = model('App\Models\Presupuestos\PapelImpresionModel');
+
+ $selOption = $papelImpresionModel->where('id', $selId)->findColumn('nombre');
+ if (!empty($selOption)) :
+ $data[$selId] = $selOption[0];
+ endif;
+ endif;
+ return $data;
+ }
+
+
+ protected function getPresupuestoEstadoListItems($selId = null)
+ {
+ $data = ['' => lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('PresupuestoEstados.presupuestoEstado'))])];
+ if (!empty($selId)) :
+ $presupuestoEstadoModel = model('App\Models\Presupuestos\PresupuestoEstadoModel');
+
+ $selOption = $presupuestoEstadoModel->where('id', $selId)->findColumn('estado');
+ if (!empty($selOption)) :
+ $data[$selId] = $selOption[0];
+ endif;
+ endif;
+ return $data;
+ }
+
+
+ protected function getPapelGenericoListItems3($selId = null)
+ {
+ $data = ['' => lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('PapelGenericoes.papelGenerico'))])];
+ if (!empty($selId)) :
+ $papelGenericoModel = model('App\Models\Presupuestos\PapelGenericoModel');
+
+ $selOption = $papelGenericoModel->where('id', $selId)->findColumn('nombre');
+ if (!empty($selOption)) :
+ $data[$selId] = $selOption[0];
+ endif;
+ endif;
+ return $data;
+ }
+
+
+ protected function getPapelImpresionListItems2($selId = null)
+ {
+ $data = ['' => lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('PapelImpresions.papelImpresion'))])];
+ if (!empty($selId)) :
+ $papelImpresionModel = model('App\Models\Presupuestos\PapelImpresionModel');
+
+ $selOption = $papelImpresionModel->where('id', $selId)->findColumn('nombre');
+ if (!empty($selOption)) :
+ $data[$selId] = $selOption[0];
+ endif;
+ endif;
+ return $data;
+ }
+
+
+ protected function getMaquinaListItems3($selId = null)
+ {
+ $data = ['' => lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('Maquinas.maquina'))])];
+ if (!empty($selId)) :
+ $maquinaModel = model('App\Models\Presupuestos\MaquinaModel');
+
+ $selOption = $maquinaModel->where('id', $selId)->findColumn('nombre');
+ if (!empty($selOption)) :
+ $data[$selId] = $selOption[0];
+ endif;
+ endif;
+ return $data;
+ }
+
+
+ protected function getMaquinasTarifasImpresionListItems2($selId = null)
+ {
+ $data = ['' => lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('MaquinasTarifasImpresions.maquinasTarifasImpresion'))])];
+ if (!empty($selId)) :
+ $maquinasTarifasImpresionModel = model('App\Models\Presupuestos\MaquinasTarifasImpresionModel');
+
+ $selOption = $maquinasTarifasImpresionModel->where('id', $selId)->findColumn('precio');
+ if (!empty($selOption)) :
+ $data[$selId] = $selOption[0];
+ endif;
+ endif;
+ return $data;
+ }
+
+
+ protected function getPapelGenericoListItems2($selId = null)
+ {
+ $data = ['' => lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('PapelGenericoes.papelGenerico'))])];
+ if (!empty($selId)) :
+ $papelGenericoModel = model('App\Models\Presupuestos\PapelGenericoModel');
+
+ $selOption = $papelGenericoModel->where('id', $selId)->findColumn('nombre');
+ if (!empty($selOption)) :
+ $data[$selId] = $selOption[0];
+ endif;
+ endif;
+ return $data;
+ }
+
+
+ protected function getMaquinaListItems($selId = null)
+ {
+ $data = ['' => lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('Maquinas.maquina'))])];
+ if (!empty($selId)) :
+ $maquinaModel = model('App\Models\Presupuestos\MaquinaModel');
+
+ $selOption = $maquinaModel->where('id', $selId)->findColumn('nombre');
+ if (!empty($selOption)) :
+ $data[$selId] = $selOption[0];
+ endif;
+ endif;
+ return $data;
+ }
+
+
+
+
+ protected function getMaquinaListItems2($selId = null)
+ {
+ $data = ['' => lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('Maquinas.maquina'))])];
+ if (!empty($selId)) :
+ $maquinaModel = model('App\Models\Presupuestos\MaquinaModel');
+
+ $selOption = $maquinaModel->where('id', $selId)->findColumn('nombre');
+ if (!empty($selOption)) :
+ $data[$selId] = $selOption[0];
+ endif;
+ endif;
+ return $data;
+ }
+
+
+ protected function getTipologiasLibroListItems($selId = null)
+ {
+ $data = ['' => lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('TipologiasLibros.tipologiasLibro'))])];
+ if (!empty($selId)) :
+ $tipologiasLibroModel = model('App\Models\Presupuestos\TipologiasLibroModel');
+
+ $selOption = $tipologiasLibroModel->where('id', $selId)->findColumn('nombre');
+ if (!empty($selOption)) :
+ $data[$selId] = $selOption[0];
+ endif;
+ endif;
+ return $data;
+ }
+
+
+ protected function getPapelImpresionListItems3($selId = null)
+ {
+ $data = ['' => lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('PapelImpresions.papelImpresion'))])];
+ if (!empty($selId)) :
+ $papelImpresionModel = model('App\Models\Presupuestos\PapelImpresionModel');
+
+ $selOption = $papelImpresionModel->where('id', $selId)->findColumn('nombre');
+ if (!empty($selOption)) :
+ $data[$selId] = $selOption[0];
+ endif;
+ endif;
+ return $data;
+ }
+
+
+ protected function getMaquinasTarifasImpresionListItems4($selId = null)
+ {
+ $data = ['' => lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('MaquinasTarifasImpresions.maquinasTarifasImpresion'))])];
+ if (!empty($selId)) :
+ $maquinasTarifasImpresionModel = model('App\Models\Presupuestos\MaquinasTarifasImpresionModel');
+
+ $selOption = $maquinasTarifasImpresionModel->where('id', $selId)->findColumn('precio');
+ if (!empty($selOption)) :
+ $data[$selId] = $selOption[0];
+ endif;
+ endif;
+ return $data;
+ }
+
+
+ protected function getUserListItems($selId = null)
+ {
+ $data = ['' => lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('Users.user'))])];
+ if (!empty($selId)) :
+ $userModel = model('App\Models\Presupuestos\UserModel');
+
+ $selOption = $userModel->where('id_user', $selId)->findColumn('first_name');
+ if (!empty($selOption)) :
+ $data[$selId] = $selOption[0];
+ endif;
+ endif;
+ return $data;
+ }
+
+
+ protected function getMaquinasTarifasImpresionListItems3($selId = null)
+ {
+ $data = ['' => lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('MaquinasTarifasImpresions.maquinasTarifasImpresion'))])];
+ if (!empty($selId)) :
+ $maquinasTarifasImpresionModel = model('App\Models\Presupuestos\MaquinasTarifasImpresionModel');
+
+ $selOption = $maquinasTarifasImpresionModel->where('id', $selId)->findColumn('id');
+ if (!empty($selOption)) :
+ $data[$selId] = $selOption[0];
+ endif;
+ endif;
+ return $data;
+ }
+
+
+ protected function getUserListItems3($selId = null)
+ {
+ $data = ['' => lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('Users.user'))])];
+ if (!empty($selId)) :
+ $userModel = model('App\Models\Presupuestos\UserModel');
+
+ $selOption = $userModel->where('id_user', $selId)->findColumn('first_name');
+ if (!empty($selOption)) :
+ $data[$selId] = $selOption[0];
+ endif;
+ endif;
+ return $data;
+ }
+
+
+ protected function getPapelImpresionListItems($selId = null)
+ {
+ $data = ['' => lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('PapelImpresions.papelImpresion'))])];
+ if (!empty($selId)) :
+ $papelImpresionModel = model('App\Models\Presupuestos\PapelImpresionModel');
+
+ $selOption = $papelImpresionModel->where('id', $selId)->findColumn('nombre');
+ if (!empty($selOption)) :
+ $data[$selId] = $selOption[0];
+ endif;
+ endif;
+ return $data;
+ }
+
+
+ protected function getTiposImpresionListItems($selId = null)
+ {
+ $data = ['' => lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('TiposImpresions.tiposImpresion'))])];
+ if (!empty($selId)) :
+ $tiposImpresionModel = model('App\Models\Presupuestos\TiposImpresionModel');
+
+ $selOption = $tiposImpresionModel->where('id', $selId)->findColumn('nombre');
+ if (!empty($selOption)) :
+ $data[$selId] = $selOption[0];
+ endif;
+ endif;
+ return $data;
+ }
+
+
+ protected function getMaquinasTarifasImpresionListItems($selId = null)
+ {
+ $data = ['' => lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('MaquinasTarifasImpresions.maquinasTarifasImpresion'))])];
+ if (!empty($selId)) :
+ $maquinasTarifasImpresionModel = model('App\Models\Presupuestos\MaquinasTarifasImpresionModel');
+
+ $selOption = $maquinasTarifasImpresionModel->where('id', $selId)->findColumn('precio');
+ if (!empty($selOption)) :
+ $data[$selId] = $selOption[0];
+ endif;
+ endif;
+ return $data;
+ }
+
+
+ protected function getPapelGenericoListItems4($selId = null)
+ {
+ $data = ['' => lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('PapelGenericoes.papelGenerico'))])];
+ if (!empty($selId)) :
+ $papelGenericoModel = model('App\Models\Presupuestos\PapelGenericoModel');
+
+ $selOption = $papelGenericoModel->where('id', $selId)->findColumn('nombre');
+ if (!empty($selOption)) :
+ $data[$selId] = $selOption[0];
+ endif;
+ endif;
+ return $data;
+ }
+
+
+
+ protected function getMaquinaListItems4($selId = null)
+ {
+ $data = ['' => lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('Maquinas.maquina'))])];
+ if (!empty($selId)) :
+ $maquinaModel = model('App\Models\Presupuestos\MaquinaModel');
+
+ $selOption = $maquinaModel->where('id', $selId)->findColumn('nombre');
+ if (!empty($selOption)) :
+ $data[$selId] = $selOption[0];
+ endif;
+ endif;
+ return $data;
+ }
+
+
+ protected function getUserListItems2($selId = null)
+ {
+ $data = ['' => lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('Users.user'))])];
+ if (!empty($selId)) :
+ $userModel = model('App\Models\Presupuestos\UserModel');
+
+ $selOption = $userModel->where('id_user', $selId)->findColumn('first_name');
+ if (!empty($selOption)) :
+ $data[$selId] = $selOption[0];
+ endif;
+ endif;
+ return $data;
+ }
+
+
+ protected function getPapelGenericoListItems($selId = null)
+ {
+ $data = ['' => lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('PapelGenericoes.papelGenerico'))])];
+ if (!empty($selId)) :
+ $papelGenericoModel = model('App\Models\Presupuestos\PapelGenericoModel');
+
+ $selOption = $papelGenericoModel->where('id', $selId)->findColumn('nombre');
+ if (!empty($selOption)) :
+ $data[$selId] = $selOption[0];
+ endif;
+ endif;
+ return $data;
+ }
+
+
+ protected function getPaginasCubiertaOptions()
+ {
+ $paginasCubiertaOptions = [
+ '' => lang('Basic.global.pleaseSelect'),
+ '4x0' => '4x0',
+ '4x4' => '4x4',
+ ];
+ return $paginasCubiertaOptions;
+ }
+
+
+
+ protected function getPaginasPortadaOptions()
+ {
+ $paginasPortadaOptions = [
+ '' => lang('Basic.global.pleaseSelect'),
+ '4x0' => '4x0',
+ '4x4' => '4x4',
+ ];
+ return $paginasPortadaOptions;
+ }
+ */
+
}
diff --git a/ci4/app/Controllers/Presupuestos/Cosidotapablandasolapas.php b/ci4/app/Controllers/Presupuestos/Cosidotapablandasolapas.php
deleted file mode 100644
index de7fdbf3..00000000
--- a/ci4/app/Controllers/Presupuestos/Cosidotapablandasolapas.php
+++ /dev/null
@@ -1,19 +0,0 @@
-> Libros >> Cosido tapa blanda con solapas [en desarrollo].';
- }
-}
-
\ No newline at end of file
diff --git a/ci4/app/Controllers/Presupuestos/PresupuestoAcabados.php b/ci4/app/Controllers/Presupuestos/PresupuestoAcabados.php
new file mode 100644
index 00000000..8d829b7f
--- /dev/null
+++ b/ci4/app/Controllers/Presupuestos/PresupuestoAcabados.php
@@ -0,0 +1,131 @@
+request->isAJAX()) {
+ $reqData = $this->request->getPost();
+ if (!isset($reqData['draw']) || !isset($reqData['columns'])) {
+ $errstr = 'No data available in response to this specific request.';
+ $response = $this->respond(Collection::datatable([], 0, 0, $errstr), 400, $errstr);
+ return $response;
+ }
+ $start = $reqData['start'] ?? 0;
+ $length = $reqData['length'] ?? 5;
+ $requestedOrder = $reqData['order']['0']['column'] ?? 1;
+ $order = PresupuestoAcabadosModel::SORTABLE[$requestedOrder >= 0 ? $requestedOrder : 1];
+ $dir = $reqData['order']['0']['dir'] ?? 'asc';
+
+ $id_P = $reqData['id_presupuesto'] ?? -1;
+
+ $resourceData = $this->model->getResource($id_P)->orderBy($order, $dir)->limit($length, $start)->get()->getResultObject();
+
+ return $this->respond(Collection::datatable(
+ $resourceData,
+ $this->model->getResource()->countAllResults(),
+ $this->model->getResource($id_P)->countAllResults()
+ ));
+ } else {
+ return $this->failUnauthorized('Invalid request', 403);
+ }
+ }
+
+ public function datatable_editor() {
+ if ($this->request->isAJAX()) {
+
+ include(APPPATH . "ThirdParty/DatatablesEditor/DataTables.php");
+
+ // Build our Editor instance and process the data coming from _POST
+ $response = Editor::inst( $db, 'presupuesto_acabados' )
+ ->fields(
+ Field::inst( 'tarifa_acabado_id' )
+ ->validator( 'Validate::notEmpty',array(
+ 'message' => 'Selecciones servicios de acabado' )
+ ),
+ Field::inst( 'precio_unidad' )
+ ->validator( 'Validate::notEmpty',array(
+ 'message' => 'Falta precio unitario' )
+ ),
+ Field::inst( 'precio_total' )
+ ->validator( 'Validate::notEmpty',array(
+ 'message' => 'Falta precio total' )
+ ),
+
+ Field::inst( 'presupuesto_id' ),
+
+ )
+ ->validator( function($editor, $action, $data){
+ if ($action === Editor::ACTION_CREATE || $action === Editor::ACTION_EDIT){
+ //return $response;
+ /*foreach ($data['data'] as $pkey => $values ){
+ // No se pueden duplicar valores al crear o al editar
+ if (!empty($response)){
+ return $response;
+ }
+ }*/
+ }
+ })
+ ->debug(true)
+ ->process( $_POST )
+ ->data();
+
+ $newTokenHash = csrf_hash();
+ $csrfTokenName = csrf_token();
+
+ $response[$csrfTokenName] = $newTokenHash;
+
+ echo json_encode($response);
+
+ } else {
+ return $this->failUnauthorized('Invalid request', 403);
+ }
+ }
+
+
+
+}
diff --git a/ci4/app/Controllers/Presupuestos/PresupuestoEncuadernaciones.php b/ci4/app/Controllers/Presupuestos/PresupuestoEncuadernaciones.php
new file mode 100644
index 00000000..5160c308
--- /dev/null
+++ b/ci4/app/Controllers/Presupuestos/PresupuestoEncuadernaciones.php
@@ -0,0 +1,131 @@
+request->isAJAX()) {
+ $reqData = $this->request->getPost();
+ if (!isset($reqData['draw']) || !isset($reqData['columns'])) {
+ $errstr = 'No data available in response to this specific request.';
+ $response = $this->respond(Collection::datatable([], 0, 0, $errstr), 400, $errstr);
+ return $response;
+ }
+ $start = $reqData['start'] ?? 0;
+ $length = $reqData['length'] ?? 5;
+ $requestedOrder = $reqData['order']['0']['column'] ?? 1;
+ $order = PresupuestoEncuadernacionesModel::SORTABLE[$requestedOrder >= 0 ? $requestedOrder : 1];
+ $dir = $reqData['order']['0']['dir'] ?? 'asc';
+
+ $id_P = $reqData['id_presupuesto'] ?? -1;
+
+ $resourceData = $this->model->getResource($id_P)->orderBy($order, $dir)->limit($length, $start)->get()->getResultObject();
+
+ return $this->respond(Collection::datatable(
+ $resourceData,
+ $this->model->getResource()->countAllResults(),
+ $this->model->getResource($id_P)->countAllResults()
+ ));
+ } else {
+ return $this->failUnauthorized('Invalid request', 403);
+ }
+ }
+
+ public function datatable_editor() {
+ if ($this->request->isAJAX()) {
+
+ include(APPPATH . "ThirdParty/DatatablesEditor/DataTables.php");
+
+ // Build our Editor instance and process the data coming from _POST
+ $response = Editor::inst( $db, 'presupuesto_acabados' )
+ ->fields(
+ Field::inst( 'tarifa_encuadernado_id' )
+ ->validator( 'Validate::notEmpty',array(
+ 'message' => 'Selecciones servicios de acabado' )
+ ),
+ Field::inst( 'precio_unidad' )
+ ->validator( 'Validate::notEmpty',array(
+ 'message' => 'Falta precio unitario' )
+ ),
+ Field::inst( 'precio_total' )
+ ->validator( 'Validate::notEmpty',array(
+ 'message' => 'Falta precio total' )
+ ),
+
+ Field::inst( 'presupuesto_id' ),
+
+ )
+ ->validator( function($editor, $action, $data){
+ if ($action === Editor::ACTION_CREATE || $action === Editor::ACTION_EDIT){
+ //return $response;
+ /*foreach ($data['data'] as $pkey => $values ){
+ // No se pueden duplicar valores al crear o al editar
+ if (!empty($response)){
+ return $response;
+ }
+ }*/
+ }
+ })
+ ->debug(true)
+ ->process( $_POST )
+ ->data();
+
+ $newTokenHash = csrf_hash();
+ $csrfTokenName = csrf_token();
+
+ $response[$csrfTokenName] = $newTokenHash;
+
+ echo json_encode($response);
+
+ } else {
+ return $this->failUnauthorized('Invalid request', 403);
+ }
+ }
+
+
+
+}
diff --git a/ci4/app/Controllers/Presupuestos/PresupuestoManipulados.php b/ci4/app/Controllers/Presupuestos/PresupuestoManipulados.php
new file mode 100644
index 00000000..af2e86db
--- /dev/null
+++ b/ci4/app/Controllers/Presupuestos/PresupuestoManipulados.php
@@ -0,0 +1,131 @@
+request->isAJAX()) {
+ $reqData = $this->request->getPost();
+ if (!isset($reqData['draw']) || !isset($reqData['columns'])) {
+ $errstr = 'No data available in response to this specific request.';
+ $response = $this->respond(Collection::datatable([], 0, 0, $errstr), 400, $errstr);
+ return $response;
+ }
+ $start = $reqData['start'] ?? 0;
+ $length = $reqData['length'] ?? 5;
+ $requestedOrder = $reqData['order']['0']['column'] ?? 1;
+ $order = PresupuestoManipuladosModel::SORTABLE[$requestedOrder >= 0 ? $requestedOrder : 1];
+ $dir = $reqData['order']['0']['dir'] ?? 'asc';
+
+ $id_P = $reqData['id_presupuesto'] ?? -1;
+
+ $resourceData = $this->model->getResource($id_P)->orderBy($order, $dir)->limit($length, $start)->get()->getResultObject();
+
+ return $this->respond(Collection::datatable(
+ $resourceData,
+ $this->model->getResource()->countAllResults(),
+ $this->model->getResource($id_P)->countAllResults()
+ ));
+ } else {
+ return $this->failUnauthorized('Invalid request', 403);
+ }
+ }
+
+ public function datatable_editor() {
+ if ($this->request->isAJAX()) {
+
+ include(APPPATH . "ThirdParty/DatatablesEditor/DataTables.php");
+
+ // Build our Editor instance and process the data coming from _POST
+ $response = Editor::inst( $db, 'presupuesto_manipulados' )
+ ->fields(
+ Field::inst( 'tarifa_manipulado_id' )
+ ->validator( 'Validate::notEmpty',array(
+ 'message' => 'Selecciones servicios de acabado' )
+ ),
+ Field::inst( 'precio_unidad' )
+ ->validator( 'Validate::notEmpty',array(
+ 'message' => 'Falta precio unitario' )
+ ),
+ Field::inst( 'precio_total' )
+ ->validator( 'Validate::notEmpty',array(
+ 'message' => 'Falta precio total' )
+ ),
+
+ Field::inst( 'presupuesto_id' ),
+
+ )
+ ->validator( function($editor, $action, $data){
+ if ($action === Editor::ACTION_CREATE || $action === Editor::ACTION_EDIT){
+ //return $response;
+ /*foreach ($data['data'] as $pkey => $values ){
+ // No se pueden duplicar valores al crear o al editar
+ if (!empty($response)){
+ return $response;
+ }
+ }*/
+ }
+ })
+ ->debug(true)
+ ->process( $_POST )
+ ->data();
+
+ $newTokenHash = csrf_hash();
+ $csrfTokenName = csrf_token();
+
+ $response[$csrfTokenName] = $newTokenHash;
+
+ echo json_encode($response);
+
+ } else {
+ return $this->failUnauthorized('Invalid request', 403);
+ }
+ }
+
+
+
+}
diff --git a/ci4/app/Controllers/Presupuestos/PresupuestoPreimpresiones.php b/ci4/app/Controllers/Presupuestos/PresupuestoPreimpresiones.php
new file mode 100644
index 00000000..5e92fd69
--- /dev/null
+++ b/ci4/app/Controllers/Presupuestos/PresupuestoPreimpresiones.php
@@ -0,0 +1,125 @@
+request->isAJAX()) {
+ $reqData = $this->request->getPost();
+ if (!isset($reqData['draw']) || !isset($reqData['columns'])) {
+ $errstr = 'No data available in response to this specific request.';
+ $response = $this->respond(Collection::datatable([], 0, 0, $errstr), 400, $errstr);
+ return $response;
+ }
+ $start = $reqData['start'] ?? 0;
+ $length = $reqData['length'] ?? 5;
+ $requestedOrder = $reqData['order']['0']['column'] ?? 1;
+ $order = PresupuestoPreimpresionesModel::SORTABLE[$requestedOrder >= 0 ? $requestedOrder : 1];
+ $dir = $reqData['order']['0']['dir'] ?? 'asc';
+
+ $id_P = $reqData['id_presupuesto'] ?? -1;
+
+ $resourceData = $this->model->getResource($id_P)->orderBy($order, $dir)->limit($length, $start)->get()->getResultObject();
+
+ return $this->respond(Collection::datatable(
+ $resourceData,
+ $this->model->getResource()->countAllResults(),
+ $this->model->getResource($id_P)->countAllResults()
+ ));
+ } else {
+ return $this->failUnauthorized('Invalid request', 403);
+ }
+ }
+
+ public function datatable_editor() {
+ if ($this->request->isAJAX()) {
+
+ include(APPPATH . "ThirdParty/DatatablesEditor/DataTables.php");
+
+ // Build our Editor instance and process the data coming from _POST
+ $response = Editor::inst( $db, 'presupuesto_preimpresiones' )
+ ->fields(
+ Field::inst( 'tarifa_preimpresion_id' )
+ ->validator( 'Validate::notEmpty',array(
+ 'message' => 'Selecciones servicios de acabado' )
+ ),
+ Field::inst( 'precio_unidad' )
+ ->validator( 'Validate::notEmpty',array(
+ 'message' => 'Falta precio unitario' )
+ ),
+ Field::inst( 'precio_total' )
+ ->validator( 'Validate::notEmpty',array(
+ 'message' => 'Falta precio total' )
+ ),
+
+ Field::inst( 'presupuesto_id' ),
+
+ )
+ ->validator( function($editor, $action, $data){
+ if ($action === Editor::ACTION_CREATE || $action === Editor::ACTION_EDIT){
+ //return $response;
+ /*foreach ($data['data'] as $pkey => $values ){
+ // No se pueden duplicar valores al crear o al editar
+ if (!empty($response)){
+ return $response;
+ }
+ }*/
+ }
+ })
+ ->debug(true)
+ ->process( $_POST )
+ ->data();
+
+ $newTokenHash = csrf_hash();
+ $csrfTokenName = csrf_token();
+
+ $response[$csrfTokenName] = $newTokenHash;
+
+ echo json_encode($response);
+
+ } else {
+ return $this->failUnauthorized('Invalid request', 403);
+ }
+ }
+
+
+
+}
diff --git a/ci4/app/Controllers/Tarifas/Tarifaenvio.php b/ci4/app/Controllers/Tarifas/Tarifaenvio.php
deleted file mode 100644
index 8d0c0046..00000000
--- a/ci4/app/Controllers/Tarifas/Tarifaenvio.php
+++ /dev/null
@@ -1,35 +0,0 @@
- null,
+ "presupuesto_id" => null,
+ "tarifa_acabado_id" => null,
+ "precio_unidad" => null,
+ "precio_total" => null,
+ "created_at" => null,
+ "updated_at" => null,
+ ];
+ protected $casts = [
+ "presupuesto_id" => "int",
+ "tarifa_acabado_id" => "int",
+ "precio_unidad" => "float",
+ "precio_total" => "float",
+ ];
+}
diff --git a/ci4/app/Entities/Presupuestos/PresupuestoEncuadernacionesEntity.php b/ci4/app/Entities/Presupuestos/PresupuestoEncuadernacionesEntity.php
new file mode 100644
index 00000000..e1ce106d
--- /dev/null
+++ b/ci4/app/Entities/Presupuestos/PresupuestoEncuadernacionesEntity.php
@@ -0,0 +1,23 @@
+ null,
+ "presupuesto_id" => null,
+ "tarifa_encuadernado_id" => null,
+ "precio_unidad" => null,
+ "precio_total" => null,
+ "created_at" => null,
+ "updated_at" => null,
+ ];
+ protected $casts = [
+ "presupuesto_id" => "int",
+ "tarifa_encuadernado_id" => "int",
+ "precio_unidad" => "float",
+ "precio_total" => "float",
+ ];
+}
diff --git a/ci4/app/Entities/Presupuestos/PresupuestoEntity.php b/ci4/app/Entities/Presupuestos/PresupuestoEntity.php
index c5b91ca7..3020216e 100644
--- a/ci4/app/Entities/Presupuestos/PresupuestoEntity.php
+++ b/ci4/app/Entities/Presupuestos/PresupuestoEntity.php
@@ -50,7 +50,7 @@ class PresupuestoEntity extends \CodeIgniter\Entity\Entity
"merma" => null,
"merma_portada" => 6.0,
"imagenes_bn_interior" => false,
- "comentarios" => null,
+ "comentarios_cliente" => null,
"comentarios_safekat" => null,
"comentarios_pdf" => null,
"comentarios_tarifa" => null,
diff --git a/ci4/app/Entities/Presupuestos/PresupuestoManipuladosEntity.php b/ci4/app/Entities/Presupuestos/PresupuestoManipuladosEntity.php
new file mode 100644
index 00000000..8b2830c7
--- /dev/null
+++ b/ci4/app/Entities/Presupuestos/PresupuestoManipuladosEntity.php
@@ -0,0 +1,23 @@
+ null,
+ "presupuesto_id" => null,
+ "tarifa_manipulado_id" => null,
+ "precio_unidad" => null,
+ "precio_total" => null,
+ "created_at" => null,
+ "updated_at" => null,
+ ];
+ protected $casts = [
+ "presupuesto_id" => "int",
+ "tarifa_manipulado_id" => "int",
+ "precio_unidad" => "float",
+ "precio_total" => "float",
+ ];
+}
diff --git a/ci4/app/Entities/Presupuestos/PresupuestoPreimpresionesEntity.php b/ci4/app/Entities/Presupuestos/PresupuestoPreimpresionesEntity.php
new file mode 100644
index 00000000..8a56a8fc
--- /dev/null
+++ b/ci4/app/Entities/Presupuestos/PresupuestoPreimpresionesEntity.php
@@ -0,0 +1,23 @@
+ null,
+ "presupuesto_id" => null,
+ "tarifa_preimpresion_id" => null,
+ "precio_unidad" => null,
+ "precio_total" => null,
+ "created_at" => null,
+ "updated_at" => null,
+ ];
+ protected $casts = [
+ "presupuesto_id" => "int",
+ "tarifa_preimpresion_id" => "int",
+ "precio_unidad" => "float",
+ "precio_total" => "float",
+ ];
+}
diff --git a/ci4/app/Language/en/Basic.php b/ci4/app/Language/en/Basic.php
index 9162821a..5e06aaf9 100644
--- a/ci4/app/Language/en/Basic.php
+++ b/ci4/app/Language/en/Basic.php
@@ -12,6 +12,8 @@ return [
'Close' => 'Close',
'Dashboard' => 'Dashboard',
'Delete' => 'Delete',
+ 'Clone' => 'Clone',
+ 'Print' => 'Print',
'Error' => 'Error',
'Groups' => 'Groups',
'Home' => 'Home',
diff --git a/ci4/app/Language/en/Presupuestos.php b/ci4/app/Language/en/Presupuestos.php
index d1079af6..2b1e211a 100644
--- a/ci4/app/Language/en/Presupuestos.php
+++ b/ci4/app/Language/en/Presupuestos.php
@@ -10,6 +10,7 @@ return [
'datosPresupuesto' => 'Budget information',
'datosLibro' => 'Book information',
+ 'datosServicios' => 'Other Services',
'datosPresupuestoCliente' => 'Client budget data (comparator)',
'id' => 'Budget Number',
diff --git a/ci4/app/Language/es/App.php b/ci4/app/Language/es/App.php
index 1a9d22be..64450f72 100644
--- a/ci4/app/Language/es/App.php
+++ b/ci4/app/Language/es/App.php
@@ -745,7 +745,6 @@ return [
"menu_libros_fresasdo_tapa_blanda" => "Fresado tapa blanda",
"menu_libros_cosido_tapa_dura" => "Cosidos tapa dura",
"menu_libros_cosido_tapa_blanda" => "Cosidos tapa blanda",
- "menu_libros_cosido_tapa_blanda_solapas" => "Cosidos tapa blanda con solapas",
"menu_libros_grapados" => "Grapados",
"menu_libros_espiral_tapa_dura" => "Espiral tapa dura",
"menu_libros_espiral_tapa_blanda" => "Espiral tapa blanda",
diff --git a/ci4/app/Language/es/Basic.php b/ci4/app/Language/es/Basic.php
index 1dcfd513..8487a1d3 100644
--- a/ci4/app/Language/es/Basic.php
+++ b/ci4/app/Language/es/Basic.php
@@ -12,6 +12,8 @@ return [
'Close' => 'Cerrar',
'Dashboard' => 'Panel de control',
'Delete' => 'Borrar',
+ 'Clone' => 'Duplicar',
+ 'Print' => 'Imprimir',
'Error' => 'Error',
'Groups' => 'Grupos',
'Home' => 'Inicio',
diff --git a/ci4/app/Language/es/Presupuestos.php b/ci4/app/Language/es/Presupuestos.php
index e6156182..3fad87f4 100644
--- a/ci4/app/Language/es/Presupuestos.php
+++ b/ci4/app/Language/es/Presupuestos.php
@@ -1,75 +1,75 @@
'Presupuesto Libro Cosido Tapa Blanda',
+ 'moduleTitleCosidoTB' => 'Presupuesto Libro Cosido Tapa Blanda',
- 'presupuestoCosidotapablandaList' => 'Lista presupuestos Libros Cosido Tapa Blanda',
- 'presupuesto' => 'Presupuesto',
+ 'presupuestoCosidotapablandaList' => 'Lista presupuestos Libros Cosido Tapa Blanda',
+ 'presupuesto' => 'Presupuesto',
- 'datosPresupuesto' => 'Datos generales del presupuesto',
- 'datosLibro' => 'Datos del libro',
- 'datosPresupuestoCliente' => 'Datos presupuesto cliente (comparador)',
+ 'datosPresupuesto' => 'Datos generales del presupuesto',
+ 'datosLibro' => 'Datos del libro',
+ 'datosServicios' => 'Otros Servicios',
+ 'datosPresupuestoCliente' => 'Datos presupuesto cliente (comparador)',
- 'id' => 'Número Presupuesto',
- 'created_at' => 'Fecha',
- 'clienteId' => 'Cliente',
- 'comercial' => 'Comercial',
- 'titulo' => 'Título',
- 'paisId' => 'País',
- 'incRei' => 'Incidencia \ Reimpresión',
- 'paginas' => 'Paginas',
- 'tirada' => 'Tirada',
- 'totalPedido' => 'Total Presupuesto',
- 'presupuestoEstado' => 'Estado',
- 'presupuestoEstadoBorrador' => 'Borrador',
- 'presupuestoEstadoAceptado' => 'Aceptado',
- 'incidencia' => 'Incidencia',
- 'reimpresion' => 'Reimpresion',
- 'sinCargo' => 'Sin cargo',
- 'autor' => 'Autor',
- 'coleccion' => 'Colección',
- 'numeroEdicion' => 'Número de edición',
- 'isbn' => 'ISBN',
- 'referenciaCliente' => 'Referencia del cliente',
- 'papelFormatoId' => "Tamaño",
- 'papelFormatoPersonalizado' => 'Tamaño personalizado',
- 'papelFormatoAncho' => 'Ancho',
- 'papelFormatoAlto' => 'Alto',
- 'cosido' => 'Cosido',
- 'ferro' => 'Ferro',
- 'ferroDigital' => 'Ferro Digital',
- 'prototipo' => 'Prototipo',
- 'imagenesBnInterior' => 'Imágenes B/N interior',
- 'recogerEnTaller' => 'Recoger en taller',
- 'marcapaginas' => 'Marcapáginas',
- 'merma' => 'Merma',
- 'mermacubierta' => 'Merma cubierta',
- 'tipoImpresion' => 'Tipo de impresión',
- 'papelesComparadorCosidoTapaBlanda' => 'Papeles interior y cubierta',
- 'posicionPagColor' => 'Posición páginas a color',
- 'colorPageInstructions' => 'Introduzca la posición de las páginas a color dentro del libro. Ej: 3,5,7 ó 4-10,20,155',
- 'numeroPaginas' => 'Nº Páginas',
- 'papel' => 'Papel',
- 'gramaje' => 'Gramaje',
- 'opcionesPresupuesto' => 'Opciones presupuesto',
- 'retractilado' => 'Retractilado individual',
- 'retractilado5' => 'Retractilado de 5',
- 'Guardas' => 'Guardas',
- 'fajaColor' => 'Imprimir faja a color',
- 'compInteriorPlana' => 'Interior en plana',
- 'compInteriorRotativa' => 'Interior en rotativa',
- 'compCubiertaSobrecubierta' => 'Cubierta y sobrecubierta',
- 'tipo' => 'Tipo',
- 'marca' => 'Marca',
- 'maquina' => 'Máquina',
- 'numeroPliegos' => 'Nº Pliegos',
- 'pliegosPedido' => 'Pliegos pedido',
- 'precioPliego' => 'Precio pliegos',
- 'libro' => 'Libro',
+ 'id' => 'Número Presupuesto',
+ 'created_at' => 'Fecha',
+ 'clienteId' => 'Cliente',
+ 'comercial' => 'Comercial',
+ 'titulo' => 'Título',
+ 'paisId' => 'País',
+ 'incRei' => 'Incidencia \ Reimpresión',
+ 'paginas' => 'Paginas',
+ 'tirada' => 'Tirada',
+ 'totalPedido' => 'Total Presupuesto',
+ 'presupuestoEstado' => 'Estado',
+ 'presupuestoEstadoBorrador' => 'Borrador',
+ 'presupuestoEstadoAceptado' => 'Aceptado',
+ 'incidencia' => 'Incidencia',
+ 'reimpresion' => 'Reimpresion',
+ 'sinCargo' => 'Sin cargo',
+ 'autor' => 'Autor',
+ 'coleccion' => 'Colección',
+ 'numeroEdicion' => 'Número de edición',
+ 'isbn' => 'ISBN',
+ 'referenciaCliente' => 'Referencia del cliente',
+ 'papelFormatoId' => "Tamaño",
+ 'papelFormatoPersonalizado' => 'Tamaño personalizado',
+ 'papelFormatoAncho' => 'Ancho',
+ 'papelFormatoAlto' => 'Alto',
+ 'cosido' => 'Cosido',
+ 'ferro' => 'Ferro',
+ 'ferroDigital' => 'Ferro Digital',
+ 'prototipo' => 'Prototipo',
+ 'imagenesBnInterior' => 'Imágenes B/N interior',
+ 'recogerEnTaller' => 'Recoger en taller',
+ 'marcapaginas' => 'Marcapáginas',
+ 'merma' => 'Merma',
+ 'mermacubierta' => 'Merma cubierta',
+ 'tipoImpresion' => 'Tipo de impresión',
+ 'papelesComparadorCosidoTapaBlanda' => 'Papeles interior y cubierta',
+ 'posicionPagColor' => 'Posición páginas a color',
+ 'colorPageInstructions' => 'Introduzca la posición de las páginas a color dentro del libro. Ej: 3,5,7 ó 4-10,20,155',
+ 'numeroPaginas' => 'Nº Páginas',
+ 'papel' => 'Papel',
+ 'gramaje' => 'Gramaje',
+ 'opcionesPresupuesto' => 'Opciones presupuesto',
+ 'retractilado' => 'Retractilado individual',
+ 'retractilado5' => 'Retractilado de 5',
+ 'Guardas' => 'Guardas',
+ 'fajaColor' => 'Imprimir faja a color',
+ 'compInteriorPlana' => 'Interior en plana',
+ 'compInteriorRotativa' => 'Interior en rotativa',
+ 'compCubiertaSobrecubierta' => 'Cubierta y sobrecubierta',
+ 'tipo' => 'Tipo',
+ 'marca' => 'Marca',
+ 'maquina' => 'Máquina',
+ 'numeroPliegos' => 'Nº Pliegos',
+ 'pliegosPedido' => 'Pliegos pedido',
+ 'precioPliego' => 'Precio pliegos',
+ 'libro' => 'Libro',
'totalPapelPedido' => 'Total papel pedido',
- 'lomo' => 'Lomo',
+ 'lomo' => 'Lomo',
'peso' => 'Peso',
'click' => 'Click',
'totalClicks' => 'Total clicks',
@@ -93,6 +93,221 @@ return [
'rotativa' => 'Rotativa',
'si' => 'Si',
'no' => 'No',
+
+ 'servicioAcabado' => 'Servicio de acabado',
+ 'servicioPreimpresion' => 'Servicio de preimpresión',
+ 'servicioEncuadernado' => 'Servicio de encuadernado',
+ 'comentarios' => 'Comentarios',
+ 'comentariosCliente' => 'Comentarios cliente',
+ 'comentariosSafekat' => 'Comentarios Safekat',
+ 'comentariosPresupuesto' => 'Comentarios el presupuesto',
+ 'resumen' => 'Resumen del presupuesto',
+ 'confirmar' => 'Confirmar presupuesto',
+
+ // Servicios
+ 'precioUnidad' => 'Precio unitario',
+ 'precioTotal' => 'Precio total',
+
+
+ 'validation' => [
+ 'decimal' => 'El campo {field} debe contener un número decimal.',
+ 'requerido' => 'El campo {field} esta requerido.',
+
+ ],
+
+
+ /* '4x0' => '4x0',
+ '4x4' => '4x4',
+ 'aprobadoAt' => 'Aprobado At',
+ 'aprobadoJsonData' => 'Aprobado Json Data',
+ 'aprobadoUserId' => 'Aprobado User',
+ 'autor' => 'Autor',
+ 'baseImponible' => 'Base Imponible',
+ 'catalogoId' => 'Catalogo ID',
+ 'causaCancelacion' => 'Causa Cancelacion',
+ 'coleccion' => 'Coleccion',
+ 'comentarios' => 'Comentarios',
+ 'comentariosPdf' => 'Comentarios Pdf',
+ 'comentariosSafekat' => 'Comentarios Safekat',
+ 'comentariosTarifa' => 'Comentarios Tarifa',
+ 'comparadorJsonData' => 'Comparador Json Data',
+ 'cosido' => 'Cosido',
+ 'createdAt' => 'Created At',
+ 'cubiertas' => 'Cubiertas',
+ 'cubiertasAncho' => 'Cubiertas Ancho',
+ 'deletedAt' => 'Deleted At',
+ 'descuento' => 'Descuento',
+ 'enEspera' => 'EN Espera',
+ 'enProduccion' => 'EN Produccion',
+ 'enviosRecogeCliente' => 'Envios Recoge Cliente',
+ 'estadoId' => 'Estado',
+ 'facturaId' => 'Factura ID',
+ 'fechaEncuardenadoAt' => 'Fecha Encuardenado At',
+ 'fechaEntregaRealAt' => 'Fecha Entrega Real At',
+ 'fechaEntregaRealWarning' => 'Fecha Entrega Real Warning',
+ 'fechaExternoAt' => 'Fecha Externo At',
+ 'fechaFerroSubidoAt' => 'Fecha Ferro Subido At',
+ 'fechaImpresionAt' => 'Fecha Impresion At',
+ 'ferro' => 'Ferro',
+ 'ferroDigital' => 'Ferro Digital',
+ 'formaPagoId' => 'Forma Pago',
+ 'forzarTotal' => 'Forzar Total',
+ 'imagenesBnInterior' => 'Imagenes Bn Interior',
+ 'isDeleted' => 'Is Deleted',
+ 'isbn' => 'Isbn',
+ 'isdig' => 'Isdig',
+ 'lomo' => 'Lomo',
+ 'marcapaginas' => 'Marcapaginas',
+ 'margen' => 'Margen',
+ 'margenExtra' => 'Margen Extra',
+ 'margenManual' => 'Margen Manual',
+ 'merma' => 'Merma',
+ 'mermaPortada' => 'Merma Portada',
+ 'modoComparador' => 'Modo Comparador',
+ 'moduleTitle' => 'Presupuestos',
+ 'numeroEdicion' => 'Numero Edicion',
+ 'paginasColor' => 'Paginas Color',
+ 'paginasColorCheckImpresionTotal' => 'Paginas Color Check Impresion Total',
+ 'paginasColorCheckPapelTotal' => 'Paginas Color Check Papel Total',
+ 'paginasColorClick' => 'Paginas Color Click',
+ 'paginasColorFormaId' => 'Paginas Color Forma ID',
+ 'paginasColorGramaje' => 'Paginas Color Gramaje',
+ 'paginasColorLibro' => 'Paginas Color Libro',
+ 'paginasColorMano' => 'Paginas Color Mano',
+ 'paginasColorMaquinaId' => 'Paginas Color Maquina',
+ 'paginasColorPapelId' => 'Paginas Color Papel',
+ 'paginasColorPapelImpresionId' => 'Paginas Color Papel Impresion',
+ 'paginasColorPedido' => 'Paginas Color Pedido',
+ 'paginasColorPeso' => 'Paginas Color Peso',
+ 'paginasColorPliegosLibro' => 'Paginas Color Pliegos Libro',
+ 'paginasColorPliegosPedido' => 'Paginas Color Pliegos Pedido',
+ 'paginasColorPliegosPrecio' => 'Paginas Color Pliegos Precio',
+ 'paginasColorPosicion' => 'Paginas Color Posicion',
+ 'paginasColorPrecio' => 'Paginas Color Precio',
+ 'paginasColorTarifaImpresionId' => 'Paginas Color Tarifa Impresion',
+ 'paginasCubierta' => 'Paginas Cubierta',
+ 'paginasCubiertaCheckImpresionTotal' => 'Paginas Cubierta Check Impresion Total',
+ 'paginasCubiertaCheckPapelTotal' => 'Paginas Cubierta Check Papel Total',
+ 'paginasCubiertaClick' => 'Paginas Cubierta Click',
+ 'paginasCubiertaFormaId' => 'Paginas Cubierta Forma ID',
+ 'paginasCubiertaGramaje' => 'Paginas Cubierta Gramaje',
+ 'paginasCubiertaLibro' => 'Paginas Cubierta Libro',
+ 'paginasCubiertaMano' => 'Paginas Cubierta Mano',
+ 'paginasCubiertaMaquinaId' => 'Paginas Cubierta Maquina',
+ 'paginasCubiertaPapelId' => 'Paginas Cubierta Papel',
+ 'paginasCubiertaPapelImpresionId' => 'Paginas Cubierta Papel Impresion',
+ 'paginasCubiertaPedido' => 'Paginas Cubierta Pedido',
+ 'paginasCubiertaPeso' => 'Paginas Cubierta Peso',
+ 'paginasCubiertaPliegosLibro' => 'Paginas Cubierta Pliegos Libro',
+ 'paginasCubiertaPliegosPedido' => 'Paginas Cubierta Pliegos Pedido',
+ 'paginasCubiertaPliegosPrecio' => 'Paginas Cubierta Pliegos Precio',
+ 'paginasCubiertaPrecio' => 'Paginas Cubierta Precio',
+ 'paginasCubiertaTarifaImpresionId' => 'Paginas Cubierta Tarifa Impresion',
+ 'paginasNegro' => 'Paginas Negro',
+ 'paginasNegroCheckImpresionTotal' => 'Paginas Negro Check Impresion Total',
+ 'paginasNegroCheckPapelTotal' => 'Paginas Negro Check Papel Total',
+ 'paginasNegroClick' => 'Paginas Negro Click',
+ 'paginasNegroFormaId' => 'Paginas Negro Forma ID',
+ 'paginasNegroGramaje' => 'Paginas Negro Gramaje',
+ 'paginasNegroHq' => 'Paginas Negro Hq',
+ 'paginasNegroLibro' => 'Paginas Negro Libro',
+ 'paginasNegroMano' => 'Paginas Negro Mano',
+ 'paginasNegroMaquinaId' => 'Paginas Negro Maquina',
+ 'paginasNegroPapelId' => 'Paginas Negro Papel',
+ 'paginasNegroPapelImpresionId' => 'Paginas Negro Papel Impresion',
+ 'paginasNegroPedido' => 'Paginas Negro Pedido',
+ 'paginasNegroPeso' => 'Paginas Negro Peso',
+ 'paginasNegroPliegosLibro' => 'Paginas Negro Pliegos Libro',
+ 'paginasNegroPliegosPedido' => 'Paginas Negro Pliegos Pedido',
+ 'paginasNegroPliegosPrecio' => 'Paginas Negro Pliegos Precio',
+ 'paginasNegroPrecio' => 'Paginas Negro Precio',
+ 'paginasNegroTarifaImpresionId' => 'Paginas Negro Tarifa Impresion',
+ 'paginasPortada' => 'Paginas Portada',
+ 'paginasPortadaCheckImpresionTotal' => 'Paginas Portada Check Impresion Total',
+ 'paginasPortadaCheckPapelTotal' => 'Paginas Portada Check Papel Total',
+ 'paginasPortadaClick' => 'Paginas Portada Click',
+ 'paginasPortadaFormaId' => 'Paginas Portada Forma ID',
+ 'paginasPortadaGramaje' => 'Paginas Portada Gramaje',
+ 'paginasPortadaLibro' => 'Paginas Portada Libro',
+ 'paginasPortadaMano' => 'Paginas Portada Mano',
+ 'paginasPortadaMaquinaId' => 'Paginas Portada Maquina',
+ 'paginasPortadaPapelId' => 'Paginas Portada Papel',
+ 'paginasPortadaPapelImpresionId' => 'Paginas Portada Papel Impresion',
+ 'paginasPortadaPedido' => 'Paginas Portada Pedido',
+ 'paginasPortadaPeso' => 'Paginas Portada Peso',
+ 'paginasPortadaPliegosLibro' => 'Paginas Portada Pliegos Libro',
+ 'paginasPortadaPliegosPedido' => 'Paginas Portada Pliegos Pedido',
+ 'paginasPortadaPliegosPrecio' => 'Paginas Portada Pliegos Precio',
+ 'paginasPortadaPrecio' => 'Paginas Portada Precio',
+ 'paginasPortadaTarifaImpresionId' => 'Paginas Portada Tarifa Impresion',
+ 'papelFormatoAlto' => 'Papel Formato Alto',
+ 'papelFormatoAncho' => 'Papel Formato Ancho',
+ 'papelFormatoId' => 'Papel Formato',
+ 'papelFormatoPersonalizado' => 'Papel Formato Personalizado',
+ 'pedidoEsperaFecha' => 'Pedido Espera Fecha',
+ 'pedidoEsperaUserId' => 'Pedido Espera User',
+ 'pedidoLibroConjuntoId' => 'Pedido Libro Conjunto ID',
+ 'presupuesto' => 'Presupuesto',
+ 'presupuestoList' => 'Presupuesto List',
+ 'presupuestos' => 'Presupuestos',
+ 'recogerEnTaller' => 'Recoger EN Taller',
+ 'referenciaCliente' => 'Referencia Cliente',
+ 'responsable' => 'Responsable',
+ 'serieId' => 'Serie ID',
+ 'solapas' => 'Solapas',
+ 'solapasAncho' => 'Solapas Ancho',
+ 'tarifaClienteId' => 'Tarifa Cliente ID',
+ 'tipoImpresionId' => 'Tipo Impresion',
+ 'tipologiaId' => 'Tipologia',
+ 'tiradaAlternativaJsonData' => 'Tirada Alternativa Json Data',
+ 'total' => 'Total',
+ 'totalAcabado' => 'Total Acabado',
+ 'totalCalculado' => 'Total Calculado',
+ 'totalClick' => 'Total Click',
+ 'totalConfirmado' => 'Total Confirmado',
+ 'totalConfirmadoUpdateAt' => 'Total Confirmado Update At',
+ 'totalConfirmadoUserId' => 'Total Confirmado User',
+ 'totalDescuento' => 'Total Descuento',
+ 'totalEnvios' => 'Total Envios',
+ 'totalManipulado' => 'Total Manipulado',
+ 'totalMargen' => 'Total Margen',
+ 'totalMargenExtra' => 'Total Margen Extra',
+ 'totalPeso' => 'Total Peso',
+ 'totalPreimpresion' => 'Total Preimpresion',
+ 'totalPreimpresionMargen' => 'Total Preimpresion Margen',
+ 'totalPresupuesto' => 'Total Presupuesto',
+ 'ubicacionId' => 'Ubicacion',
+ 'updatedAt' => 'Updated At',
+ 'userCreatedId' => 'User Created',
+ 'userUpdateId' => 'User Update',
+ 'version' => 'Version',
+ 'wsExternoJsonData' => 'Ws Externo Json Data',
+ 'validation' => [
+ 'aprobado_at' => [
+ 'valid_date' => 'The {field} field must contain a valid date.',
+
+ ],
+
+ 'aprobado_json_data' => [
+ 'max_length' => 'The {field} field cannot exceed {param} characters in length.',
+
+ ],
+
+ 'base_imponible' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
+
+ ],
+
+ 'catalogo_id' => [
+ 'integer' => 'The {field} field must contain an integer.',
+
+ ],
+
+ 'causa_cancelacion' => [
+ 'max_length' => 'The {field} field cannot exceed {param} characters in length.',
+
+ ],
+
/* '4x0' => '4x0',
@@ -287,570 +502,570 @@ return [
],
- 'coleccion' => [
- 'max_length' => 'The {field} field cannot exceed {param} characters in length.',
+ 'coleccion' => [
+ 'max_length' => 'The {field} field cannot exceed {param} characters in length.',
- ],
+ ],
- 'comparador_json_data' => [
- 'max_length' => 'The {field} field cannot exceed {param} characters in length.',
+ 'comparador_json_data' => [
+ 'max_length' => 'The {field} field cannot exceed {param} characters in length.',
- ],
+ ],
- 'factura_id' => [
- 'integer' => 'The {field} field must contain an integer.',
+ 'factura_id' => [
+ 'integer' => 'The {field} field must contain an integer.',
- ],
+ ],
- 'fecha_encuardenado_at' => [
- 'valid_date' => 'The {field} field must contain a valid date.',
+ 'fecha_encuardenado_at' => [
+ 'valid_date' => 'The {field} field must contain a valid date.',
- ],
+ ],
- 'fecha_entrega_real_at' => [
- 'valid_date' => 'The {field} field must contain a valid date.',
+ 'fecha_entrega_real_at' => [
+ 'valid_date' => 'The {field} field must contain a valid date.',
- ],
+ ],
- 'fecha_externo_at' => [
- 'valid_date' => 'The {field} field must contain a valid date.',
+ 'fecha_externo_at' => [
+ 'valid_date' => 'The {field} field must contain a valid date.',
- ],
+ ],
- 'fecha_ferro_subido_at' => [
- 'valid_date' => 'The {field} field must contain a valid date.',
+ 'fecha_ferro_subido_at' => [
+ 'valid_date' => 'The {field} field must contain a valid date.',
- ],
+ ],
- 'fecha_impresion_at' => [
- 'valid_date' => 'The {field} field must contain a valid date.',
+ 'fecha_impresion_at' => [
+ 'valid_date' => 'The {field} field must contain a valid date.',
- ],
+ ],
- 'inc_rei' => [
- 'integer' => 'The {field} field must contain an integer.',
+ 'inc_rei' => [
+ 'integer' => 'The {field} field must contain an integer.',
- ],
+ ],
- 'isbn' => [
- 'max_length' => 'The {field} field cannot exceed {param} characters in length.',
+ 'isbn' => [
+ 'max_length' => 'The {field} field cannot exceed {param} characters in length.',
- ],
+ ],
- 'lomo' => [
- 'integer' => 'The {field} field must contain an integer.',
+ 'lomo' => [
+ 'integer' => 'The {field} field must contain an integer.',
- ],
+ ],
- 'margen' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'margen' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'margen_manual' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'margen_manual' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'numero_edicion' => [
- 'max_length' => 'The {field} field cannot exceed {param} characters in length.',
+ 'numero_edicion' => [
+ 'max_length' => 'The {field} field cannot exceed {param} characters in length.',
- ],
+ ],
- 'paginas_color' => [
- 'integer' => 'The {field} field must contain an integer.',
+ 'paginas_color' => [
+ 'integer' => 'The {field} field must contain an integer.',
- ],
+ ],
- 'paginas_color_click' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'paginas_color_click' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'paginas_color_forma_id' => [
- 'integer' => 'The {field} field must contain an integer.',
+ 'paginas_color_forma_id' => [
+ 'integer' => 'The {field} field must contain an integer.',
- ],
+ ],
- 'paginas_color_gramaje' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'paginas_color_gramaje' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'paginas_color_libro' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'paginas_color_libro' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'paginas_color_mano' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'paginas_color_mano' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'paginas_color_pedido' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'paginas_color_pedido' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'paginas_color_peso' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'paginas_color_peso' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'paginas_color_pliegos_libro' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'paginas_color_pliegos_libro' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'paginas_color_pliegos_pedido' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'paginas_color_pliegos_pedido' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'paginas_color_pliegos_precio' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'paginas_color_pliegos_precio' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'paginas_color_posicion' => [
- 'max_length' => 'The {field} field cannot exceed {param} characters in length.',
+ 'paginas_color_posicion' => [
+ 'max_length' => 'The {field} field cannot exceed {param} characters in length.',
- ],
+ ],
- 'paginas_color_precio' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'paginas_color_precio' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'paginas_cubierta_click' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'paginas_cubierta_click' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'paginas_cubierta_forma_id' => [
- 'integer' => 'The {field} field must contain an integer.',
+ 'paginas_cubierta_forma_id' => [
+ 'integer' => 'The {field} field must contain an integer.',
- ],
+ ],
- 'paginas_cubierta_gramaje' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'paginas_cubierta_gramaje' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'paginas_cubierta_libro' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'paginas_cubierta_libro' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'paginas_cubierta_mano' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'paginas_cubierta_mano' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'paginas_cubierta_pedido' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'paginas_cubierta_pedido' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'paginas_cubierta_peso' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'paginas_cubierta_peso' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'paginas_cubierta_pliegos_libro' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'paginas_cubierta_pliegos_libro' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'paginas_cubierta_pliegos_pedido' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'paginas_cubierta_pliegos_pedido' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'paginas_cubierta_pliegos_precio' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'paginas_cubierta_pliegos_precio' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'paginas_cubierta_precio' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'paginas_cubierta_precio' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'paginas_negro' => [
- 'integer' => 'The {field} field must contain an integer.',
+ 'paginas_negro' => [
+ 'integer' => 'The {field} field must contain an integer.',
- ],
+ ],
- 'paginas_negro_click' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'paginas_negro_click' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'paginas_negro_forma_id' => [
- 'integer' => 'The {field} field must contain an integer.',
+ 'paginas_negro_forma_id' => [
+ 'integer' => 'The {field} field must contain an integer.',
- ],
+ ],
- 'paginas_negro_gramaje' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'paginas_negro_gramaje' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'paginas_negro_libro' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'paginas_negro_libro' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'paginas_negro_mano' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'paginas_negro_mano' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'paginas_negro_pedido' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'paginas_negro_pedido' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'paginas_negro_peso' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'paginas_negro_peso' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'paginas_negro_pliegos_libro' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'paginas_negro_pliegos_libro' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'paginas_negro_pliegos_pedido' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'paginas_negro_pliegos_pedido' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'paginas_negro_pliegos_precio' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'paginas_negro_pliegos_precio' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'paginas_negro_precio' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'paginas_negro_precio' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'paginas_portada_click' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'paginas_portada_click' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'paginas_portada_forma_id' => [
- 'integer' => 'The {field} field must contain an integer.',
+ 'paginas_portada_forma_id' => [
+ 'integer' => 'The {field} field must contain an integer.',
- ],
+ ],
- 'paginas_portada_gramaje' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'paginas_portada_gramaje' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'paginas_portada_libro' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'paginas_portada_libro' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'paginas_portada_mano' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'paginas_portada_mano' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'paginas_portada_peso' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'paginas_portada_peso' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'paginas_portada_pliegos_libro' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'paginas_portada_pliegos_libro' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'paginas_portada_pliegos_pedido' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'paginas_portada_pliegos_pedido' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'paginas_portada_pliegos_precio' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'paginas_portada_pliegos_precio' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'paginas_portada_precio' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'paginas_portada_precio' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'papel_formato_alto' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'papel_formato_alto' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'papel_formato_ancho' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'papel_formato_ancho' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'pedido_espera_fecha' => [
- 'valid_date' => 'The {field} field must contain a valid date.',
+ 'pedido_espera_fecha' => [
+ 'valid_date' => 'The {field} field must contain a valid date.',
- ],
+ ],
- 'pedido_libro_conjunto_id' => [
- 'integer' => 'The {field} field must contain an integer.',
+ 'pedido_libro_conjunto_id' => [
+ 'integer' => 'The {field} field must contain an integer.',
- ],
+ ],
- 'responsable' => [
- 'max_length' => 'The {field} field cannot exceed {param} characters in length.',
+ 'responsable' => [
+ 'max_length' => 'The {field} field cannot exceed {param} characters in length.',
- ],
+ ],
- 'serie_id' => [
- 'integer' => 'The {field} field must contain an integer.',
+ 'serie_id' => [
+ 'integer' => 'The {field} field must contain an integer.',
- ],
+ ],
- 'tarifa_cliente_id' => [
- 'integer' => 'The {field} field must contain an integer.',
+ 'tarifa_cliente_id' => [
+ 'integer' => 'The {field} field must contain an integer.',
- ],
+ ],
- 'tirada_alternativa_json_data' => [
- 'max_length' => 'The {field} field cannot exceed {param} characters in length.',
+ 'tirada_alternativa_json_data' => [
+ 'max_length' => 'The {field} field cannot exceed {param} characters in length.',
- ],
+ ],
- 'total' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'total' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'total_acabado' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'total_acabado' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'total_calculado' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'total_calculado' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'total_click' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'total_click' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'total_confirmado' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'total_confirmado' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'total_confirmado_update_at' => [
- 'valid_date' => 'The {field} field must contain a valid date.',
+ 'total_confirmado_update_at' => [
+ 'valid_date' => 'The {field} field must contain a valid date.',
- ],
+ ],
- 'total_descuento' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'total_descuento' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'total_envios' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'total_envios' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'total_manipulado' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'total_manipulado' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'total_margen' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'total_margen' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'total_margen_extra' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'total_margen_extra' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'total_pedido' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'total_pedido' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'total_peso' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'total_peso' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'total_preimpresion' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'total_preimpresion' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'total_preimpresion_margen' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'total_preimpresion_margen' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'total_presupuesto' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
+ 'total_presupuesto' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
- ],
+ ],
- 'user_update_id' => [
- 'integer' => 'The {field} field must contain an integer.',
+ 'user_update_id' => [
+ 'integer' => 'The {field} field must contain an integer.',
- ],
+ ],
- 'ws_externo_json_data' => [
- 'max_length' => 'The {field} field cannot exceed {param} characters in length.',
+ 'ws_externo_json_data' => [
+ 'max_length' => 'The {field} field cannot exceed {param} characters in length.',
- ],
+ ],
- 'autor' => [
- 'max_length' => 'The {field} field cannot exceed {param} characters in length.',
- 'required' => 'The {field} field is required.',
+ 'autor' => [
+ 'max_length' => 'The {field} field cannot exceed {param} characters in length.',
+ 'required' => 'The {field} field is required.',
- ],
+ ],
- 'comentarios' => [
- 'max_length' => 'The {field} field cannot exceed {param} characters in length.',
- 'required' => 'The {field} field is required.',
+ 'comentarios' => [
+ 'max_length' => 'The {field} field cannot exceed {param} characters in length.',
+ 'required' => 'The {field} field is required.',
- ],
+ ],
- 'comentarios_pdf' => [
- 'max_length' => 'The {field} field cannot exceed {param} characters in length.',
- 'required' => 'The {field} field is required.',
+ 'comentarios_pdf' => [
+ 'max_length' => 'The {field} field cannot exceed {param} characters in length.',
+ 'required' => 'The {field} field is required.',
- ],
+ ],
- 'comentarios_safekat' => [
- 'max_length' => 'The {field} field cannot exceed {param} characters in length.',
- 'required' => 'The {field} field is required.',
+ 'comentarios_safekat' => [
+ 'max_length' => 'The {field} field cannot exceed {param} characters in length.',
+ 'required' => 'The {field} field is required.',
- ],
+ ],
- 'comentarios_tarifa' => [
- 'max_length' => 'The {field} field cannot exceed {param} characters in length.',
- 'required' => 'The {field} field is required.',
+ 'comentarios_tarifa' => [
+ 'max_length' => 'The {field} field cannot exceed {param} characters in length.',
+ 'required' => 'The {field} field is required.',
- ],
+ ],
- 'cubiertas_ancho' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
- 'required' => 'The {field} field is required.',
+ 'cubiertas_ancho' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
+ 'required' => 'The {field} field is required.',
- ],
+ ],
- 'descuento' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
- 'required' => 'The {field} field is required.',
+ 'descuento' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
+ 'required' => 'The {field} field is required.',
- ],
+ ],
- 'forzar_total' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
- 'required' => 'The {field} field is required.',
+ 'forzar_total' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
+ 'required' => 'The {field} field is required.',
- ],
+ ],
- 'is_deleted' => [
- 'integer' => 'The {field} field must contain an integer.',
- 'required' => 'The {field} field is required.',
+ 'is_deleted' => [
+ 'integer' => 'The {field} field must contain an integer.',
+ 'required' => 'The {field} field is required.',
- ],
+ ],
- 'margen_extra' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
- 'required' => 'The {field} field is required.',
+ 'margen_extra' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
+ 'required' => 'The {field} field is required.',
- ],
+ ],
- 'merma' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
- 'required' => 'The {field} field is required.',
+ 'merma' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
+ 'required' => 'The {field} field is required.',
- ],
+ ],
- 'merma_portada' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
- 'required' => 'The {field} field is required.',
+ 'merma_portada' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
+ 'required' => 'The {field} field is required.',
- ],
+ ],
- 'paginas' => [
- 'integer' => 'The {field} field must contain an integer.',
- 'required' => 'The {field} field is required.',
+ 'paginas' => [
+ 'integer' => 'The {field} field must contain an integer.',
+ 'required' => 'The {field} field is required.',
- ],
+ ],
- 'paginas_cubierta' => [
- 'in_list' => 'The {field} field must be one of: {param}.',
- 'required' => 'The {field} field is required.',
+ 'paginas_cubierta' => [
+ 'in_list' => 'The {field} field must be one of: {param}.',
+ 'required' => 'The {field} field is required.',
- ],
+ ],
- 'paginas_portada' => [
- 'in_list' => 'The {field} field must be one of: {param}.',
- 'required' => 'The {field} field is required.',
+ 'paginas_portada' => [
+ 'in_list' => 'The {field} field must be one of: {param}.',
+ 'required' => 'The {field} field is required.',
- ],
+ ],
- 'paginas_portada_pedido' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
- 'required' => 'The {field} field is required.',
+ 'paginas_portada_pedido' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
+ 'required' => 'The {field} field is required.',
- ],
+ ],
- 'referencia_cliente' => [
- 'max_length' => 'The {field} field cannot exceed {param} characters in length.',
- 'required' => 'The {field} field is required.',
+ 'referencia_cliente' => [
+ 'max_length' => 'The {field} field cannot exceed {param} characters in length.',
+ 'required' => 'The {field} field is required.',
- ],
+ ],
- 'solapas_ancho' => [
- 'decimal' => 'The {field} field must contain a decimal number.',
- 'required' => 'The {field} field is required.',
+ 'solapas_ancho' => [
+ 'decimal' => 'The {field} field must contain a decimal number.',
+ 'required' => 'The {field} field is required.',
- ],
+ ],
- 'tirada' => [
- 'integer' => 'The {field} field must contain an integer.',
- 'required' => 'The {field} field is required.',
+ 'tirada' => [
+ 'integer' => 'The {field} field must contain an integer.',
+ 'required' => 'The {field} field is required.',
- ],
+ ],
- 'titulo' => [
- 'max_length' => 'The {field} field cannot exceed {param} characters in length.',
- 'required' => 'The {field} field is required.',
+ 'titulo' => [
+ 'max_length' => 'The {field} field cannot exceed {param} characters in length.',
+ 'required' => 'The {field} field is required.',
- ],
+ ],
- 'user_created_id' => [
- 'integer' => 'The {field} field must contain an integer.',
- 'required' => 'The {field} field is required.',
+ 'user_created_id' => [
+ 'integer' => 'The {field} field must contain an integer.',
+ 'required' => 'The {field} field is required.',
- ],
+ ],
- 'version' => [
- 'integer' => 'The {field} field must contain an integer.',
- 'required' => 'The {field} field is required.',
+ 'version' => [
+ 'integer' => 'The {field} field must contain an integer.',
+ 'required' => 'The {field} field is required.',
- ],
+ ],
- ], */
+ ], */
];
diff --git a/ci4/app/Language/es/Tarifaacabado.php b/ci4/app/Language/es/Tarifaacabado.php
index fdb1d0e9..c7024dc1 100644
--- a/ci4/app/Language/es/Tarifaacabado.php
+++ b/ci4/app/Language/es/Tarifaacabado.php
@@ -12,7 +12,7 @@ return [
'precioMin' => 'Precio Mínimo',
'importeFijo' => 'Importe Fijo',
'mostrar_en_presupuesto' => 'Mostrar en presupuesto',
- 'tarifaacabado' => 'Tarifas Acabado',
+ 'tarifaacabado' => 'Tarifa Acabado',
'tarifaacabadoList' => 'Lista Tarifas Acabado',
'tarifasacabado' => 'Tarifas Acabado',
'updatedAt' => 'Actualizado en',
diff --git a/ci4/app/Models/Presupuestos/PresupuestoAcabadosModel.php b/ci4/app/Models/Presupuestos/PresupuestoAcabadosModel.php
new file mode 100644
index 00000000..ed32bfb4
--- /dev/null
+++ b/ci4/app/Models/Presupuestos/PresupuestoAcabadosModel.php
@@ -0,0 +1,68 @@
+ "t2.nombre",
+ 1 => "t1.precio_unidad",
+ 2 => "t1.precio_total"
+ ];
+
+ protected $allowedFields = ["presupuesto_id", "tarifa_acabado_id", "nombre", "precio_total", "precio_unidad"];
+ protected $returnType = "App\Entities\Presupuestos\PresupuestoAcabadosEntity";
+
+ protected $useTimestamps = true;
+ protected $useSoftDeletes = false;
+
+ protected $createdField = "created_at";
+ protected $updatedField = "updated_at";
+
+ public static $labelField = "nombre";
+
+ protected $validationRules = [
+ "precio_total" => [
+ "label" => "Presupuestos.precioTotal",
+ "rules" => "decimal|required",
+ ],
+ ];
+
+ protected $validationMessages = [
+ "precio_total" => [
+ "decimal" => "Presupuestos.validation.decimal",
+ "requerido" => "Presupuestos.validation.decimal",
+ ],
+ ];
+
+
+ /**
+ * Get resource data.
+ *
+ * @param string $search
+ *
+ * @return \CodeIgniter\Database\BaseBuilder
+ */
+ public function getResource($presupuesto_id = -1)
+ {
+ $builder = $this->db
+ ->table($this->table . " t1")
+ ->select(
+ "t1.id AS id, t1.tarifa_acabado_id AS tarifa_acabado_id, t1.precio_unidad AS precio_unidad, t1.precio_total AS precio_total, t2.nombre AS nombre"
+ );
+
+ $builder->where('t1.presupuesto_id', $presupuesto_id);
+ $builder->join("lg_tarifa_acabado t2", "t1.tarifa_acabado_id = t2.id", "left");
+
+ return $builder;
+ }
+}
diff --git a/ci4/app/Models/Presupuestos/PresupuestoEncuadernacionesModel.php b/ci4/app/Models/Presupuestos/PresupuestoEncuadernacionesModel.php
new file mode 100644
index 00000000..0ad3cf6e
--- /dev/null
+++ b/ci4/app/Models/Presupuestos/PresupuestoEncuadernacionesModel.php
@@ -0,0 +1,68 @@
+ "t2.nombre",
+ 1 => "t1.precio_unidad",
+ 2 => "t1.precio_total"
+ ];
+
+ protected $allowedFields = ["presupuesto_id", "tarifa_encuadernado_id", "nombre", "precio_total", "precio_unidad"];
+ protected $returnType = "App\Entities\Presupuestos\PresupuestoEncuadernacionesEntity";
+
+ protected $useTimestamps = true;
+ protected $useSoftDeletes = false;
+
+ protected $createdField = "created_at";
+ protected $updatedField = "updated_at";
+
+ public static $labelField = "nombre";
+
+ protected $validationRules = [
+ "precio_total" => [
+ "label" => "Presupuestos.precioTotal",
+ "rules" => "decimal|required",
+ ],
+ ];
+
+ protected $validationMessages = [
+ "precio_total" => [
+ "decimal" => "Presupuestos.validation.decimal",
+ "requerido" => "Presupuestos.validation.decimal",
+ ],
+ ];
+
+
+ /**
+ * Get resource data.
+ *
+ * @param string $search
+ *
+ * @return \CodeIgniter\Database\BaseBuilder
+ */
+ public function getResource($presupuesto_id = -1)
+ {
+ $builder = $this->db
+ ->table($this->table . " t1")
+ ->select(
+ "t1.id AS id, t1.tarifa_encuadernado_id AS tarifa_encuadernado_id, t1.precio_unidad AS precio_unidad, t1.precio_total AS precio_total, t2.nombre AS nombre"
+ );
+
+ $builder->where('t1.presupuesto_id', $presupuesto_id);
+ $builder->join("tarifa_encuadernacion t2", "t1.tarifa_encuadernado_id = t2.id", "left");
+
+ return $builder;
+ }
+}
diff --git a/ci4/app/Models/Presupuestos/PresupuestoManipuladosModel.php b/ci4/app/Models/Presupuestos/PresupuestoManipuladosModel.php
new file mode 100644
index 00000000..e45976e8
--- /dev/null
+++ b/ci4/app/Models/Presupuestos/PresupuestoManipuladosModel.php
@@ -0,0 +1,68 @@
+ "t2.nombre",
+ 1 => "t1.precio_unidad",
+ 2 => "t1.precio_total"
+ ];
+
+ protected $allowedFields = ["presupuesto_id", "tarifa_manipulado_id", "nombre", "precio_total", "precio_unidad"];
+ protected $returnType = "App\Entities\Presupuestos\PresupuestoManipuladosEntity";
+
+ protected $useTimestamps = true;
+ protected $useSoftDeletes = false;
+
+ protected $createdField = "created_at";
+ protected $updatedField = "updated_at";
+
+ public static $labelField = "nombre";
+
+ protected $validationRules = [
+ "precio_total" => [
+ "label" => "Presupuestos.precioTotal",
+ "rules" => "decimal|required",
+ ],
+ ];
+
+ protected $validationMessages = [
+ "precio_total" => [
+ "decimal" => "Presupuestos.validation.decimal",
+ "requerido" => "Presupuestos.validation.decimal",
+ ],
+ ];
+
+
+ /**
+ * Get resource data.
+ *
+ * @param string $search
+ *
+ * @return \CodeIgniter\Database\BaseBuilder
+ */
+ public function getResource($presupuesto_id = -1)
+ {
+ $builder = $this->db
+ ->table($this->table . " t1")
+ ->select(
+ "t1.id AS id, t1.tarifa_manipulado_id AS tarifa_manipulado_id, t1.precio_unidad AS precio_unidad, t1.precio_total AS precio_total, t2.nombre AS nombre"
+ );
+
+ $builder->where('t1.presupuesto_id', $presupuesto_id);
+ $builder->join("lg_tarifa_manipulado t2", "t1.tarifa_manipulado_id = t2.id", "left");
+
+ return $builder;
+ }
+}
diff --git a/ci4/app/Models/Presupuestos/PresupuestoModel.php b/ci4/app/Models/Presupuestos/PresupuestoModel.php
index 39ea2f6f..1cc255a4 100644
--- a/ci4/app/Models/Presupuestos/PresupuestoModel.php
+++ b/ci4/app/Models/Presupuestos/PresupuestoModel.php
@@ -71,7 +71,7 @@ class PresupuestoModel extends \App\Models\GoBaseModel
"merma",
"merma_portada",
"imagenes_bn_interior",
- "comentarios",
+ "comentarios_cliente",
"comentarios_safekat",
"comentarios_pdf",
"comentarios_tarifa",
@@ -234,8 +234,8 @@ class PresupuestoModel extends \App\Models\GoBaseModel
"label" => "Presupuestos.coleccion",
"rules" => "trim|max_length[255]",
],
- "comentarios" => [
- "label" => "Presupuestos.comentarios",
+ "comentarios_cliente" => [
+ "label" => "Presupuestos.comentarios_cliente",
"rules" => "trim|required|max_length[16313]",
],
"comentarios_pdf" => [
@@ -671,9 +671,9 @@ class PresupuestoModel extends \App\Models\GoBaseModel
"coleccion" => [
"max_length" => "Presupuestos.validation.coleccion.max_length",
],
- "comentarios" => [
- "max_length" => "Presupuestos.validation.comentarios.max_length",
- "required" => "Presupuestos.validation.comentarios.required",
+ "comentarios_cliente" => [
+ "max_length" => "Presupuestos.validation.comentarios_cliente.max_length",
+ "required" => "Presupuestos.validation.comentarios_cliente.required",
],
"comentarios_pdf" => [
"max_length" => "Presupuestos.validation.comentarios_pdf.max_length",
diff --git a/ci4/app/Models/Presupuestos/PresupuestoPreimpresionesModel.php b/ci4/app/Models/Presupuestos/PresupuestoPreimpresionesModel.php
new file mode 100644
index 00000000..2cc3627b
--- /dev/null
+++ b/ci4/app/Models/Presupuestos/PresupuestoPreimpresionesModel.php
@@ -0,0 +1,68 @@
+ "t2.nombre",
+ 1 => "t1.precio_unidad",
+ 2 => "t1.precio_total"
+ ];
+
+ protected $allowedFields = ["presupuesto_id", "tarifa_preimpresion_id", "nombre", "precio_total", "precio_unidad"];
+ protected $returnType = "App\Entities\Presupuestos\PresupuestoPreimpresionesEntity";
+
+ protected $useTimestamps = true;
+ protected $useSoftDeletes = false;
+
+ protected $createdField = "created_at";
+ protected $updatedField = "updated_at";
+
+ public static $labelField = "nombre";
+
+ protected $validationRules = [
+ "precio_total" => [
+ "label" => "Presupuestos.precioTotal",
+ "rules" => "decimal|required",
+ ],
+ ];
+
+ protected $validationMessages = [
+ "precio_total" => [
+ "decimal" => "Presupuestos.validation.decimal",
+ "requerido" => "Presupuestos.validation.decimal",
+ ],
+ ];
+
+
+ /**
+ * Get resource data.
+ *
+ * @param string $search
+ *
+ * @return \CodeIgniter\Database\BaseBuilder
+ */
+ public function getResource($presupuesto_id = -1)
+ {
+ $builder = $this->db
+ ->table($this->table . " t1")
+ ->select(
+ "t1.id AS id, t1.tarifa_preimpresion_id AS tarifa_preimpresion_id, t1.precio_unidad AS precio_unidad, t1.precio_total AS precio_total, t2.nombre AS nombre"
+ );
+
+ $builder->where('t1.presupuesto_id', $presupuesto_id);
+ $builder->join("lg_tarifa_preimpresion t2", "t1.tarifa_preimpresion_id = t2.id", "left");
+
+ return $builder;
+ }
+}
diff --git a/ci4/app/Models/Tarifas/TarifaEncuadernacionModel.php b/ci4/app/Models/Tarifas/TarifaEncuadernacionModel.php
index 05be7bda..5604acee 100644
--- a/ci4/app/Models/Tarifas/TarifaEncuadernacionModel.php
+++ b/ci4/app/Models/Tarifas/TarifaEncuadernacionModel.php
@@ -94,4 +94,22 @@ class TarifaEncuadernacionModel extends \App\Models\GoBaseModel
->like("t1.nombre", $search)
->groupEnd();
}
+
+ public function getServiciosEncuadernacionSelector()
+ {
+ /*
+ Todos los servicios de encuadernacion activas que se pueden usar en presupuestos
+ */
+ $builder = $this->db
+ ->table($this->table . " t1")
+ ->select(
+ "t1.id as value, t1.nombre AS label"
+ )
+ ->where("t1.is_deleted", 0)
+ ->where("t1.mostrar_en_presupuesto", 1);
+
+ return $builder->orderBy("t1.nombre", "asc")->get()->getResultObject();
+ }
+
+
}
diff --git a/ci4/app/Models/Tarifas/TarifaManipuladoModel.php b/ci4/app/Models/Tarifas/TarifaManipuladoModel.php
index 8afc3ab4..33c1607f 100644
--- a/ci4/app/Models/Tarifas/TarifaManipuladoModel.php
+++ b/ci4/app/Models/Tarifas/TarifaManipuladoModel.php
@@ -93,4 +93,20 @@ class TarifaManipuladoModel extends \App\Models\GoBaseModel
->like("t1.nombre", $search)
->groupEnd();
}
+
+ public function getServiciosManipuladoSelector()
+ {
+ /*
+ Todos los servicios de manipulado activas que se pueden usar en presupuestos
+ */
+ $builder = $this->db
+ ->table($this->table . " t1")
+ ->select(
+ "t1.id as value, t1.nombre AS label"
+ )
+ ->where("t1.is_deleted", 0)
+ ->where("t1.mostrar_en_presupuesto", 1);
+
+ return $builder->orderBy("t1.nombre", "asc")->get()->getResultObject();
+ }
}
diff --git a/ci4/app/Models/Tarifas/TarifaacabadoModel.php b/ci4/app/Models/Tarifas/TarifaacabadoModel.php
index 8d9d209d..ddadf1d5 100644
--- a/ci4/app/Models/Tarifas/TarifaacabadoModel.php
+++ b/ci4/app/Models/Tarifas/TarifaacabadoModel.php
@@ -94,4 +94,22 @@ class TarifaacabadoModel extends \App\Models\GoBaseModel
->like("t1.nombre", $search)
->groupEnd();
}
+
+ public function getServiciosAcabadoSelector()
+ {
+ /*
+ Todos los servicios de acabado activos que se pueden usar en presupuestos
+ */
+ $builder = $this->db
+ ->table($this->table . " t1")
+ ->select(
+ "t1.id as value, t1.nombre AS label"
+ )
+ ->where("t1.is_deleted", 0)
+ ->where("t1.mostrar_en_presupuesto", 1);
+
+ return $builder->orderBy("t1.nombre", "asc")->get()->getResultObject();
+ }
+
+
}
diff --git a/ci4/app/Models/Tarifas/TarifapreimpresionModel.php b/ci4/app/Models/Tarifas/TarifapreimpresionModel.php
index 0de5263f..7d94e40d 100644
--- a/ci4/app/Models/Tarifas/TarifapreimpresionModel.php
+++ b/ci4/app/Models/Tarifas/TarifapreimpresionModel.php
@@ -79,4 +79,22 @@ class TarifapreimpresionModel extends \App\Models\GoBaseModel
"decimal" => "Tarifapreimpresion.validation.margen.decimal",
],
];
+
+ public function getServiciosPreimpresionSelector()
+ {
+ /*
+ Todos los servicios de preimpresion activas que se pueden usar en presupuestos
+ */
+ $builder = $this->db
+ ->table($this->table . " t1")
+ ->select(
+ "t1.id as value, t1.nombre AS label"
+ )
+ ->where("t1.is_deleted", 0)
+ ->where("t1.mostrar_en_presupuesto", 1);
+
+ return $builder->orderBy("t1.nombre", "asc")->get()->getResultObject();
+ }
+
+
}
diff --git a/ci4/app/Views/themes/_commonPartialsBs/_confirm2delete.php b/ci4/app/Views/themes/_commonPartialsBs/_confirm2delete.php
index 50e7ee0b..56322188 100644
--- a/ci4/app/Views/themes/_commonPartialsBs/_confirm2delete.php
+++ b/ci4/app/Views/themes/_commonPartialsBs/_confirm2delete.php
@@ -13,7 +13,7 @@
diff --git a/ci4/app/Views/themes/_commonPartialsBs/datatables.php b/ci4/app/Views/themes/_commonPartialsBs/datatables.php
index 6ee8d97d..c8224ef3 100644
--- a/ci4/app/Views/themes/_commonPartialsBs/datatables.php
+++ b/ci4/app/Views/themes/_commonPartialsBs/datatables.php
@@ -175,6 +175,12 @@
$(this).find('.btn-confirm').attr('href', $(e.relatedTarget).data('href'));
});
+ $('#confirm2delete').keypress(function(e) { // Attach the form handler to the keypress event
+ if (e.keyCode == 13) { // If the the enter key was pressed.
+ $('#confirmDelete').click(); // Trigger the button(elementId) click event.
+ }
+ });
+
function toggleAllCheckboxes($cssClass, $io=null) {
$('.'+$cssClass).prop('checked', $io);
}
diff --git a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_comentariosItems.php b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_comentariosItems.php
new file mode 100644
index 00000000..39da34b3
--- /dev/null
+++ b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_comentariosItems.php
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+= $this->section("additionalInlineJs") ?>
+
+
+= $this->endSection() ?>
+
+
diff --git a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_cosidotapablandaFormItems.php b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_cosidotapablandaFormItems.php
index bcb20c95..58a1d1f2 100644
--- a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_cosidotapablandaFormItems.php
+++ b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_cosidotapablandaFormItems.php
@@ -204,26 +204,11 @@
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+