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