Utilice los enganches de permiso para definir el comportamiento de un campo en tiempo de ejecución. Por lo general, el comportamiento del campo se define utilizando la cuadrícula Comportamientos de Designer. Los valores que entre se aplican por igual a todos los miembros de un grupo de usuarios. Con un permiso de enganche, puede especificar el comportamiento de un campo con más precisión. En el ejemplo siguiente, si el usuario actual pertenece al grupo managers (gestores) y no pertenece al grupo engineering (ingeniería), este enganche convierte el campo en opcional. Si el usuario no está, como mínimo, en un grupo, el enganche da error.
Function field1_Permission(fieldname, username)
' fieldname As String
' username As String
' field_Permission As Long
' entityDef = defect
' Assign the default return value
field1_Permission = AD_MANDATORY
set curSession = GetSession
userGroups = curSession.GetUserGroups()
for each group in userGroups
if group = "managers" And group <> "engineers" Then
field1_Permission = AD_OPTIONAL
End If
Next
End Function
sub field1_Permission {
my($fieldname, $username) = @_;
my $result;
# $fieldname as string scalar
# $username as string scalar
# $result as long scalar
# entityDef is Defect
# Assign the default return value
$result = $CQPerlExt::CQ_MANDATORY;
$curSession = $entity->GetSession();
$userGroups = $curSession->GetUserGroups();
foreach $group (@$userGroups) {
if ($group eq "managers" && $group ne "engineers") {
$result = $CQPerlExt::CQ_OPTIONAL;
}
}
return $result;
}