Specifica se l'hook corrente visualizza tutti gli utenti o solo gli utenti che l'utente corrente può visualizzare.
Consente agli sviluppatori di schemi di controllare la visibilità hook per gli utenti 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 gli utenti quando esegue una query. Il valore False (0) indica che l'hook corrente visualizza solo gli utenti per cui l'utente corrente è autorizzato (in base al reale privilegio utente dell'utente per la sessione) quando esegue una query. 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).
$session->SetHookSeesAllUsers(0);
$session->SetHookSeesAllUsers(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 le pagine di riferimento CLI per informazioni relative ai comandi CLI.
sub AssignedTo_ChoiceList {
my($fieldname) = @_;
my @choices;
my $session = $entity->GetSession();
$session->SetHookSeesAllUsers(0);
my $queryDefObj = $session->BuildQuery("users");
$queryDefObj->BuildField("login_name");
my $resultSetObj = $session->BuildResultSet($queryDefObj);
$resultSetObj->Execute();
while ($resultSetObj->MoveNext() == $CQPerlExt::CQ_SUCCESS) {
push(@choices,$resultSetObj->GetColumnValue(1));
}
return @choices;
}
VBScript
user_restr = session.SetHookSeesAllUsers set_vis
Perl
session->SetHookSeesAllUsers(set_vis);
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 curHooksSeesAllUsers
' Store current session "Context"
curHookSeesAllUsers = session.GetHookSeesAllUsers()
' set session context to "User Context"
session.SetHookSeesAllUsers(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.SetHookSeesAllUsers( curHookSeesAllUsers )
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
# start building a query of the users
my $session = $entity->GetSession();
my ($curHooksSeesAllUsers);
# store current "Context"
$curHooksSeesAllUsers=$session->GetHookSeesAllUsers();
# set to "User Context"
$session->SetHookSeesAllUsers(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->SetHookSeesAllUsers($curHooksSeesAllUsers);
return @choices;
}