Specifies whether the current hook sees all users or only the users that the current user is allowed to see.
Allows schema developers to control hook visibility for users on a hook by hook basis. The Set function specifies the visibility for the duration of the currently executing hook only.
Setting the method to True (1) specifies that the current hook sees all users when it executes a query. False (0) means the current hook only sees users the current user is allowed to see (based on the actual user privilege of the user for the session) when it executes a query. For Feature Levels 5 and 6, the default value for these properties is True (1). For Feature Level 7 the default values are False (0).
$session->SetHookSeesAllUsers(0);
$session->SetHookSeesAllUsers(1);
The HOOKS_SEE_ALL_USERS and HOOKS_SEE_ALL_RECORDS master database properties allow schema developers to configure the default visibility for all hooks in their database. For Feature Levels 5 and 6, the default value for these properties is True (1). For Feature Level 7 the default values are False (0). See the CLI reference pages for information on CLI commands.
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 ' le nom tu type d'enregistrement est 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 # le nom du type d'enregistrement est Défaut # 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; }