egdb3_12_9
.permission
Tables
(current)
Columns
Constraints
Relationships
Orphan Tables
Anomalies
Routines
usr_has_object_perm(iuser integer, tperm text, obj_type text, obj_id text, target_ou integer)
Parameters
Name
Type
Mode
iuser
integer
IN
tperm
text
IN
obj_type
text
IN
obj_id
text
IN
target_ou
integer
IN
Definition
DECLARE r_usr actor.usr%ROWTYPE; res BOOL; BEGIN SELECT * INTO r_usr FROM actor.usr WHERE id = iuser; IF r_usr.active = FALSE THEN RETURN FALSE; END IF; IF r_usr.super_user = TRUE THEN RETURN TRUE; END IF; SELECT TRUE INTO res FROM permission.usr_object_perm_map WHERE usr = r_usr.id AND object_type = obj_type AND object_id = obj_id; IF FOUND THEN RETURN TRUE; END IF; IF target_ou > -1 THEN RETURN permission.usr_has_perm( iuser, tperm, target_ou); END IF; RETURN FALSE; END;