diff --git a/ci4/app/Controllers/GoBaseController.php b/ci4/app/Controllers/GoBaseController.php
index 04a9709c..61dc5e64 100644
--- a/ci4/app/Controllers/GoBaseController.php
+++ b/ci4/app/Controllers/GoBaseController.php
@@ -103,6 +103,24 @@ abstract class GoBaseController extends Controller {
*/
public $viewData;
+
+ /**
+ * JJO: Variable para indicar si el controlador hace soft_delete o no
+ *
+ * @var bool
+ */
+ public $soft_delete = false;
+ /**
+ * JJO: Variable quién puede ver los registros borrados
+ *
+ * 0 -> Not Deleted
+ * 1 -> Soft Deleted, shows up in lists of deleted items for management users
+ * 2 -> Soft Deleted, does not show up for any user except admin users
+ * 3 -> Only shows up for developers.
+ * @var int
+ */
+ public $delete_flag = 0;
+
public $currentAction;
/**
@@ -208,7 +226,12 @@ abstract class GoBaseController extends Controller {
}
if (isset($this->primaryModel) && isset(static::$singularObjectNameCc) && !empty(static::$singularObjectNameCc) && !isset($this->viewData[(static::$singularObjectNameCc) . 'List'])) {
- $this->viewData[(static::$singularObjectNameCc) . 'List'] = $this->primaryModel->asObject()->findAll();
+ //JJO
+ if ($this->soft_delete):
+ $this->viewData[(static::$singularObjectNameCc) . 'List'] = $this->primaryModel->asObject()->where('is_deleted', 0)->findAll();
+ else:
+ $this->viewData[(static::$singularObjectNameCc) . 'List'] = $this->primaryModel->asObject()->findAll();
+ endif;
}
// if $this->currentView is assigned a view name, use it, otherwise assume the view something like 'viewSingleObjectList'
@@ -323,12 +346,19 @@ abstract class GoBaseController extends Controller {
if (!isset($error)) :
try {
- if ($deletePermanently) :
- if (is_numeric($id)) :
+ if ($deletePermanently && !$this->soft_delete) :
+ if (is_numeric($id)) :
$rawResult = $this->primaryModel->delete($id);
else:
$rawResult = $this->primaryModel->where($this->primaryModel->getPrimaryKeyName(), $id)->delete();
endif;
+ elseif ($this->soft_delete):
+ $datetime = (new \CodeIgniter\I18n\Time("now"));
+ $rawResult = $this->primaryModel->where('id',$id)
+ ->set(['deleted_at' => $datetime->format('Y-m-d H:i:s'),
+ 'is_deleted' => $this->delete_flag])
+ ->update();
+
else:
$rawResult = $this->primaryModel->update($id, ['deleted' => true]);
endif;
diff --git a/ci4/app/Controllers/Tarifas/Tarifaacabado.php b/ci4/app/Controllers/Tarifas/Tarifaacabado.php
index 3f5e3940..52713db3 100644
--- a/ci4/app/Controllers/Tarifas/Tarifaacabado.php
+++ b/ci4/app/Controllers/Tarifas/Tarifaacabado.php
@@ -21,6 +21,10 @@ class Tarifaacabado extends \App\Controllers\GoBaseController {
public function initController(\CodeIgniter\HTTP\RequestInterface $request, \CodeIgniter\HTTP\ResponseInterface $response, \Psr\Log\LoggerInterface $logger) {
$this->viewData['pageTitle'] = lang('Tarifaacabado.moduleTitle');
+ // Se indica que este controlador trabaja con soft_delete
+ $this->soft_delete = true;
+ // Se indica el flag para los ficheros borrados
+ $this->delete_flag = 1;
parent::initController($request, $response, $logger);
}
@@ -101,6 +105,7 @@ class Tarifaacabado extends \App\Controllers\GoBaseController {
public function edit($requestedId = null) {
+ // JJO
$session = session();
if ($requestedId == null) :
@@ -123,7 +128,11 @@ class Tarifaacabado extends \App\Controllers\GoBaseController {
$postData = $this->request->getPost();
$sanitizedData = $this->sanitized($postData, $nullIfEmpty);
- $sanitizedData['user_update_id'] = $session->id_user;
+ // JJO
+ if(isset($this->model->user_update_id)){
+ $sanitizedData['user_update_id'] = $session->id_user;
+ }
+
$noException = true;
if ($successfulResult = $this->canValidate()) : // if ($successfulResult = $this->validate($this->formValidationRules) ) :
@@ -224,81 +233,5 @@ class Tarifaacabado extends \App\Controllers\GoBaseController {
} else {
return $this->failUnauthorized('Invalid request', 403);
}
- }
-
- public function delete($requestedId, bool $deletePermanently = false) {
-
- if (is_string($requestedId)) :
- if (is_numeric($requestedId)) :
- $id = filter_var($requestedId, FILTER_SANITIZE_NUMBER_INT);
- else:
- $onlyAlphaNumeric = true;
- $fromGetRequest = true;
- $idSanitization = goSanitize($requestedId, $onlyAlphaNumeric, $fromGetRequest); // filter_var(trim($requestedId), FILTER_SANITIZE_FULL_SPECIAL_CHARS);
- $id = $idSanitization[0];
- endif;
- else:
- $id = intval($requestedId);
- endif;
-
- if (empty($id) || $id === 0) :
- $error = 'Invalid identifier provided to delete the object.';
- endif;
-
- $rawResult = null;
-
- if (!isset($error)) :
- try {
- if ($deletePermanently) :
- if (is_numeric($id)) :
- $rawResult = $this->primaryModel->delete($id);
- else:
- $rawResult = $this->primaryModel->where($this->primaryModel->getPrimaryKeyName(), $id)->delete();
- endif;
- else:
- $datetime = (new \CodeIgniter\I18n\Time("now"));
- $rawResult = $this->primaryModel->where('id',$id)
- ->set(['deleted_at' => $datetime->format('Y-m-d H:i:s')])
- ->update();
- endif;
- } catch (\Exception $e) {
- log_message('error', "Exception: Error deleting object named '".(static::$singularObjectName ?? 'unknown')."' with $id :\r\n".$e->getMessage());
- }
- endif;
-
- $ar = $this->primaryModel->db->affectedRows();
-
- try {
- $dbError = $this->primaryModel->db->error();
- } catch (\Exception $e2) {
- if ($e2->getMessage() != "Trying to get property 'errno' of non-object") {
- log_message('error', $e2->getCode() . ' : ' . $e2->getMessage()) ;
- }
- }
- if (isset($dbError['code']) && isset($dbError['message'])) {
- log_message('error', $dbError['code'].' '.$dbError['message']);
- } else {
- $dbError = ['code' => '', 'message'=>''];
- }
-
- $result = ['persisted'=>$ar>0, 'ar'=>$ar, 'persistedId'=>null, 'affectedRows'=>$ar, 'errorCode'=>$dbError['code'], 'error'=>$dbError['message']];
-
- $nameOfDeletedObject = static::$singularObjectNameCc;
-
- if ($ar < 1) :
- $errorMessage = lang('Basic.global.deleteError', [$nameOfDeletedObject]); // 'No ' . static::$singularObjectName . ' was deleted now, because it probably had already been deleted.';
- $fdKey = isset($this->viewData['usingSweetAlert'] ) && $this->viewData['usingSweetAlert'] ? 'sweet-error' : 'errorMessage';
- $errorMessage = str_replace("'", "\'", $errorMessage);
- return $this->redirect2listView($fdKey, str_replace("'", '', $errorMessage));
- else:
- $message = lang('Basic.global.deleteSuccess', [$nameOfDeletedObject]); // 'The ' . static::$singularObjectName . ' was successfully deleted.';
- $fdKey = isset($this->viewData['usingSweetAlert'] ) && $this->viewData['usingSweetAlert'] ? 'sweet-success' : 'successMessage';
- if ($result['affectedRows']>1) :
- log_message('warning', "More than one row has been deleted in attempt to delete row for object named '".(static::$singularObjectName ?? 'unknown')."' with id: $id");
- endif;
- $message = str_replace("'", "\'", $message);
- return $this->redirect2listView($fdKey, $message);
- endif;
- }
-
+ }
}
diff --git a/ci4/app/Controllers/Tarifas/Tarifamanipulado.php b/ci4/app/Controllers/Tarifas/Tarifamanipulado.php
index 4f29e7a8..7b28b845 100644
--- a/ci4/app/Controllers/Tarifas/Tarifamanipulado.php
+++ b/ci4/app/Controllers/Tarifas/Tarifamanipulado.php
@@ -22,6 +22,10 @@ class Tarifamanipulado extends \App\Controllers\GoBaseController {
public function initController(\CodeIgniter\HTTP\RequestInterface $request, \CodeIgniter\HTTP\ResponseInterface $response, \Psr\Log\LoggerInterface $logger) {
$this->viewData['pageTitle'] = lang('Tarifamanipulado.moduleTitle');
+ // Se indica que este controlador trabaja con soft_delete
+ $this->soft_delete = true;
+ // Se indica el flag para los ficheros borrados
+ $this->delete_flag = 1;
parent::initController($request, $response, $logger);
}
@@ -101,6 +105,9 @@ class Tarifamanipulado extends \App\Controllers\GoBaseController {
public function edit($requestedId = null) {
+ // JJO
+ $session = session();
+
if ($requestedId == null) :
return $this->redirect2listView();
endif;
@@ -119,9 +126,12 @@ class Tarifamanipulado extends \App\Controllers\GoBaseController {
$nullIfEmpty = true; // !(phpversion() >= '8.1');
$postData = $this->request->getPost();
- $sanitizedData = $this->sanitized($postData, $nullIfEmpty);
-
+ $sanitizedData = $this->sanitized($postData, $nullIfEmpty);
+ // JJO
+ if(isset($this->model->user_update_id)){
+ $sanitizedData['user_update_id'] = $session->id_user;
+ }
$noException = true;
if ($successfulResult = $this->canValidate()) : // if ($successfulResult = $this->validate($this->formValidationRules) ) :
diff --git a/ci4/app/Controllers/Tarifas/Tarifapreimpresion.php b/ci4/app/Controllers/Tarifas/Tarifapreimpresion.php
index b8c2e9a2..000066c4 100644
--- a/ci4/app/Controllers/Tarifas/Tarifapreimpresion.php
+++ b/ci4/app/Controllers/Tarifas/Tarifapreimpresion.php
@@ -22,6 +22,10 @@ class Tarifapreimpresion extends \App\Controllers\GoBaseController {
public function initController(\CodeIgniter\HTTP\RequestInterface $request, \CodeIgniter\HTTP\ResponseInterface $response, \Psr\Log\LoggerInterface $logger) {
$this->viewData['pageTitle'] = lang('Preimpresions.moduleTitle');
+ // Se indica que este controlador trabaja con soft_delete
+ $this->soft_delete = true;
+ // Se indica el flag para los ficheros borrados
+ $this->delete_flag = 1;
parent::initController($request, $response, $logger);
}
@@ -100,7 +104,10 @@ class Tarifapreimpresion extends \App\Controllers\GoBaseController {
} // end function add()
public function edit($requestedId = null) {
-
+
+ // JJO
+ $session = session();
+
if ($requestedId == null) :
return $this->redirect2listView();
endif;
@@ -119,9 +126,12 @@ class Tarifapreimpresion extends \App\Controllers\GoBaseController {
$nullIfEmpty = true; // !(phpversion() >= '8.1');
$postData = $this->request->getPost();
- $sanitizedData = $this->sanitized($postData, $nullIfEmpty);
-
+ $sanitizedData = $this->sanitized($postData, $nullIfEmpty);
+ // JJO
+ if(isset($this->model->user_update_id)){
+ $sanitizedData['user_update_id'] = $session->id_user;
+ }
$noException = true;
if ($successfulResult = $this->canValidate()) : // if ($successfulResult = $this->validate($this->formValidationRules) ) :
diff --git a/ci4/app/Entities/Tarifas/TarifaacabadoEntity.php b/ci4/app/Entities/Tarifas/TarifaacabadoEntity.php
index b4b85a2e..93e46dbc 100644
--- a/ci4/app/Entities/Tarifas/TarifaacabadoEntity.php
+++ b/ci4/app/Entities/Tarifas/TarifaacabadoEntity.php
@@ -17,6 +17,7 @@ class TarifaacabadoEntity extends Entity
"user_created_id" => 1,
"user_update_id" => 1,
"deleted_at" => null,
+ "is_deleted" => 0,
"created_at" => null,
"updated_at" => null,
];
diff --git a/ci4/app/Entities/Tarifas/TarifamanipuladoEntity.php b/ci4/app/Entities/Tarifas/TarifamanipuladoEntity.php
index c1c852dd..22c1969e 100644
--- a/ci4/app/Entities/Tarifas/TarifamanipuladoEntity.php
+++ b/ci4/app/Entities/Tarifas/TarifamanipuladoEntity.php
@@ -17,6 +17,8 @@ class TarifamanipuladoEntity extends \CodeIgniter\Entity\Entity
"formula_price" => null,
"user_created_id" => 1,
"user_update_id" => 1,
+ "deleted_at" => null,
+ "is_deleted" => 0,
"created_at" => null,
"updated_at" => null,
];
diff --git a/ci4/app/Entities/Tarifas/TarifapreimpresionEntity.php b/ci4/app/Entities/Tarifas/TarifapreimpresionEntity.php
index f1a11d29..65534647 100644
--- a/ci4/app/Entities/Tarifas/TarifapreimpresionEntity.php
+++ b/ci4/app/Entities/Tarifas/TarifapreimpresionEntity.php
@@ -11,6 +11,8 @@ class TarifapreimpresionEntity extends \CodeIgniter\Entity\Entity
"precio" => null,
"user_created_id" => 1,
"user_update_id" => 1,
+ "deleted_at" => null,
+ "is_deleted" => 0,
"created_at" => null,
"updated_at" => null,
];
diff --git a/ci4/app/Models/Tarifas/TarifaacabadoModel.php b/ci4/app/Models/Tarifas/TarifaacabadoModel.php
index f835b09e..73a359a2 100644
--- a/ci4/app/Models/Tarifas/TarifaacabadoModel.php
+++ b/ci4/app/Models/Tarifas/TarifaacabadoModel.php
@@ -26,12 +26,13 @@ class TarifaacabadoModel extends \App\Models\GoBaseModel
"ajuste",
"formula_price",
"deleted_at",
+ "is_deleted",
"user_created_id",
"user_update_id",
];
protected $returnType = "App\Entities\Tarifas\TarifaacabadoEntity";
- public static $labelField = "Select a field...";
+ public static $labelField = "nombre";
protected $validationRules = [
"ajuste" => [
diff --git a/ci4/app/Models/Tarifas/TarifamanipuladoModel.php b/ci4/app/Models/Tarifas/TarifamanipuladoModel.php
index 4e653e79..640325ec 100644
--- a/ci4/app/Models/Tarifas/TarifamanipuladoModel.php
+++ b/ci4/app/Models/Tarifas/TarifamanipuladoModel.php
@@ -21,6 +21,8 @@ class TarifamanipuladoModel extends \App\Models\GoBaseModel
"ajuste",
"ajuste_total_pedido",
"formula_price",
+ "deleted_at",
+ "is_deleted",
"user_created_id",
"user_update_id",
];
@@ -28,10 +30,9 @@ class TarifamanipuladoModel extends \App\Models\GoBaseModel
protected $useTimestamps = true;
protected $useSoftDeletes = false;
-
protected $createdField = "created_at";
-
protected $updatedField = "updated_at";
+ protected $deletedField = 'deleted_at';
public static $labelField = "nombre";
@@ -68,14 +69,6 @@ class TarifamanipuladoModel extends \App\Models\GoBaseModel
"label" => "Manipuladoes.tiradaMin",
"rules" => "required|integer",
],
- "user_created_id" => [
- "label" => "Manipuladoes.userCreatedId",
- "rules" => "required|integer",
- ],
- "user_update_id" => [
- "label" => "Manipuladoes.userUpdateId",
- "rules" => "required|integer",
- ],
];
protected $validationMessages = [
@@ -110,14 +103,6 @@ class TarifamanipuladoModel extends \App\Models\GoBaseModel
"tirada_min" => [
"integer" => "Manipuladoes.validation.tirada_min.integer",
"required" => "Manipuladoes.validation.tirada_min.required",
- ],
- "user_created_id" => [
- "integer" => "Manipuladoes.validation.user_created_id.integer",
- "required" => "Manipuladoes.validation.user_created_id.required",
- ],
- "user_update_id" => [
- "integer" => "Manipuladoes.validation.user_update_id.integer",
- "required" => "Manipuladoes.validation.user_update_id.required",
- ],
+ ]
];
}
diff --git a/ci4/app/Models/Tarifas/TarifapreimpresionModel.php b/ci4/app/Models/Tarifas/TarifapreimpresionModel.php
index 8d1e319f..4d99f487 100644
--- a/ci4/app/Models/Tarifas/TarifapreimpresionModel.php
+++ b/ci4/app/Models/Tarifas/TarifapreimpresionModel.php
@@ -12,15 +12,21 @@ class TarifapreimpresionModel extends \App\Models\GoBaseModel
*/
protected $useAutoIncrement = true;
- protected $allowedFields = ["nombre", "precio", "user_created_id", "user_update_id"];
+ protected $allowedFields = [
+ "nombre",
+ "precio",
+ "deleted_at",
+ "is_deleted",
+ "user_created_id",
+ "user_update_id"];
protected $returnType = "App\Entities\Tarifas\TarifapreimpresionEntity";
protected $useTimestamps = true;
protected $useSoftDeletes = false;
protected $createdField = "created_at";
-
protected $updatedField = "updated_at";
+ protected $deletedField = 'deleted_at';
public static $labelField = "nombre";
@@ -32,15 +38,7 @@ class TarifapreimpresionModel extends \App\Models\GoBaseModel
"precio" => [
"label" => "Tarifapreimpresion.precio",
"rules" => "required|decimal",
- ],
- "user_created_id" => [
- "label" => "Tarifapreimpresion.userCreatedId",
- "rules" => "required|integer",
- ],
- "user_update_id" => [
- "label" => "Tarifapreimpresion.userUpdateId",
- "rules" => "required|integer",
- ],
+ ]
];
protected $validationMessages = [
@@ -52,13 +50,5 @@ class TarifapreimpresionModel extends \App\Models\GoBaseModel
"decimal" => "Tarifapreimpresion.validation.precio.decimal",
"required" => "Tarifapreimpresion.validation.precio.required",
],
- "user_created_id" => [
- "integer" => "Tarifapreimpresion.validation.user_created_id.integer",
- "required" => "Tarifapreimpresion.validation.user_created_id.required",
- ],
- "user_update_id" => [
- "integer" => "Tarifapreimpresion.validation.user_update_id.integer",
- "required" => "Tarifapreimpresion.validation.user_update_id.required",
- ],
];
}
diff --git a/ci4/app/Views/themes/backend/vuexy/form/tarifas/acabado/_tarifaacabadoFormItems.php b/ci4/app/Views/themes/backend/vuexy/form/tarifas/acabado/_tarifaacabadoFormItems.php
index 758e3ab7..8fe282b7 100644
--- a/ci4/app/Views/themes/backend/vuexy/form/tarifas/acabado/_tarifaacabadoFormItems.php
+++ b/ci4/app/Views/themes/backend/vuexy/form/tarifas/acabado/_tarifaacabadoFormItems.php
@@ -14,13 +14,6 @@
-
-
- =lang('Tarifaacabado.precioMin') ?>*
-
-
-
-
=lang('Tarifaacabado.tiradaMax') ?>*
@@ -28,6 +21,13 @@
+
+
+ =lang('Tarifaacabado.precioMin') ?>*
+
+
+
+
=lang('Tarifaacabado.precioMax') ?>*
diff --git a/ci4/app/Views/themes/backend/vuexy/form/tarifas/acabado/viewTarifaacabadoList.php b/ci4/app/Views/themes/backend/vuexy/form/tarifas/acabado/viewTarifaacabadoList.php
index bf03d7bb..0f535112 100644
--- a/ci4/app/Views/themes/backend/vuexy/form/tarifas/acabado/viewTarifaacabadoList.php
+++ b/ci4/app/Views/themes/backend/vuexy/form/tarifas/acabado/viewTarifaacabadoList.php
@@ -16,71 +16,79 @@
+ = lang('Tarifaacabado.id') ?>
+ */ ?>
+
= lang('Tarifaacabado.nombre') ?>
= lang('Tarifaacabado.tiradaMin') ?>
- = lang('Tarifaacabado.precioMin') ?>
= lang('Tarifaacabado.tiradaMax') ?>
+ = lang('Tarifaacabado.precioMin') ?>
= lang('Tarifaacabado.precioMax') ?>
= lang('Tarifaacabado.ajuste') ?>
= lang('Tarifaacabado.formulaPrice') ?>
+
+ = lang('Tarifaacabado.userCreatedId') ?>
= lang('Tarifaacabado.userUpdateId') ?>
= lang('Tarifaacabado.deletedAt') ?>
= lang('Tarifaacabado.createdAt') ?>
= lang('Tarifaacabado.updatedAt') ?>
+ */ ?>
= lang('Basic.global.Action') ?>
- deleted_at)): ?>
-
-
- =$item->id ?>
-
-
- = empty($item->nombre) || strlen($item->nombre) < 51 ? esc($item->nombre) : character_limiter(esc($item->nombre), 50) ?>
-
-
- = esc($item->tirada_min) ?>
-
-
- = esc($item->precio_min) ?>
-
-
- = esc($item->tirada_max) ?>
-
-
- = esc($item->precio_max) ?>
-
-
- = esc($item->ajuste) ?>
-
-
- = empty($item->formula_price) || strlen($item->formula_price) < 51 ? esc($item->formula_price) : character_limiter(esc($item->formula_price), 50) ?>
-
-
- = esc($item->user_created_id) ?>
-
-
- = esc($item->user_update_id) ?>
-
-
- = empty($item->deleted_at) ? '' : date('d/m/Y H:m:s', strtotime($item->deleted_at)) ?>
-
-
- = empty($item->created_at) ? '' : date('d/m/Y H:m:s', strtotime($item->created_at)) ?>
-
-
- = empty($item->updated_at) ? '' : date('d/m/Y H:m:s', strtotime($item->updated_at)) ?>
-
-
- =anchor(route_to('editTarifaacabado', $item->id), lang('Basic.global.edit'), ['class'=>'btn btn-sm btn-warning btn-edit me-1', 'data-id'=>$item->id,]); ?>
- =anchor('#confirm2delete', lang('Basic.global.Delete'), ['class'=>'btn btn-sm btn-danger btn-delete ms-1', 'data-href'=>route_to('deleteTarifaacabado', $item->id), 'data-bs-toggle'=>'modal', 'data-bs-target'=>'#confirm2delete']); ?>
-
-
-
+
+
+ =$item->id ?>
+
+ */ ?>
+
+ = empty($item->nombre) || strlen($item->nombre) < 51 ? esc($item->nombre) : character_limiter(esc($item->nombre), 50) ?>
+
+
+ = esc($item->tirada_min) ?>
+
+
+ = esc($item->tirada_max) ?>
+
+
+ = esc($item->precio_min) ?>
+
+
+ = esc($item->precio_max) ?>
+
+
+ = esc($item->ajuste) ?>
+
+
+ = empty($item->formula_price) || strlen($item->formula_price) < 51 ? esc($item->formula_price) : character_limiter(esc($item->formula_price), 50) ?>
+
+
+ = esc($item->user_created_id) ?>
+
+
+ = esc($item->user_update_id) ?>
+
+
+ = empty($item->deleted_at) ? '' : date('d/m/Y H:m:s', strtotime($item->deleted_at)) ?>
+
+
+ = empty($item->created_at) ? '' : date('d/m/Y H:m:s', strtotime($item->created_at)) ?>
+
+
+ = empty($item->updated_at) ? '' : date('d/m/Y H:m:s', strtotime($item->updated_at)) ?>
+
+ */ ?>
+
+ =anchor(route_to('editTarifaacabado', $item->id), lang('Basic.global.edit'), ['class'=>'btn btn-sm btn-warning btn-edit me-1', 'data-id'=>$item->id,]); ?>
+ =anchor('#confirm2delete', lang('Basic.global.Delete'), ['class'=>'btn btn-sm btn-danger btn-delete ms-1', 'data-href'=>route_to('deleteTarifaacabado', $item->id), 'data-bs-toggle'=>'modal', 'data-bs-target'=>'#confirm2delete']); ?>
+
+
@@ -136,7 +144,7 @@
"scrollX": true,
"stateSave": true,
"language": {
- url: "/assets/dt/= config('Basics')->languages[$currentLocale] ?? config('Basics')->i18n ?>.json"
+ url: "//cdn.datatables.net/plug-ins/1.13.4/i18n/= config('Basics')->i18n ?>.json"
},
"columnDefs": [
{
diff --git a/ci4/app/Views/themes/backend/vuexy/form/tarifas/manipulado/_tarifamanipuladoFormItems.php b/ci4/app/Views/themes/backend/vuexy/form/tarifas/manipulado/_tarifamanipuladoFormItems.php
index c63d832f..43699a82 100644
--- a/ci4/app/Views/themes/backend/vuexy/form/tarifas/manipulado/_tarifamanipuladoFormItems.php
+++ b/ci4/app/Views/themes/backend/vuexy/form/tarifas/manipulado/_tarifamanipuladoFormItems.php
@@ -14,13 +14,6 @@
-
-
- =lang('Tarifamanipulado.precioMin') ?>*
-
-
-
-
=lang('Tarifamanipulado.tiradaMax') ?>*
@@ -28,6 +21,13 @@
+
+
+ =lang('Tarifamanipulado.precioMin') ?>*
+
+
+
+
=lang('Tarifamanipulado.precioMax') ?>*
@@ -57,7 +57,7 @@
-
+
=lang('Tarifamanipulado.userCreatedId') ?>*
@@ -71,7 +71,7 @@
-
+ */ ?>
\ No newline at end of file
diff --git a/ci4/app/Views/themes/backend/vuexy/form/tarifas/manipulado/viewTarifamanipuladoList.php b/ci4/app/Views/themes/backend/vuexy/form/tarifas/manipulado/viewTarifamanipuladoList.php
index 93954ca2..e783cb53 100644
--- a/ci4/app/Views/themes/backend/vuexy/form/tarifas/manipulado/viewTarifamanipuladoList.php
+++ b/ci4/app/Views/themes/backend/vuexy/form/tarifas/manipulado/viewTarifamanipuladoList.php
@@ -15,28 +15,34 @@
+ = lang('Tarifamanipulado.id') ?>
+ */ ?>
= lang('Tarifamanipulado.nombre') ?>
= lang('Tarifamanipulado.tiradaMin') ?>
- = lang('Tarifamanipulado.precioMin') ?>
= lang('Tarifamanipulado.tiradaMax') ?>
+ = lang('Tarifamanipulado.precioMin') ?>
= lang('Tarifamanipulado.precioMax') ?>
= lang('Tarifamanipulado.ajuste') ?>
= lang('Tarifamanipulado.ajusteTotalPedido') ?>
= lang('Tarifamanipulado.formulaPrice') ?>
+ = lang('Tarifamanipulado.userCreatedId') ?>
= lang('Tarifamanipulado.userUpdateId') ?>
= lang('Tarifamanipulado.createdAt') ?>
= lang('Tarifamanipulado.updatedAt') ?>
+ */ ?>
= lang('Basic.global.Action') ?>
+
=$item->id ?>
+ */ ?>
= empty($item->nombre) || strlen($item->nombre) < 51 ? esc($item->nombre) : character_limiter(esc($item->nombre), 50) ?>
@@ -44,10 +50,10 @@
= esc($item->tirada_min) ?>
- = esc($item->precio_min) ?>
+ = esc($item->tirada_max) ?>
- = esc($item->tirada_max) ?>
+ = esc($item->precio_min) ?>
= esc($item->precio_max) ?>
@@ -61,6 +67,7 @@
= empty($item->formula_price) || strlen($item->formula_price) < 51 ? esc($item->formula_price) : character_limiter(esc($item->formula_price), 50) ?>
+
= esc($item->user_created_id) ?>
@@ -73,6 +80,7 @@
= empty($item->updated_at) ? '' : date('d/m/Y H:m:s', strtotime($item->updated_at)) ?>
+ */ ?>
=anchor(route_to('editTarifamanipulado', $item->id), lang('Basic.global.edit'), ['class'=>'btn btn-sm btn-warning btn-edit me-1', 'data-id'=>$item->id,]); ?>
=anchor('#confirm2delete', lang('Basic.global.Delete'), ['class'=>'btn btn-sm btn-danger btn-delete ms-1', 'data-href'=>route_to('deleteTarifamanipulado', $item->id), 'data-bs-toggle'=>'modal', 'data-bs-target'=>'#confirm2delete']); ?>
@@ -136,7 +144,7 @@
"scrollX": true,
"stateSave": true,
"language": {
- url: "/assets/dt/= config('Basics')->languages[$currentLocale] ?? config('Basics')->i18n ?>.json"
+ url: "//cdn.datatables.net/plug-ins/1.13.4/i18n/= config('Basics')->i18n ?>.json"
},
"columnDefs": [
{
diff --git a/ci4/app/Views/themes/backend/vuexy/form/tarifas/preimpresion/_tarifapreimpresionFormItems.php b/ci4/app/Views/themes/backend/vuexy/form/tarifas/preimpresion/_tarifapreimpresionFormItems.php
index 94ef4d53..1b02eb61 100644
--- a/ci4/app/Views/themes/backend/vuexy/form/tarifas/preimpresion/_tarifapreimpresionFormItems.php
+++ b/ci4/app/Views/themes/backend/vuexy/form/tarifas/preimpresion/_tarifapreimpresionFormItems.php
@@ -13,7 +13,7 @@
-
+
=lang('Tarifapreimpresion.userCreatedId') ?>*
@@ -27,7 +27,7 @@
-
+ */ ?>
\ No newline at end of file
diff --git a/ci4/app/Views/themes/backend/vuexy/form/tarifas/preimpresion/viewTarifapreimpresionList.php b/ci4/app/Views/themes/backend/vuexy/form/tarifas/preimpresion/viewTarifapreimpresionList.php
index 845df211..90483867 100644
--- a/ci4/app/Views/themes/backend/vuexy/form/tarifas/preimpresion/viewTarifapreimpresionList.php
+++ b/ci4/app/Views/themes/backend/vuexy/form/tarifas/preimpresion/viewTarifapreimpresionList.php
@@ -15,28 +15,35 @@
+ = lang('Tarifapreimpresion.id') ?>
+ */ ?>
= lang('Tarifapreimpresion.nombre') ?>
= lang('Tarifapreimpresion.precio') ?>
+ = lang('Tarifapreimpresion.userCreatedId') ?>
= lang('Tarifapreimpresion.userUpdateId') ?>
= lang('Tarifapreimpresion.createdAt') ?>
= lang('Tarifapreimpresion.updatedAt') ?>
+ */ ?>
= lang('Basic.global.Action') ?>
+
=$item->id ?>
+ */ ?>
= empty($item->nombre) || strlen($item->nombre) < 51 ? esc($item->nombre) : character_limiter(esc($item->nombre), 50) ?>
= esc($item->precio) ?>
+
= esc($item->user_created_id) ?>
@@ -49,6 +56,7 @@
= empty($item->updated_at) ? '' : date('d/m/Y H:m:s', strtotime($item->updated_at)) ?>
+ */ ?>
=anchor(route_to('editTarifapreimpresion', $item->id), lang('Basic.global.edit'), ['class'=>'btn btn-sm btn-warning btn-edit me-1', 'data-id'=>$item->id,]); ?>
=anchor('#confirm2delete', lang('Basic.global.Delete'), ['class'=>'btn btn-sm btn-danger btn-delete ms-1', 'data-href'=>route_to('deleteTarifapreimpresion', $item->id), 'data-bs-toggle'=>'modal', 'data-bs-target'=>'#confirm2delete']); ?>
@@ -111,7 +119,7 @@
"scrollX": true,
"stateSave": true,
"language": {
- url: "/assets/dt/= config('Basics')->languages[$currentLocale] ?? config('Basics')->i18n ?>.json"
+ url: "//cdn.datatables.net/plug-ins/1.13.4/i18n/= config('Basics')->i18n ?>.json"
},
"columnDefs": [
{
diff --git a/from mac to app.txt b/from mac to app.txt
new file mode 100644
index 00000000..ac7755ca
--- /dev/null
+++ b/from mac to app.txt
@@ -0,0 +1,53 @@
+Pasos para usar ficheros del mac
+1.- Copiar controlador, modelo, vistas y entidad
+2.- Copiar los ficheros de idioma. Le pone nombre raro (por ejemplo: Manipuladoes.php en lugar de Tarifamanipulado.php). Buscar y reemplazar en todos los ficheros. En este ejemplo: lang('Manipuladoes -> lang('Tarifamanipulado)
+3.- Editar los idiomas
+4.- En las vistas (formulario y lista) cambiar la segunda linea
+ Esto: = $this->extend("Themes/" . config("Basics")->theme["name"] . "/AdminLayout/defaultLayout") ?>
+ por esto: =$this->extend('themes/backend/vuexy/main/defaultlayout') ?>
+5.- En las vistas cambiar Themes por themes
+6.- Quitar de la tabla la primera columna para que no se repitan los botones. Es decir:
+ = lang('Basic.global.Action') ?>
+
+
+ =anchor(route_to('editTarifamanipulado', $item->id), lang('Basic.global.edit'), ['class'=>'btn btn-sm btn-warning btn-edit me-1', 'data-id'=>$item->id,]); ?>
+ =anchor('#confirm2delete', lang('Basic.global.Delete'), ['class'=>'btn btn-sm btn-danger btn-delete ms-1', 'data-href'=>route_to('deleteTarifamanipulado', $item->id), 'data-bs-toggle'=>'modal', 'data-bs-target'=>'#confirm2delete']); ?>
+
+
+7.- Modificar las fechas de esto: date('mm/dd/YYYY H:i' a esto date('d/m/Y H:m:s'
+8.- Cambiar los botones de exportar de sitio: "dom": 'lfrtipB' por "dom": 'lfBrtip'
+9.- Poner el botón de añadir debajo del h3 del card header en lugar del footer
+10.- Copiar las nuevas rutas
+
+
+
+
+
+
+
+Pasos para añadir el soft delete a una tabla
+1.- En la bbdd añadir la columna is_deleted (TINYINT, 4 bits, sin signo, valor predeterminado '0')
+2.- En la bbdd añadir la columna deleted_at (TIMESTAMP, permitir NULL, valor predeterminado NULL)
+3.- En la entidad añadir a los atributos:
+ "deleted_at" => null,
+ "is_deleted" => 0,
+4.- En el modelo. Añadir en allowedFields:
+ "deleted_at",
+ "is_deleted",
+ También añadir la variable protected $deletedField = 'deleted_at';
+5.- En el controlador:
+ En el index añadir debajo de $this->view..
+ // Se indica que este controlador trabaja con soft_delete
+ $this->soft_delete = true;
+ // Se indica el flag para los ficheros borrados
+ $this->delete_flag = 1;
+ En el edit: justo al principio
+ // JJO
+ $session = session();
+
+ debajo de $sanitizedData = $this->sanitized($postData, $nullIfEmpty);
+
+ // JJO
+ if(isset($this->model->user_update_id)){
+ $sanitizedData['user_update_id'] = $session->id_user;
+ }
\ No newline at end of file