Как определить несколько коллекционных браузеров в кабине Hybris Backoffice для разных пользователей? - PullRequest
0 голосов
/ 16 января 2020

Я пытаюсь заполнить коллекционный браузер в моем собственном расширении Backoffice на основе группы пользователей текущего пользователя. У меня есть пользовательский тип, который я хочу показать. Ниже приведен пример, который воспроизводит мою ситуацию, так как я использую родительский тип в этом случае «CustomTask», который имеет два подтипа - «ATask» и «BTask»

У меня есть три группы пользователей, пользователи которых должны видеть только определенные типы задач.

  • "myAdminGroup" пользователи должны видеть все типы задач, как это определено с родительским типом
  • "customGroupA" пользователи должны видеть только перечисленные элементы "ATask"
  • Пользователи «customGroupB» должны видеть только перечисленные элементы «BTask»

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

Есть ли что-то, чего я здесь упускаю, ИЛИ это технически невозможно? Любые другие предложения по выполнению sh приветствуются!

Ниже приведен фрагмент кода, который я использую для воспроизведения моей ситуации. Родительский тип -> «CustomTask» имеет два подтипа -> «ATask» и «BTask»

    <context type="CustomTask" parent="GenericItem" component="mycustombackoffice-collection-browser" principal="myAdminGroup">
        <cb:collection-browser xmlns:cb="http://www.hybris.com/cockpitng/config/collectionbrowser">
            <cb:available-molds default-mold="list-view">
                <cb:mold spring-bean="listViewCollectionBrowserMoldStrategy"/>
            </cb:available-molds>
        </cb:collection-browser>
    </context>

    <context type="ATask" component="mycustombackoffice-collection-browser" principal="customAGroup">
        <cb:collection-browser xmlns:cb="http://www.hybris.com/cockpitng/config/collectionbrowser">
            <cb:available-molds default-mold="list-view">
                <cb:mold spring-bean="listViewCollectionBrowserMoldStrategy"/>
            </cb:available-molds>
        </cb:collection-browser>
    </context>  

<context type="BTask" component="mycustombackoffice-collection-browser" principal="customBGroup">
    <cb:collection-browser xmlns:cb="http://www.hybris.com/cockpitng/config/collectionbrowser">
        <cb:available-molds default-mold="list-view">
            <cb:mold spring-bean="listViewCollectionBrowserMoldStrategy"/>
        </cb:available-molds>
    </cb:collection-browser>
</context>  

1 Ответ

0 голосов
/ 24 января 2020

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

...