현재 후크가 모든 사용자를 볼 수 있는지 아니면 현재 사용자가 볼 수 있도록 허용된 사용자만 볼 수 있는지를 지정합니다.
스키마 개발자가 후크 단위별로 후크에서 사용자에 대해 후크 가시성을 제어할 수 있도록 허용합니다. Set 함수는 현재 실행 중인 후크의 지속 기간에 대해서만 가시성을 지정합니다.
메소드를 True (1)로 설정하면 조회가 실행될 때 현재 후크가 모든 사용자를 볼 수 있도록 지정됩니다. 값이 False (0)이면 조회가 실행될 때 현재 후크는 현재 사용자가 볼 수 있도록 허용된 사용자(세션에서 사용자의 실제 사용자 권한에 따라)만 볼 수 있습니다. 기능 레벨 5 및 6의 경우 이러한 특성의 기본값은 True (1)입니다. 기능 레벨 7의 경우 기본값은 False (0)입니다.
$session->SetHookSeesAllUsers(0);
$session->SetHookSeesAllUsers(1);
HOOKS_SEE_ALL_USERS 및 HOOKS_SEE_ALL_RECORDS 마스터 데이터베이스 특성으로 스키마 개발자는 데이터베이스에 있는 모든 후크에 대한 기본 가시성을 구성할 수 있습니다. 기능 레벨 5 및 6의 경우 이러한 특성의 기본값은 True (1)입니다. 기능 레벨 7의 경우 기본값은 False (0)입니다. CLI 명령에 대한 정보는 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; }