function deleteAction() { $table = request()->getTable(); $id = request()->getId(); if (!is_null($table) && !is_null($id)) { $permission = $table . '_delete'; $auth = auth()->can($permission); if (true === $auth || true === $this->isAdmin) { $row = model($table)->find($id); if (empty($row)) { $this->forward('home'); } $infos = isAke($this->view->config['tables'], $table); $closure = isAke($infos, 'before_delete', false); if (false !== $closure && is_callable($closure)) { $closure(); } $crud = new c(model($table)); $status = $crud->delete($id); $closure = isAke($infos, 'after_delete', false); if (false !== $closure && is_callable($closure)) { $closure(); } if (true === $status) { $this->forward('list'); } else { $this->forward('error'); } } else { $this->forward('forbidden'); } } else { $this->forward('home'); } }