SetHookSeesAllRecords

Descrizione

Specifica se l'hook corrente visualizza tutti i record o solo i record che l'utente corrente può visualizzare.

Consente agli sviluppatori di schemi di controllare la visibilità hook per i record su un hook in base all'hook. La funzione di impostazione specifica la visibilità solo per la durata dell'hook in esecuzione correntemente.

L'impostazione del metodo su True (1) specifica che l'hook corrente visualizza tutti i record quando esegue una query. Il valore False (0) indica che l'hook corrente visualizza solo i record per cui l'utente corrente è autorizzato (in base al reale privilegio utente dell'utente per la sessione) quando esegue una query.

Ad esempio, se il funzionamento predefinito per l'hook è di non visualizzare tutti i record, la riga seguente
  • non ha alcun effetto
    $session->SetHookSeesAllRecords(0);
  • garantisce che l'hook visualizzi tutti i record
    $session->SetHookSeesAllRecords(1);

Le proprietà HOOKS_SEE_ALL_USERS e HOOKS_SEE_ALL_RECORDS del database principale consentono agli sviluppatori di schemi di configurare la visibilità predefinita per tutti gli hook nei relativi database. Per i livelli funzione 5 e 6, il valore predefinito per queste proprietà è True (1). Per il livello funzione 7, i valori predefiniti sono False (0). Consultare Rational ClearQuest Command Reference per le informazioni sui comandi CLI.

Nota: questo metodo è stato reso disponibile nella versione 7.1.

Sintassi

VBScript

user_restr = session.SetHookSeesAllRecords set_vis 

Perl

session->SetHookSeesAllRecords(set_vis); 
Identificativo
Descrizione
session
L'oggetto Session che rappresenta la sessione di accesso al database corrente.
set_vis
Un valore booleano che specifica se l'hook corrente visualizza tutti i record o solo i record che l'utente corrente può visualizzare. Il valore True specifica che l'hook corrente visualizza tutti i record quando esegue una query di record. Il valore False specifica che l'hook corrente può visualizzare solo i record per cui l'utente corrente è autorizzato quando esegue una query di record.
Valore di ritorno
Nessuno.

Esempi

VBScript

sub project_ChoiceList(fieldname, choices)
  ' fieldname As String
  ' choices As Object
  ' record type name is Defect
  ' field name is project

set session = GetSession
dim curHookSeesAllRecords

' Store current session "Context"
curHookSeesAllRecords = session.GetHookSeesAllRecords()

' set session context to "User Context"
session.SetHookSeesAllRecords(0)

set querydef = session.BuildQuery("project") 
querydef.BuildField("name") 
set resultset = session.BuildResultSet(querydef)
resultset.Execute 

status =resultset.MoveNext
Do While status = AD_SUCCESS 
   choices.AddItem resultSetObj.GetColumnValue(1) 
Loop 

' revert to original session "Context"
session.SetHookSeesAllRecords( curHookSeesAllRecords )

End Sub

Perl

sub project_ChoiceList 
{
    my($fieldname) = @_;
    my @choices;
    # $fieldname as string scalar
    # @choices as string array
    # record type name is Defect
    # field name is Project

    my $session = $entity->GetSession();
    my ($curHookSessAllRecords);

# store current "Context"
    $curHookSessAllRecords=$session->GetHookSeesAllRecords();

# set to "User Context"
    $session->SetHookSeesAllRecords(0);

    my ($queryDefObj, $resultSetObj);

    $queryDefObj = $session->BuildQuery("Project");

    # have the query return the desired
    # field of the user object(s)
    $queryDefObj->BuildField("Name");
    $resultSetObj = $session->BuildResultSet($queryDefObj);

    # run it
    $resultSetObj->Execute();

    # add each value in the returned column to the choicelist
    while ($resultSetObj->MoveNext() == $CQPerlExt::CQ_SUCCESS) {
         push(@choices,$resultSetObj->GetColumnValue(1));
    }

# revert to original session "Context"
    $session->SetHookSeesAllRecords($curHookSessAllRecords);

    return @choices;
}

Feedback