sub Defect_Initialization {
my($actionname, $actiontype) = @_;
# $actionname as string scalar
# $actiontype as long scalar
# la acción es LockRecord
# el nombre de tipo de registro es Defect
# Ponga aquí cualquier preparación para la acción
$entity->LockRecord(0);
}
sub Defect_LockRecord {
my($result);
my($param) = @_;
# el nombre de tipo de registro es Defect
$entity->LockRecord(0);
return $result;
}
Perl
sub Defect_Unlock {
my($result);
my($param) = @_;
# el nombre de tipo de registro es Defect
$result = "";
my $locked_by = $entity->GetLockOwner();
if ($locked_by ne "") {
my $do_unlock = $session->IsUserSuperUser();
if (! $do_unlock) {
# Si el usuario actual mantiene el bloqueo, que lo desbloquee.
my $username = $session->GetUserLoginName();
if ($username =~ /^$locked_by$/i) {
$do_unlock = 1;
}
}
if (! $do_unlock) {
# Opciones adicionales para "autorizar" el desbloqueo:
# 1) permitirlo si el usuario es miembro de un grupo "desbloquear"
# obtener los grupos del usuario, comprobar si es miembro
# 2) permitirlo para usuarios con privilegios, p. ej. Administrador de seguridad
# comprobar si la sesión tiene el privilegio escogido
# 3) muchas otras posibilidades
#
# if ( usuario-debe-poder-desbloquear-el-registro ) {
# $do_unlock = 1;
# }
}
if ($do_unlock) {
$entity->UnlockRecord();
}
else {
$result = "No tiene autorización para desbloquear este registro.";
}
}
return $result;
}
VBScript
Function Defect_Unlock(param)
' param como Variant
' el nombre de tipo de registro es Defect
REM añada aquí su código de enganche
Dim result
Dim session
Dim locked_by
' Obtenga la sesión
set session = GetSession
locked_by = GetLockOwner
if (locked_by <> "") then
Dim do_unlock
do_unlock = session.IsUserSuperUser
if (NOT do_unlock) then
' Si el usuario actual mantiene el bloqueo, que lo desbloquee.
Dim username
username = session.GetUserLoginName
if (username = locked_by) then
do_unlock = true
end if end if if (NOT do_unlock) then
' Opciones adicionales para "autorizar" el desbloqueo:
'
' 1) permitirlo si el usuario es miembro de un grupo "desbloquear"
' obtener los grupos del usuario, comprobar si es miembro
'
' 2) permitirlo para algunos usuarios con privilegios, p. ej. Administrador de seguridad
' comprobar si la sesión tiene el privilegio escogido
'
' 3) muchas otras posibilidades
end if if (do_unlock) then
UnlockRecord
else
result = "No tiene autorización para desbloquear este registro."
end if end ifEnd Function