function crear_usuario_para_auditoria($db) { if ($this->definicion['tiene_auditoria'] == '1') { $usuario = toba::usuario()->get_id(); if (!isset($usuario)) { $usuario = 'publico'; } $id_solicitud = $db->quote(toba::instancia()->get_id_solicitud()); $usuario = $db->quote($usuario); $sql = 'CREATE TEMP TABLE tt_usuario ( usuario VARCHAR(60), id_solicitud INTEGER);'; if (isset($this->definicion['permisos_por_tabla']) && $this->definicion['permisos_por_tabla'] == '1') { $id_operacion = toba::memoria()->get_item_solicitado(); $rol_runtime = toba_modelo_proyecto::get_rol_prueba_db_basico($this->definicion['fuente_datos']); //Obtengo el rol basico de prueba $rol_operacion = toba_modelo_proyecto::get_rol_prueba_db($this->definicion['fuente_datos'], $id_operacion['1']); //Obtengo el particular para la operacion if ($db->existe_rol($rol_operacion)) { //Si existe el rol para la operacion entonces lo seteo como el apropiado $rol_runtime = $rol_operacion; } $sql .= "GRANT SELECT, INSERT ON tt_usuario TO {$rol_runtime} ;"; } $sql .= "INSERT INTO tt_usuario (usuario, id_solicitud) VALUES ({$usuario}, {$id_solicitud})"; $db->ejecutar($sql); } }