GetLegalAccessibleActionDefNames

설명

액세스 제어 후크가 정의되어 있을 경우, 사용자에게 적합하고 실행할 수도 있는 제공된 레코드(Entity 오브젝트)에 대해 액세스 가능한 조치 목록을 리턴합니다.

이 메소드에서 리턴된 목록에는 현재 사용자가 현재 상태에서 Entity 오브젝트에 대해 수행할 수 있는 조치만이 포함되어 있습니다. Session 오브젝트의 EditEntity 메소드를 호출하기 전에 이 메소드를 사용하여 사용자가 레코드에 대해 적절하게 수행할 수 있는 조치를 판별할 수 있습니다.

리턴된 목록은 상태를 기본으로 허용되는 조치만 나열하며 사용자가 수행할 권한을 갖고 있는 조치로 제한됩니다.

이 메소드는 GetLegalActionDefNames과 유사하나 액세스 제어 후크에 대해 적절한 각 조치를 점검하고 사용자가 액세스 제어를 패스하는지 여부를 판별하여 사용자에게 조치를 수행할 권한이 있는지 여부도 판별합니다. 액세스 제어가 사용자를 차단할 경우, 리턴된 조치 목록에 있는 사용자에게 조치가 리턴되지 않습니다.

후크 내에서 이 메소드를 호출할 경우, 사용자는 항상 현재 레코드 상태에 적절한 조치를 실행할 권한을 갖습니다.

참고: 이 메소드는 버전 7.0.0.0부터 사용 가능해졌습니다.

구문

VBScript

entity.GetLegalAccessibleActionDefNames 

Perl

$entity->GetLegalAccessibleActionDefNames(); 
ID
설명
entity
사용자 데이터 레코드를 나타내는 Entity 오브젝트입니다. 후크 내에서 구문에 이 부분을 생략할 경우, Entity 오브젝트가 현재 데이터 레코드에 해당한다고 가정합니다(VBScript에만 해당).
Return value
Visual Basic의 경우 문자열 배열이 포함된 Variant를 리턴합니다. 각 문자열은 적절한 조치의 이름을 포함합니다. Entity 오브젝트에 대해 어떠한 조치도 수행할 수 없는 경우, 빈 Variant 값이 리턴됩니다.

Perl의 경우 문자열 배열에 대한 참조가 리턴됩니다.

예제

VBScript

Dim EntityObj As OAdEntity
Set sessionObj = GetSession
Set EntityObj = sessionObj.GetEntity("Defect", "SAMPL00000001")
entityDefName = EntityObj.GetEntityDefName
Set entityDefObj = sessionObj.GetEntityDef(entityDefName)

' Get the legal accessible actions 
actionDefList = EntityObj.GetLegalAccessibleActionDefNames 

If IsArray(actionDefList) Then 
For Each actionDef in actionDefList 
        msg2 = msg2 & " " & actionDef
    Next
   End If 
MsgBox "Legal accessible actions are: " & msg2

Perl

$sessionobj = $entity->GetSession(); 

$entitydefname = $entity->GetEntityDefName();

$entitydefobj = $sessionobj->GetEntityDef($entitydefname);

# Search for a legal action with which to modify the record 

$actiondeflist = $entity->GetLegalAccessibleActionDefNames();

foreach $actionname(@$actiondeflist)
   {
 $actiondeftype = $entitydefobj->GetActionDefType($actionname);

 if ($actiondeftype eq $CQPerlExt::CQ_MODIFY)

  {

  $sessionobj->EditEntity($entity,$actionname);

  }

 } 

피드백