Не работает правило section_add_children для добавления Товара в Категорию!

Приветствую сообщество!

Уже не знаю что делать… Может кто сталкивался, подскажет куда копать или объяснит тогда как это работает.
В общем дано:

— Минишоп2
— Категория товаров
— Группа пользователей с привилегией section_add_children
— Группа ресурсов с «данной» категорией товаров
— Сниппет ms2form

В общем вызов формы на фронте такой:
{$_modx->runSnippet('!ms2form', [
    'parent' => $.get.mp,
])}
условно говоря не важно как я передаю parent, допустим там будет напрямую та самая категория товаров, чтобы без воды, мат. часть я знаю.

Категории пользователей выставлены все права для публикации а именно: section_add_children (группе ресурсов я назначил эту политику: TicketSectionPolicy, т.к. у нее есть эта самая политика). Начинаю процедуру публикации и ВУОЛЯ пишет, что у меня не достаточно прав для публикации!

Убираю из Группы ресурсов эту злосчастную категорию и все публикуется как надо!

Теперь внимание вопрос… что я делаю не так??? И как вообще работает эта самая политика именно для категории товаров через ms2form?

Заранее спасибо за любые подсказки, буду весьма признателен!

UPD
Все кто тут пока ответил, либо игнорируют это, либо вообще не знают, что это за компонент…
Описываю для Вас и для тех, кто этого не знает и не читал мат.часть по работе Прав и привелегий в MODX и о компоненте ms2form.

Компонент ms2form позволяет добавлять и редактировать Товары через форму на фронтэнде, чтобы не пускать очумелые ручки в админку… у него есть Шаблон ролей специально для этого, который «берет» часть привелегий стандарта Минишопа, который позволяет публиковать, сохранять и создавать новые Категории товаров и собственно Сам товар…

НО! Опять таки в мат.части сказано, что у сниппета есть параметр permissions, которому можно задать политику, по которой он будет чекать в какую группу ресурсов можно публиковать, а в какую нет, определнной группе пользователей, если те имеют привилегию section_add_children (которую тоже все почему игнорят в вопросе). Так вот Тикетс тут при том, что с ним в пакете уже есть созданный Шаблон прав, в котором есть те самые нужные привилегии, а собственно всего одна а именно section_add_children… (да и вообще он по фактуре и логике работы с правами на публикацию в раздел, имеет одинаковую политику, а именно strong>section_add_children)

А мат.часть заключается в том, что Группе ресурсов в которой сидит нужная для публикации Категория товаров, назначена эта привилегия, НО в нужный час, когда жмякаешь Публиковать, пишет, что доступ запрещен…

Хотя это не вообразимо, т.к. все права выставлены…
Очень прошу, если вы не читали документацию по компоненту ms2form и Вам реально не чем помочь, то прошу не сотрясать воздух только лишь своими комментариями, о том, что Вам не понятно.

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

UPD 2 (РЕШЕНИЕ)
В общем все, решил сам… если кому будет интересно или кто еще столкнется, запомните! (правда не уверен, что это так на самом деле)
Если вы работаете с компонентом ms2form, то привилегии section_add_children НЕ ДОСТАТОЧНО (если вообще это работает), чтобы форма публиковала Товар (если доступ к ней ограничен посредством Добавления в Группу ресурсов и установки этой привилегии). А теперь РЕШЕНИЕ, можно не важно каким образом установить Привилегию add_children на ту Группе ресурсов к которой планируете ограничить доступ, на всякий случай я оставил обе привилегии, но проверил, работает и так, в сниппет к параметру permissions добавить проверку add_children и все будет работать как надо, MODX запретит создание Товара если нет разрешения!
Andrey
28 мая 2021, 19:26
modx.pro
1
604
0

Комментарии: 5

