trabajando en tarifas (listas, formularios)

This commit is contained in:
Jaime Jiménez
2023-05-17 19:14:00 +02:00
parent 5c5cd77bc2
commit 39598b697d
5 changed files with 83 additions and 129 deletions

View File

@ -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_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'
@ -323,14 +346,18 @@ abstract class GoBaseController extends Controller {
if (!isset($error)) :
try {
if ($deletePermanently && !$isDelete) :
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 ($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:
$rawResult = $this->primaryModel->update($id, ['deleted' => true]);