#oracle-apex
#oracle-apex
Вопрос:
Мне нужно изменить список выбора, указанный для элемента страницы в моем приложении. В настоящее время он отображает доступные отделы.
Select dept_name as d,dept_id as r from depts;
Теперь мне нужно изменить фильтр таким образом, чтобы, когда пользователь играет роль администратора, он должен видеть все отделы.
И если это пользователь, он будет видеть только отделы, в которые он входит inroles. Администратор является частью всех отделов, поэтому администратор будет видеть все отделы.
Таблица пользовательских ролей:
Таблица ролей:
userrole.role_id=roles.id
Столбец dept_id заполняется из элемента shuttle, поэтому в приложении распределение ролей выполняется по отделам, поэтому пользователь может выбрать несколько отделов.
**USERROLE.USER= :APP_USER**
В результате отделы хранятся в формате, разделенном двоеточием, поэтому это также необходимо обработать в запросе.
Таким образом, запрос должен быть таким, чтобы, когда пользователь является администратором, отображались все отделы, а если это пользователь, то это должны быть отделы из таблицы userrole.
Идентификатор отдела в запросе выбора lov равен идентификатору в роли пользователя.
Apex 20.2
Комментарии:
1. Как вы привязываете текущего вошедшего в систему пользователя к строке в
userrole
? Есть ли, скажем, элемент приложения дляg_userrole_id
илиg_userrole_pk
(не очевидно, почему существуют два разных столбца, которые, по-видимому, однозначно идентифицируют строку).2. Моя вина: я пропустил, потому что не смог опубликовать фактические данные. отредактированный пост. Пожалуйста, проверьте
3. ПОЛЬЗОВАТЕЛЬСКАЯ РОЛЬ. ПОЛЬЗОВАТЕЛЬ = :APP_USER