Ограничение выбора в списке типа Пользователи (Пользователи Ajax)
Добавлено: 09 апр 2026, 06:01
Суть задачи следующая.
Есть сущность, например "Поручения", в которой есть поле "Исполнитель" ([2222]) типа Пользователи (*), в котором (при добавлении новой записи) доступными для выбора перечисляются все пользователи системы.
Задача: ограничить выдачу имен пользователей только теми пользователями, которые входят в Группу пользователей к которой относится пользователь, создающий запись в сущности (поручение).
При этом, пользователи, которые находятся в Группе пользователей "1" не должны иметь возможности видеть в общем списке пользователей всех пользователей из других групп "2"-"5", а только пользователей из группы "1".
Решение "из коробки" с жестким ограничением посредством поля "Группа пользователей" НЕ ПОДХОДИТ, поскольку: оно ограничивает возможность использования сущности конкретной группой (одной или несколькими) - т.е. на моем примере:
группа пользователей 1 сможет пользоваться сущностью "Поручения" и выбирать пользователей, а
пользователи групп 2-5, при наличии доступа к самой сущности, не смогут выбрать пользователей в поле [2222] т.к. они не входят в группу 1. При этом, "своих" пользователей, для соответствующей группы (2-5), они не увидят (из за ограничений в "Группа пользователей").
*
Отсюда вопрос: если [2222] становится полем типа "Пользователи Ajax", во вкладке "Список" в поле "Условие" я прописываю mysql условие
find_in_set (e.id, (SELECT field_12 FROM app_entity_1 WHERE field_6 = [current_user_group_id]))
я ожидаю, что в списке будут пользователи только той группы, пользователем которой я создаю запись в сущность "Поручение". Т.е. пользователь из группы 1 видит в списке пользователей также тех, у кого группа 1 (в поле 6 сущности 1).
Однако, в списке выбираются все пользователи из всех 5 групп.
Как мне корректно построить mysql условие?
Есть сущность, например "Поручения", в которой есть поле "Исполнитель" ([2222]) типа Пользователи (*), в котором (при добавлении новой записи) доступными для выбора перечисляются все пользователи системы.
Задача: ограничить выдачу имен пользователей только теми пользователями, которые входят в Группу пользователей к которой относится пользователь, создающий запись в сущности (поручение).
При этом, пользователи, которые находятся в Группе пользователей "1" не должны иметь возможности видеть в общем списке пользователей всех пользователей из других групп "2"-"5", а только пользователей из группы "1".
Решение "из коробки" с жестким ограничением посредством поля "Группа пользователей" НЕ ПОДХОДИТ, поскольку: оно ограничивает возможность использования сущности конкретной группой (одной или несколькими) - т.е. на моем примере:
группа пользователей 1 сможет пользоваться сущностью "Поручения" и выбирать пользователей, а
пользователи групп 2-5, при наличии доступа к самой сущности, не смогут выбрать пользователей в поле [2222] т.к. они не входят в группу 1. При этом, "своих" пользователей, для соответствующей группы (2-5), они не увидят (из за ограничений в "Группа пользователей").
*
Отсюда вопрос: если [2222] становится полем типа "Пользователи Ajax", во вкладке "Список" в поле "Условие" я прописываю mysql условие
find_in_set (e.id, (SELECT field_12 FROM app_entity_1 WHERE field_6 = [current_user_group_id]))
я ожидаю, что в списке будут пользователи только той группы, пользователем которой я создаю запись в сущность "Поручение". Т.е. пользователь из группы 1 видит в списке пользователей также тех, у кого группа 1 (в поле 6 сущности 1).
Однако, в списке выбираются все пользователи из всех 5 групп.
Как мне корректно построить mysql условие?