Ограничить результаты поиска пользователей в определенной перспективе Backoffice - PullRequest
0 голосов
/ 29 марта 2019

Я работаю с SAP Hybris Backoffice, и у нас есть три отдельные роли управления Backoffice, каждая со своей собственной перспективой.

  • Менеджер по продукту
  • CMS manager
  • Диспетчер пользователей

Названия этих ролей должны быть достаточно ясными, чтобы объяснить, что они делают. Теперь менеджеру в Backoffice можно назначать несколько ролей, поскольку на небольших рынках люди, управляющие пользователями, также управляют продуктами и статьями. Допустим, теперь мы хотим ограничить результаты поиска, например, представлением пользователя в Backoffice, когда вы находитесь только в перспективе управления продуктом.

Первое, о чем вы можете подумать, это ограничения поиска, которые можно добавить и назначить роли, которая добавляет SQL к исходному поисковому запросу в конце, чтобы ограничить результаты.

Однако это не заботится о том, в какой перспективе вы работаете в Backoffice. Если я, например, хочу, чтобы это ограничение поиска применялось только тогда, когда пользователь находится в перспективе управления продуктом, то не очевидно, как это сделать. Я думаю, потому что область ограничения поиска является глобальной без такой детализации.

Тогда в Backoffice есть компоненты виджета инициализатора поиска Zk. Они могут добавить условия поиска, которые будут отправлены поисковой системе в Backoffice. Однако это повлияет на пользовательский интерфейс в Backoffice, потому что он не похож на невидимый слой, добавляемый в конце поиска, который делает пользователь. Это добавляет проблему, потому что пользователь управляет глобальным и единственным оператором в интерфейсе поиска Backoffice. Поэтому, если я добавляю инициализатор поиска с условием, которому необходимо добавить условие И в конце запроса, чтобы ограничить результаты, а пользователь затем изменяет глобальный оператор условия на ИЛИ, тогда результаты, которые получает пользователь, непредсказуемы и в основном ошибочны.

Итак, я упустил какой-то промежуточный уровень, где я мог бы добавить такое ограничение в Backoffice, которое влияет на поиск, выполняемый пользователем с определенной ролью в определенной перспективе, не затрагивая пользовательский интерфейс Backoffice и взаимодействие с пользователем?

1 Ответ

0 голосов
/ 05 апреля 2019

Мне не удалось найти это распространенным вариантом использования с другими разработчиками внутренней сети SAP, поэтому мне пришлось найти себе решение.

Существует возможность установить ограничения поиска сеанса с помощьюSearchRestrictionService.Это повлияет только на текущий сеанс, который вы используете.Вы можете переопределить контроллер виджетов для выбора перспективы или переключения ролей.Поскольку смена ролей обычно меняет перспективы, это тоже работает.

Затем вы просто добавляете ограничения локального поиска в сеансе для этого сотрудника, используя Backoffice, и делаете их взаимодействие полностью персональным, при этом полностью контролируя их вид и возможности с помощью ограничений поиска сеанса.

...