GetSet_group_role

Internφ programovacφ jazykC/C++Pascal

function GetSet_group_role(user_or_group, group_or_role : tobjnum; subject2 : integer; operation : integer, var relation : integer) : Boolean;
BOOL [cd_]GetSet_group_role([cdp_t cdp], tobjnum user_or_group, tobjnum group_or_role, tcateg subject2, t_oper operation, uns32 * relation);
function [cd_]GetSet_group_role([cdp : cdp_t]; user_or_group, group_or_role : tobjnum; subject2 : tcateg; operation : t_oper, var relation : uns32) : Boolean;

Parametry

user_or_group Φφslo u₧ivatele nebo skupiny
group_or_role Φφslo skupiny nebo role
subject2 udßvß v²znam parametru group_or_role, nab²vß hodnot CATEG_GROUP nebo CATEG_ROLE
operation - konstanta OPER_SET (za°azenφ / vy°azenφ)
  - konstanta OPER_GET (zjiÜt∞nφ stavu)
relation - 1= za°adφ / za°azeno
  - 0=vy°adφ / vy°azeno
[cdp kontextovß prom∞nnß klienta]

Od verze:

5.0

Popis

Je-li operation rovno OPER_SET, funkce GetSet_group_role za°azuje (relation =1) nebo vy°azuje (relation = 0) u₧ivatele nebo skupinu user_or_group do/ze skupiny nebo role group_or_role.

Pro operation rovno OPER_GET funkce GetSet_group_role zjiÜ¥uje stav nalezenφ u₧ivatele nebo skupiny user_or_group ve skupin∞ nebo roli group_or_role a vracφ hodnotu ve v²stupnφm parametru relation. (relation =1 za°azeno a relation = 0 vy°azeno).

╚φslo subjektu prßv vrßtφ funkce Find_object.

Za°azovat u₧ivatele do skupiny smφ pouze sprßvce databßze. Obsazovat u₧ivatele nebo skupinu do role smφ sprßvce databßze nebo sprßvce aplikace. Jinak dojde k chyb∞ NO_RIGHT (Nemßte prßvo provΘst tuto akci).

Funkce nahrazuje starÜφ funkce User_in_group a User_to_group.

Hodnota funkce

Funkce vracφ TRUE p°i chyb∞.

P°φklad

if Create_user(uzivname,'','','','',bb,'',usernum) then Signalize;
if Find_object('Senior_user',CATEG_ROLE,rolenum) then begin  
  Info_box('Nelze','Role SENIOR_USER byla zruÜena. Nelze nastavit prßva.');
  halt;                         // zastavφ se vno°en² b∞h
end;  
stav := 1;
if GetSet_group_role(usernum,rolenum, CATEG_ROLE,OPER_SET,stav) then Signalize;

Viz