function conf__elementos() { $datos = $this->dependencia('datos')->tabla('dimension')->get(); $id = explode(',', $datos['col_id']); $desc = explode(',', $datos['col_desc']); $sql = 'SELECT ' . implode(" || ' - ' || ", $id) . ' as clave, ' . implode(' || ', $desc) . " as descripcion\n\t\t\t\tFROM {$datos['tabla']}\n\t\t\t\tORDER BY descripcion"; $datos = toba_editor::db_proyecto_cargado($datos['fuente_datos'])->consultar($sql); return $datos; }
function evt__form_auditoria__crear_auditoria() { $instalacion = toba_modelo_catalogo::instanciacion()->get_instalacion(); $instancia = toba_editor::get_id_instancia_activa(); $proyecto_cargado = toba_editor::get_proyecto_cargado(); $id_base = "{$instancia} {$proyecto_cargado} {$this->s__nombre_fuente}"; if (!$instalacion->existe_base_datos_definida($id_base)) { throw new toba_error('Debe definir los parámetros de conexión'); } $parametros = $instalacion->get_parametros_base($id_base); if (!isset($parametros['schema'])) { $schema = 'public'; } else { $schema = $parametros['schema']; } $schema_auditoria = $schema . '_auditoria'; //Creo el objeto para asignar los roles correctos a las tablas de auditoria $modelo_proyecto = toba_modelo_catalogo::instanciacion()->get_proyecto($instancia, $proyecto_cargado); $db = toba_editor::db_proyecto_cargado($this->s__nombre_fuente); //, $proyecto_cargado); try { $auditoria = $db->get_manejador_auditoria($schema, $schema_auditoria); if (is_null($auditoria)) { throw toba_error_db('No existe manejador de auditoria para este motor de bd'); } $auditoria->agregar_tablas(); ///Agrego todas las tablas if (!$auditoria->existe()) { $auditoria->crear(); } else { $auditoria->migrar(); } $modelo_proyecto->generar_roles_db(); } catch (toba_error $e) { throw $e; } toba::notificacion()->agregar('Esquema creado satisfactoriamente', 'info'); $this->dependencia('datos')->tabla('fuente')->set_columna_valor('tiene_auditoria', '1'); return true; }