mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
trabajando en tarifas (listas, formularios)
This commit is contained in:
@ -103,6 +103,24 @@ abstract class GoBaseController extends Controller {
|
|||||||
*/
|
*/
|
||||||
public $viewData;
|
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;
|
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'])) {
|
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_deletedadad', 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'
|
// if $this->currentView is assigned a view name, use it, otherwise assume the view something like 'viewSingleObjectList'
|
||||||
@ -323,14 +346,18 @@ abstract class GoBaseController extends Controller {
|
|||||||
|
|
||||||
if (!isset($error)) :
|
if (!isset($error)) :
|
||||||
try {
|
try {
|
||||||
if ($deletePermanently && !$isDelete) :
|
if ($deletePermanently && !$this->soft_delete) :
|
||||||
if (is_numeric($id)) :
|
if (is_numeric($id)) :
|
||||||
$rawResult = $this->primaryModel->delete($id);
|
$rawResult = $this->primaryModel->delete($id);
|
||||||
else:
|
else:
|
||||||
$rawResult = $this->primaryModel->where($this->primaryModel->getPrimaryKeyName(), $id)->delete();
|
$rawResult = $this->primaryModel->where($this->primaryModel->getPrimaryKeyName(), $id)->delete();
|
||||||
endif;
|
endif;
|
||||||
elseif ($isDelete):
|
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:
|
else:
|
||||||
$rawResult = $this->primaryModel->update($id, ['deleted' => true]);
|
$rawResult = $this->primaryModel->update($id, ['deleted' => true]);
|
||||||
|
|||||||
@ -21,7 +21,10 @@ class Tarifaacabado extends \App\Controllers\GoBaseController {
|
|||||||
|
|
||||||
public function initController(\CodeIgniter\HTTP\RequestInterface $request, \CodeIgniter\HTTP\ResponseInterface $response, \Psr\Log\LoggerInterface $logger) {
|
public function initController(\CodeIgniter\HTTP\RequestInterface $request, \CodeIgniter\HTTP\ResponseInterface $response, \Psr\Log\LoggerInterface $logger) {
|
||||||
$this->viewData['pageTitle'] = lang('Tarifaacabado.moduleTitle');
|
$this->viewData['pageTitle'] = lang('Tarifaacabado.moduleTitle');
|
||||||
$this->isDelete = true;
|
// 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);
|
parent::initController($request, $response, $logger);
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -226,80 +229,4 @@ class Tarifaacabado extends \App\Controllers\GoBaseController {
|
|||||||
return $this->failUnauthorized('Invalid request', 403);
|
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;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -17,6 +17,7 @@ class TarifaacabadoEntity extends Entity
|
|||||||
"user_created_id" => 1,
|
"user_created_id" => 1,
|
||||||
"user_update_id" => 1,
|
"user_update_id" => 1,
|
||||||
"deleted_at" => null,
|
"deleted_at" => null,
|
||||||
|
"is_deleted" => 0,
|
||||||
"created_at" => null,
|
"created_at" => null,
|
||||||
"updated_at" => null,
|
"updated_at" => null,
|
||||||
];
|
];
|
||||||
|
|||||||
@ -26,6 +26,7 @@ class TarifaacabadoModel extends \App\Models\GoBaseModel
|
|||||||
"ajuste",
|
"ajuste",
|
||||||
"formula_price",
|
"formula_price",
|
||||||
"deleted_at",
|
"deleted_at",
|
||||||
|
"is_deleted",
|
||||||
"user_created_id",
|
"user_created_id",
|
||||||
"user_update_id",
|
"user_update_id",
|
||||||
];
|
];
|
||||||
|
|||||||
@ -34,53 +34,51 @@
|
|||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<?php foreach ($tarifaacabadoList as $item ) : ?>
|
<?php foreach ($tarifaacabadoList as $item ) : ?>
|
||||||
<?php if(empty($item->deleted_at)): ?>
|
<tr>
|
||||||
<tr>
|
<td class="align-middle text-center">
|
||||||
<td class="align-middle text-center">
|
<?=$item->id ?>
|
||||||
<?=$item->id ?>
|
</td>
|
||||||
</td>
|
<td class="align-middle">
|
||||||
<td class="align-middle">
|
<?= empty($item->nombre) || strlen($item->nombre) < 51 ? esc($item->nombre) : character_limiter(esc($item->nombre), 50) ?>
|
||||||
<?= empty($item->nombre) || strlen($item->nombre) < 51 ? esc($item->nombre) : character_limiter(esc($item->nombre), 50) ?>
|
</td>
|
||||||
</td>
|
<td class="align-middle">
|
||||||
<td class="align-middle">
|
<?= esc($item->tirada_min) ?>
|
||||||
<?= esc($item->tirada_min) ?>
|
</td>
|
||||||
</td>
|
<td class="align-middle">
|
||||||
<td class="align-middle">
|
<?= esc($item->precio_min) ?>
|
||||||
<?= esc($item->precio_min) ?>
|
</td>
|
||||||
</td>
|
<td class="align-middle">
|
||||||
<td class="align-middle">
|
<?= esc($item->tirada_max) ?>
|
||||||
<?= esc($item->tirada_max) ?>
|
</td>
|
||||||
</td>
|
<td class="align-middle">
|
||||||
<td class="align-middle">
|
<?= esc($item->precio_max) ?>
|
||||||
<?= esc($item->precio_max) ?>
|
</td>
|
||||||
</td>
|
<td class="align-middle">
|
||||||
<td class="align-middle">
|
<?= esc($item->ajuste) ?>
|
||||||
<?= esc($item->ajuste) ?>
|
</td>
|
||||||
</td>
|
<td class="align-middle">
|
||||||
<td class="align-middle">
|
<?= empty($item->formula_price) || strlen($item->formula_price) < 51 ? esc($item->formula_price) : character_limiter(esc($item->formula_price), 50) ?>
|
||||||
<?= empty($item->formula_price) || strlen($item->formula_price) < 51 ? esc($item->formula_price) : character_limiter(esc($item->formula_price), 50) ?>
|
</td>
|
||||||
</td>
|
<td class="align-middle">
|
||||||
<td class="align-middle">
|
<?= esc($item->user_created_id) ?>
|
||||||
<?= esc($item->user_created_id) ?>
|
</td>
|
||||||
</td>
|
<td class="align-middle">
|
||||||
<td class="align-middle">
|
<?= esc($item->user_update_id) ?>
|
||||||
<?= esc($item->user_update_id) ?>
|
</td>
|
||||||
</td>
|
<td class="align-middle text-nowrap">
|
||||||
<td class="align-middle text-nowrap">
|
<?= empty($item->deleted_at) ? '' : date('d/m/Y H:m:s', strtotime($item->deleted_at)) ?>
|
||||||
<?= empty($item->deleted_at) ? '' : date('d/m/Y H:m:s', strtotime($item->deleted_at)) ?>
|
</td>
|
||||||
</td>
|
<td class="align-middle text-nowrap">
|
||||||
<td class="align-middle text-nowrap">
|
<?= empty($item->created_at) ? '' : date('d/m/Y H:m:s', strtotime($item->created_at)) ?>
|
||||||
<?= empty($item->created_at) ? '' : date('d/m/Y H:m:s', strtotime($item->created_at)) ?>
|
</td>
|
||||||
</td>
|
<td class="align-middle text-nowrap">
|
||||||
<td class="align-middle text-nowrap">
|
<?= empty($item->updated_at) ? '' : date('d/m/Y H:m:s', strtotime($item->updated_at)) ?>
|
||||||
<?= empty($item->updated_at) ? '' : date('d/m/Y H:m:s', strtotime($item->updated_at)) ?>
|
</td>
|
||||||
</td>
|
<td class="align-middle text-center text-nowrap">
|
||||||
<td class="align-middle text-center text-nowrap">
|
<?=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(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']); ?>
|
||||||
<?=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']); ?>
|
</td>
|
||||||
</td>
|
</tr>
|
||||||
</tr>
|
|
||||||
<?php endif; ?>
|
|
||||||
<?php endforeach; ?>
|
<?php endforeach; ?>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|||||||
Reference in New Issue
Block a user