diff --git a/ci4/app/Config/Routes.php b/ci4/app/Config/Routes.php index 45e58dc0..99af8b54 100644 --- a/ci4/app/Config/Routes.php +++ b/ci4/app/Config/Routes.php @@ -70,7 +70,7 @@ $routes->group('tarifaacabado', ['namespace' => 'App\Controllers\Tarifas'], func $routes->post('add', 'Tarifaacabado::add', ['as' => 'createTarifaAcabado']); $routes->post('create', 'Tarifaacabado::create', ['as' => 'ajaxCreateTarifaAcabado']); $routes->put('(:num)/update', 'Tarifaacabado::update/$1', ['as' => 'ajaxUpdateTarifaAcabado']); - $routes->post('(:num)/edit', 'Tarifaacabado::edit/$1', ['as' => 'updateTarifaAcabado']); + $routes->post('edit/(:num)', 'Tarifaacabado::edit/$1', ['as' => 'updateTarifaAcabado']); $routes->post('datatable', 'Tarifaacabado::datatable', ['as' => 'dataTableOfTarifasAcabado']); $routes->post('allmenuitems', 'Tarifaacabado::allItemsSelect', ['as' => 'select2ItemsOfTarifasAcabado']); $routes->post('menuitems', 'Tarifaacabado::menuItems', ['as' => 'menuItemsOfTarifasAcabado']); diff --git a/ci4/app/Controllers/Tarifas/Tarifaacabado.php b/ci4/app/Controllers/Tarifas/Tarifaacabado.php index 026dd2e2..4fb02ca1 100644 --- a/ci4/app/Controllers/Tarifas/Tarifaacabado.php +++ b/ci4/app/Controllers/Tarifas/Tarifaacabado.php @@ -152,7 +152,7 @@ class Tarifaacabado extends \App\Controllers\GoBaseResourceController { $postData = $this->request->getPost(); $sanitizedData = $this->sanitized($postData, $nullIfEmpty); - + // JJO if(isset($this->model->user_update_id)){ $sanitizedData['user_update_id'] = $session->id_user; @@ -180,6 +180,7 @@ class Tarifaacabado extends \App\Controllers\GoBaseResourceController { $thenRedirect = true; endif; + if ($noException && $successfulResult) : $id = $tarifaacabadoEntity->id ?? $id; $message = lang('Basic.global.updateSuccess', [mb_strtolower(lang('Tarifaacabado.tarifaacabado'))]).'.'; @@ -201,7 +202,7 @@ class Tarifaacabado extends \App\Controllers\GoBaseResourceController { $this->viewData['tarifaacabadoEntity'] = $tarifaacabadoEntity; - $this->viewData['formAction'] = route_to('updateTarifaAcabado', $id); + $this->viewData['formAction'] = route_to('updateTarifaAcabado', $id); $this->viewData['boxTitle'] = lang('Basic.global.edit2').' '.lang('Tarifaacabado.moduleTitle').' '.lang('Basic.global.edit3'); diff --git a/ci4/app/Controllers/Tarifas/Tarifaacabadolineas.php b/ci4/app/Controllers/Tarifas/Tarifaacabadolineas.php index 732f48b6..a4546a0e 100644 --- a/ci4/app/Controllers/Tarifas/Tarifaacabadolineas.php +++ b/ci4/app/Controllers/Tarifas/Tarifaacabadolineas.php @@ -292,6 +292,18 @@ class Tarifaacabadolineas extends \App\Controllers\GoBaseResourceController { Field::inst( 'deleted_at' ), ) + ->validator( function($editor, $action, $data){ + if ($action === Editor::ACTION_CREATE || $action === Editor::ACTION_EDIT){ + foreach ($data['data'] as $pkey => $values ){ + $count = $this->model->select('*') + ->where(array('tirada_min'=> $values['tirada_min'], 'tirada_max'=> $values['tirada_max'], 'is_deleted'=> 0)) + ->countAllResults(); + if ($count >= 1){ + return lang('TarifaAcabadoLineas.validation.duplicated_tirada'); + } + } + } + }) ->on( 'preCreate', function ( $editor, &$values ) { $session = session(); $datetime = (new \CodeIgniter\I18n\Time("now")); @@ -316,6 +328,7 @@ class Tarifaacabadolineas extends \App\Controllers\GoBaseResourceController { ->process( $_POST ) ->data(); + // if unique key is set in DB if(isset($response['error'])){ if(str_contains($response['error'], "tirada_min_tirada_max") && str_contains($response['error'], "Duplicate entry ")){ diff --git a/ci4/app/Views/themes/backend/vuexy/form/tarifas/acabado/viewTarifaAcabadoForm.php b/ci4/app/Views/themes/backend/vuexy/form/tarifas/acabado/viewTarifaAcabadoForm.php index e0d57f9f..c82ceeed 100644 --- a/ci4/app/Views/themes/backend/vuexy/form/tarifas/acabado/viewTarifaAcabadoForm.php +++ b/ci4/app/Views/themes/backend/vuexy/form/tarifas/acabado/viewTarifaAcabadoForm.php @@ -135,7 +135,7 @@ yeniden(json.); }); - editor.on( 'submitComplete', function ( e, json, data, action ) { + editor.on( 'submitSuccess', function ( e, json, data, action ) { theTable.clearPipeline(); theTable.draw(); @@ -180,7 +180,9 @@ orderable: false, searchable: false, targets: [lastColNr] - } + }, + {"orderData": [ 0, 1 ], "targets": 0 }, + ], language: { url: "//cdn.datatables.net/plug-ins/1.13.4/i18n/i18n ?>.json" @@ -201,13 +203,14 @@ // Activate an inline edit on click of a table cell $('#tableOfTarifaacabadolineas').on( 'click', 'tbody span.edit', function (e) { editor.inline( - theTable.cells(this.parentNode, '*').nodes(), + theTable.cells(this.parentNode.parentNode, '*').nodes(), { cancelHtml: '', cancelTrigger: 'span.cancel', submitHtml: '', submitTrigger: 'span.edit', - } + submit: 'allIfChanged' + } ); } );