Суть задачи следующая.
Есть сущность, например "Поручения", в которой есть поле "Исполнитель" ([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 условие?
Ограничение выбора в списке типа Пользователи (Пользователи Ajax)
- support
- Техническая поддержка
- Сообщения: 7661
- Зарегистрирован: 19 окт 2014, 18:22
- Имя: Харчишин Сергей
- Откуда: Крым, Евпатория
Re: Ограничение выбора в списке типа Пользователи (Пользователи Ajax)
Добавил поддержку [current_user_group_id]
Файл из архива замените в includes\classes\fieldstypes\
В условии пропишите просто
Сообщите результат.
Файл из архива замените в includes\classes\fieldstypes\
В условии пропишите просто
Код: Выделить всё
field_6=[current_user_group_id]- Вложения
-
- fieldtype_entity_ajax.zip
- Этот файл из версии 3.7!
- (7.04 КБ) 34 скачивания
Re: Ограничение выбора в списке типа Пользователи (Пользователи Ajax)
Отлично! Все работает!
Пользуясь случаем
хочу сильно поблагодарить Вас за прекрасную платформу, которая позволяет решать все наши задачи. Спасибо огромное за Вашу работу!
Пользуясь случаем
- support
- Техническая поддержка
- Сообщения: 7661
- Зарегистрирован: 19 окт 2014, 18:22
- Имя: Харчишин Сергей
- Откуда: Крым, Евпатория
Re: Ограничение выбора в списке типа Пользователи (Пользователи Ajax)
Благодарю за отзыв. Функционал войдет в версию 3.7.1