Как показать View, основанный на неопубликованных материалах тем у кого нет права просматривать все материалы сайта?

Главные вкладки

Аватар пользователя yegoren yegoren 12 февраля 2021 в 20:41

Есть Views с отображениями типа: Блок, собранные из неопубликованных материалов (данные для CRM: журналы посещений, оплат и т.д.), они программно выводятся на странице пользователей - контекстно ID пользователя берется из URL... т.е. View блоки получают uid пользователя для контекстной фильтрации из адресной строки профиля.

В самих Views проверки на роли отключены, ибо они, кроме как программно в профиль юзера, никуда не выводятся. Так же пробовал включать проверку на роли (все, кроме анонима).

Всё отлично работает для администраторов и редакторов (т.е. тех, у кого в роли есть право просматривать вообще все материалы), но у авторизованных пользователей такого права, естественно, нет.

Вопрос: Как сделать так, чтобы выводимые через Views данные неопубликованных материалов отображались для залогиненных пользователей, без раздачи им прав для просмотра таких материалов?

Речь идет о просмотре именно "своих данных", т.е. в своем профиле, к которому у пользователя есть доступ.

Лучший ответ

Аватар пользователя gun_dose gun_dose 12 февраля 2021 в 22:47
1

В правой колонке пункт перезапись запроса. Надо её выключить, тогда доступ к материалам не будет проверяться.

Комментарии

Аватар пользователя gun_dose gun_dose 12 февраля 2021 в 22:47
1

В правой колонке пункт перезапись запроса. Надо её выключить, тогда доступ к материалам не будет проверяться.

Аватар пользователя yegoren yegoren 13 февраля 2021 в 9:37

Огромное спасибо! Без доп. модулей всё заработало. У меня в переводе это пункт: Другое>Настройки запроса, а там галочка на Disable access checks. Для выводимых view это опасно, но у меня в профиле пользователя программные проверки на доступ стоят, так что секьюрность под контролем. Ещё раз - спасибо!

Аватар пользователя yegoren yegoren 15 февраля 2021 в 8:05

Для программно выводимых views в виде блоков это вряд ли имеет смысл, но там и так стоит проверка по ролям.