Как отобразить отзывы для обычного пользователя

Здравствуйте,

Может ли кто-нибудь помочь мне разобраться, как отображать ссылки на обзоры для обычных пользователей?

Я занимаюсь кастомизацией плагина.

По сути, я хочу отображать ссылку на обзоры в боковой панели как для обычных пользователей, так и для администраторов/модераторов. Для администраторов и модераторов ничего делать не нужно, так как ссылка у них уже отображается. Однако я хочу, чтобы она была видна и обычным пользователям, при этом обычные пользователи должны видеть только темы со статусом «в ожидании».

Я изучил код и нашел файл, отвечающий за отображение обзоров: review-index.js и review-index.hbs. В файле маршрута эта строка выполняет запрос данных. Я не знаю, как изменить запрос, чтобы получать только темы со статусом «в ожидании».

Если кто-то сможет подсказать, как решить следующие задачи:

  1. Как отображать ссылку на обзоры в боковой панели для обычных пользователей?
  2. Как изменить запрос, чтобы получать только темы со статусом «в ожидании»?

Обычные пользователи не могут использовать эти ссылки, верно?

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

Спасибо за сообщение @pfaffman,

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

Не могли бы вы показать пример того, как добавить ссылку на рецензирование в сериализатор?

Ищите add-to-serializer здесь или в GitHub - discourse/all-the-plugins · GitHub

Привет! Я попытался разобраться с add_to_serializer, но код написан на Ruby, в котором я не очень силен. Однако я понял, что нужно использовать что-то вроде:

add_to_serializer(:site, ...)

но не знаю, какой метод указать во втором параметре.

Не могли бы вы подсказать, что мне нужно сделать, чтобы отобразить ссылку на отзыв в боковой панели?

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

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

В данный момент я нашел обходной путь в этом блоге о ссылках на обзоры, добавляю его сюда, чтобы в будущем любой мог использовать его при необходимости. Хотя это не совсем то, что я хотел, но, по крайней мере, я могу добавить ссылку в раздел сообщества. Я хочу отобразить её в основном разделе сообщества, прямо над кнопкой «Ещё».

Может кто-нибудь подсказать, как предоставить обычному пользователю разрешение на просмотр страницы отзывов?

Когда я перехожу по ссылке на отзывы в профиле обычного пользователя, в ответе API появляется ошибка access denied. Вероятно, это связано с тем, что у обычного пользователя нет доступа к просмотру страницы отзывов.

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

Вам нужно переопределить права доступа, чтобы это сделать. Это более сложное изменение, особенно если вы боитесь Ruby.

Я думаю, что для человека, который хорошо понимает, что делать, это займёт 1–3 часа. А для того, кто не знает Ruby или разработку Discourse, это будет работа на 10–20 часов.