Andrey
28 мая 2021, 19:27
0
П.С.
откровенно говоря проштудировал все файлы компонента и до конца так и не понял от куда и каким образом идет проверка прав на публикацию…
    Николай Савин
    28 мая 2021, 20:02
    0
    Чет вы по-моему путаете минишоп и тикеты. Если речь идет о товарах нужно смотреть права на товары.

    Для любой операции с добавлением\редактированием товаров нужно право msproduct_save
    Все процедуру проверки прав происходят в соответствующем процессоре.
    Например mgr/product/update
    Там строку с проверкой прав можно при желании закомментировать.
      Andrey
      28 мая 2021, 20:26
      0
      я ж говорил… мат. часть я знаю, документацию изучил. Вопрос в том, что мне нужно, чтобы при добавлении Пользователем с Фронт Формы через ms2form шла проверка прав, а именно: section_add_children (это написано в документации). Вот собственно это не хочет работать! Просто так уж вышло, что у ms2form и у TicketForm схожая фактура и в комплекте с тикетом идет такая вот шляпа в виде Шаблона прав: TicketSectionPolicy, которая содержит ту самую директиву которая мне нужна при проверке:
      «а есть ли у пользователя section_add_children, чтобы он мог публиковать в эту категорию Товары»
      За то, где найти проверку вообще прав, спасибо, погляжу что можно достать, но проблемы не решает, мне начинает казаться, что просто на просто не работает нихрена эта проверка вообще или как то иначе, а как самому автору наверное известно, но это не точно.
      Александр Мельник
      28 мая 2021, 21:21
      +1
      Вы очень сумбурно описали условия задачи. Чего вы хотите добиться?
      Обычно когда «мат. часть я знаю, документацию изучил.» все работает. Если не работает — учи матчасть и документацию.
      В общем дано:

      — Минишоп2
      — Категория товаров
      — Группа пользователей с привилегией section_add_children
      — Группа ресурсов с «данной» категорией товаров
      — Сниппет ms2form
      у вас установлен пакет minishop2, Вы в админке создали категорию товаров.
      Вы создали через админ панель группу пользователей. Вы знаете что нахождение пользователя в группе не дает ему привилегии? Права, которые получит пользователь, будут определяться с помощью отведённой ему в этой группе роли.
      Что вообще такое — группа ресурсов с «данной» категорией товаров??
      Вы вызываете
      {$_modx->runSnippet('!ms2form', [
          'parent' => $.get.mp,
      ])}
      где? Зачем? с Какой целью?
      <blockquote>я назначил эту политику: TicketSectionPolicy</blockquote>
      причем тут Tickets к minishop?
        Andrey
        29 мая 2021, 00:55
        0
        ничего я «сумбурно» не описывал… почему все кто отвечает тут, игнорируют тот факт, что русским по белому пишу о том, что использую компонент: ms2form.
        А все кто тут пока ответил, либо игнорируют это, либо вообще не знают, что это за компонент…
        Описываю для Вас и для тех, кто этого не знает и не читал мат.часть по работе Прав и привелегий в MODX и о компоненте ms2form.

        Компонент ms2form позволяет добавлять и редактировать Товары через форму на фронтэнде, чтобы не пускать очумелые ручки в админку… у него есть Шаблон ролей специально для этого, который «берет» часть привелегий стандарта Минишопа, который позволяет публиковать, сохранять и создавать новые Категории товаров и собственно Сам товар…

        НО! Опять таки в мат.части сказано, что у сниппета есть параметр permissions, которому можно задать политику, по которой он будет чекать в какую группу ресурсов можно публиковать, а в какую нет, определнной группе пользователей, если те имеют привилегию section_add_children (которую тоже все почему игнорят в вопросе). Так вот Тикетс тут при том, что с ним в пакете уже есть созданный Шаблон прав, в котором есть те самые нужные привилегии, а собственно всего одна а именно section_add_children… (да и вообще он по фактуре и логике работы с правами на публикацию в раздел, имеет одинаковую политику, а именно strong>section_add_children)

        А мат.часть заключается в том, что Группе ресурсов в которой сидит нужная для публикации Категория товаров, назначена эта привилегия, НО в нужный час, когда жмякаешь Публиковать, пишет, что доступ запрещен…

        Хотя это не вообразимо, т.к. все права выставлены…
        Я Вас очень прошу, если вы не читали документацию по компоненту ms2form и Вам реально не чем помочь, то прошу не сотрясать воздух только лишь своими комментариями, о том, что Вам не понятно.

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