Я работаю с SAP Hybris Backoffice, и у нас есть три отдельные роли управления Backoffice, каждая со своей собственной перспективой.
- Менеджер по продукту
- CMS manager
- Диспетчер пользователей
Названия этих ролей должны быть достаточно ясными, чтобы объяснить, что они делают. Теперь менеджеру в Backoffice можно назначать несколько ролей, поскольку на небольших рынках люди, управляющие пользователями, также управляют продуктами и статьями. Допустим, теперь мы хотим ограничить результаты поиска, например, представлением пользователя в Backoffice, когда вы находитесь только в перспективе управления продуктом.
Первое, о чем вы можете подумать, это ограничения поиска, которые можно добавить и назначить роли, которая добавляет SQL к исходному поисковому запросу в конце, чтобы ограничить результаты.
Однако это не заботится о том, в какой перспективе вы работаете в Backoffice. Если я, например, хочу, чтобы это ограничение поиска применялось только тогда, когда пользователь находится в перспективе управления продуктом, то не очевидно, как это сделать. Я думаю, потому что область ограничения поиска является глобальной без такой детализации.
Тогда в Backoffice есть компоненты виджета инициализатора поиска Zk. Они могут добавить условия поиска, которые будут отправлены поисковой системе в Backoffice. Однако это повлияет на пользовательский интерфейс в Backoffice, потому что он не похож на невидимый слой, добавляемый в конце поиска, который делает пользователь. Это добавляет проблему, потому что пользователь управляет глобальным и единственным оператором в интерфейсе поиска Backoffice. Поэтому, если я добавляю инициализатор поиска с условием, которому необходимо добавить условие И в конце запроса, чтобы ограничить результаты, а пользователь затем изменяет глобальный оператор условия на ИЛИ, тогда результаты, которые получает пользователь, непредсказуемы и в основном ошибочны.
Итак, я упустил какой-то промежуточный уровень, где я мог бы добавить такое ограничение в Backoffice, которое влияет на поиск, выполняемый пользователем с определенной ролью в определенной перспективе, не затрагивая пользовательский интерфейс Backoffice и взаимодействие с пользователем?