Не работает правило section_add_children для добавления Товара в Категорию!
Приветствую сообщество!
Уже не знаю что делать… Может кто сталкивался, подскажет куда копать или объяснит тогда как это работает.
В общем дано:
— Минишоп2
— Категория товаров
— Группа пользователей с привилегией section_add_children
— Группа ресурсов с «данной» категорией товаров
— Сниппет ms2form
В общем вызов формы на фронте такой:
Категории пользователей выставлены все права для публикации а именно: 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 запретит создание Товара если нет разрешения!
Уже не знаю что делать… Может кто сталкивался, подскажет куда копать или объяснит тогда как это работает.
В общем дано:
— Минишоп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 запретит создание Товара если нет разрешения!
Комментарии: 5
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
откровенно говоря проштудировал все файлы компонента и до конца так и не понял от куда и каким образом идет проверка прав на публикацию…
Для любой операции с добавлением\редактированием товаров нужно право msproduct_save
Все процедуру проверки прав происходят в соответствующем процессоре.
Например mgr/product/update
Там строку с проверкой прав можно при желании закомментировать.
За то, где найти проверку вообще прав, спасибо, погляжу что можно достать, но проблемы не решает, мне начинает казаться, что просто на просто не работает нихрена эта проверка вообще или как то иначе, а как самому автору наверное известно, но это не точно.
Обычно когда «мат. часть я знаю, документацию изучил.» все работает. Если не работает — учи матчасть и документацию.
у вас установлен пакет minishop2, Вы в админке создали категорию товаров.
Вы создали через админ панель группу пользователей. Вы знаете что нахождение пользователя в группе не дает ему привилегии? Права, которые получит пользователь, будут определяться с помощью отведённой ему в этой группе роли.
Что вообще такое — группа ресурсов с «данной» категорией товаров??
Вы вызываете
А все кто тут пока ответил, либо игнорируют это, либо вообще не знают, что это за компонент…
Описываю для Вас и для тех, кто этого не знает и не читал мат.часть по работе Прав и привелегий в MODX и о компоненте ms2form.
Компонент ms2form позволяет добавлять и редактировать Товары через форму на фронтэнде, чтобы не пускать очумелые ручки в админку… у него есть Шаблон ролей специально для этого, который «берет» часть привелегий стандарта Минишопа, который позволяет публиковать, сохранять и создавать новые Категории товаров и собственно Сам товар…
НО! Опять таки в мат.части сказано, что у сниппета есть параметр permissions, которому можно задать политику, по которой он будет чекать в какую группу ресурсов можно публиковать, а в какую нет, определнной группе пользователей, если те имеют привилегию section_add_children (которую тоже все почему игнорят в вопросе). Так вот Тикетс тут при том, что с ним в пакете уже есть созданный Шаблон прав, в котором есть те самые нужные привилегии, а собственно всего одна а именно section_add_children… (да и вообще он по фактуре и логике работы с правами на публикацию в раздел, имеет одинаковую политику, а именно strong>section_add_children)
А мат.часть заключается в том, что Группе ресурсов в которой сидит нужная для публикации Категория товаров, назначена эта привилегия, НО в нужный час, когда жмякаешь Публиковать, пишет, что доступ запрещен…
Хотя это не вообразимо, т.к. все права выставлены…
Я Вас очень прошу, если вы не читали документацию по компоненту ms2form и Вам реально не чем помочь, то прошу не сотрясать воздух только лишь своими комментариями, о том, что Вам не понятно.
Повторюсь, я надеюсь, что мне поможет тот, кто пользуется или пользовался компонентом и знает как он работает или хотя бы разобрался.