Скрыть действия с флагами для текущего пользователя, если он помечен или является флагером

Приношу извинения, если это, возможно, не то место, где стоит задавать такой вопрос. Но, похоже, что именно здесь.

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

Если текущий пользователь совпадает с одним из них, то кнопки проверки флага (Согласен/Не согласен/Отложить и т. д.) скрываются. Таким образом, флаги могут быть подтверждены или отклонены только третьей стороной.

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

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

Просто хочу скрыть некоторые опции. Конечно, опытный пользователь может через браузер вернуть кнопки. Но это подойдёт для моих целей: просто скрыть их для текущего пользователя, если он тот, кто подал жалобу, или тот, на кого пожаловались. Это скорее сдерживающий фактор (пластырь), чем окончательное решение.

При беглом просмотре соответствующего кода в ядре вы увидите, что вам нужно расширить свойство canPerform (которое определяет, должны ли отображаться кнопки «Согласен/Не согласен» и т. д.) в reviewable-item, добавив свою логику:

Если вы раньше никогда не делали ничего подобного, то Developing Discourse Themes & Theme Components — отличное место для начала! Там рассказывается, как модифицировать класс ядра, что именно вам и нужно сделать. Существующие темы и компоненты — отличный ресурс, на примере которого можно учиться. Обратите внимание на компонент discourse-extra-group-classes, который использует тот же приём, что и вам потребуется (в частности, файл initialize-extra-group-classes.js.es6).

P.S. Я перемещу эти сообщения из этой темы, так как они не имеют прямого отношения к настройкам тем.

Спасибо, я изучу и посмотрю, чему могу научиться.