/** * Método para eliminar */ public function eliminar($key) { if (!($id = Security::getKey($key, 'eliminar_recurso', 'int'))) { return Redirect::toAction('listar'); } $recurso = new Recurso(); if (!$recurso->find_first($id)) { Flash::error('Lo sentimos, no se ha podido establecer la información del recurso'); return Redirect::toAction('listar'); } try { if ($recurso->delete()) { Flash::valid('El recurso se ha eliminado correctamente!'); } else { Flash::warning('Lo sentimos, pero este recurso no se puede eliminar.'); } } catch (KumbiaException $e) { Flash::error('Este recurso no se puede eliminar porque se encuentra relacionado con otro registro.'); } return Redirect::toAction('listar'); }
/** * Método para eliminar */ public function eliminar($key) { if (!($id = DwSecurity::isValidKey($key, 'eliminar_recurso', 'int'))) { return DwRedirect::toAction('listar'); } $recurso = new Recurso(); if (!$recurso->find_first($id)) { DwMessage::get('id_no_found'); return DwRedirect::toAction('listar'); } try { if ($recurso->delete()) { DwMessage::valid('El recurso se ha eliminado correctamente!'); } else { DwMessage::warning('Lo sentimos, pero este recurso no se puede eliminar.'); } } catch (KumbiaException $e) { DwMessage::error('Este recurso no se puede eliminar porque se encuentra relacionado con otro registro.'); } return DwRedirect::toAction('listar'); }
/** * Método para crear/modificar un objeto de base de datos * * @param string $medthod: create, update * @param array $data: Data para autocargar el modelo * @param array $optData: Data adicional para autocargar * * return object ActiveRecord */ public static function setRecurso($method, $data, $optData = null) { $obj = new Recurso($data); //Se carga los datos con los de las tablas if ($optData) { //Se carga información adicional al objeto $obj->dump_result_self($optData); } //Verifico que no exista otro recurso, y si se encuentra inactivo lo active $conditions = empty($obj->id) ? "modulo='{$obj->modulo}' AND controlador='{$obj->controlador}' AND accion='{$obj->accion}'" : "modulo='{$obj->modulo}' AND controlador='{$obj->controlador}' AND accion='{$obj->accion}' AND id != '{$obj->id}'"; $old = new Recurso(); if ($old->find_first($conditions)) { if ($method == 'create' && $old->activo != Recurso::ACTIVO) { $obj->id = $old->id; $obj->activo = Recurso::ACTIVO; $method = 'update'; } else { MkcMessage::info('Ya existe un recurso registrado bajo esos parámetros.'); return FALSE; } } return $obj->{$method}() ? $obj : FALSE; }