Как я могу отфильтровать данные в Apex Grid, чтобы показать определенные вещи для определенных групп пользователей? - PullRequest
1 голос
/ 31 октября 2011

У меня есть группа ADMIN и группа USER. Мои данные выглядят примерно так:

ID ---------- NAME --------- SECTOR
0001          John           A
0002          John           H
0024          John           A
0011          John           H
0045          John           A

Группа ADMIN должна видеть только A, а группа USER должна видеть только H. Как настроить вид сетки в Apex, чтобы отфильтровать его по авторизации / группам?

1 Ответ

1 голос
/ 31 октября 2011

Поскольку вы используете встроенные группы APEX, есть функция APEX_UTIL.GET_GROUPS_USER_BELONGS_TO , которая может вам помочь здесь. Возвращает разделенный запятыми список групп, к которым принадлежит пользователь. Таким образом, вы можете использовать что-то вроде этого:

select id, name, sector
from employees
where ((','||apex_util.get_groups_user_belongs_to(:app_user)||',' like '%,ADMIN,%'
      and sector = 'A')
or (','||apex_util.get_groups_user_belongs_to(:app_user)||',' like '%,USER,%'
      and sector = 'H'))
...