12345678910111213141516171819202122 |
-
- DECLARE
- groups int[];
- g INT;
- BEGIN
- SELECT "value" INTO val FROM luticate_permissions_users WHERE "user_id" = _user_id AND "name" = _permisson_name;
- IF val is null THEN
- SELECT lpg."value" into val FROM luticate_permissions_groups lpg
- INNER JOIN luticate_groups lg ON lg."id" = lpg."group_id"
- INNER JOIN luticate_users_groups lug ON lug."user_id" = _user_id AND lug."group_id" = lg."id"
- WHERE lpg."name" = _permisson_name and lpg."value" = FALSE;
- IF val is null then
- SELECT lpg."value" into val FROM luticate_permissions_groups lpg
- INNER JOIN luticate_groups lg ON lg."id" = lpg."group_id"
- INNER JOIN luticate_users_groups lug ON lug."user_id" = _user_id AND lug."group_id" = lg."id"
- WHERE lpg."name" = _permisson_name and lpg."value" = TRUE;
- IF val is null then
- SELECT "value" INTO val FROM luticate_permissions WHERE "name" = _permisson_name;
- END IF;
- end if;
- END IF;
- END;
|