Александр Наумов
Был в сети 10 июля 2022, 00:06
Заказы не принимаю
- Заметки 158
- Комментарии 34
Итого, у нас выходит 3 таблицы данных, которые нужно связать друг с другом для вывода текста комментария в зависимости от тикета.
Если такая связь не нужна, то можно выводить просто случайные комментарии, через pdoResources, без тикетов.
Иначе придётся делать join таблиц и эта выборка будет работать очень медленно.
1) Создается 2 группы пользователей: Users и Managers
*все действия в контексте web, роль Member
2) Создается группа ресурсов Restricted -при создании можно сразу автоматически дать доступ Administrator, анонимный доступ, дать доступ нашим группам Users,Managers (в результате в группах появляется доступ к группе ресурсов — Restricted и все пользователи могут их load,list,view (Resource))
3) Создается группа ресурсов Editable — автоматически дать доступ Administrator, дать анонимный доступ, дать доступ группам Users,Managers (в результате в группах появляется доступ к группе ресурсов — Editable)
4) Далее, чтобы можно было добавлять секции, добавляем в группах Administrator, Managers, Users —
еще один доступ к ресусам Editable, уже с политикой — TicketSectionPolicy.
5) Группам Administrator, Managers — дадим доступ и к ресурсам Restricted с политикой TicketSectionPolicy
6) Добавляем разрешенные к редактированию пользователями и менеджерами ресурсы в группу Editable, а разрешенные только к редактированию менеджерами ресурсы в Restricted — например Новости сайта в Restricted, а Вопросы пользователей в Editable.