Cheers в карточке пользователя не «уважает» настройки видимости группы

Шаги для воспроизведения:

  1. Ограничьте таблицу лидеров конкретной группой.
  2. Войдите в систему как пользователь этой группы.
  3. В карточке пользователя и на странице профиля отображается раздел «Аплодисменты», а ссылка на таблицу лидеров ведёт на некорректную страницу.

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

Тестирование проводилось на Discourse 3.5.0.beta8-dev.

1 лайк

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

// Скрыть счетчик «Благодарности» в карточке пользователя
.user-card-metadata-outlet.gamification-score {
    display: none;
}
// Скрыть счетчик «Благодарности» в профиле пользователя (если это действительно последний <div> внутри тега <dl> и ни один другой плагин или tc не добавляет свой div после него)
body.user-summary-page #collapsed-info-panel > dl > div:last-child {
    display: none;
}

Да, это немного неудобно, так как геймификация объявит первую таблицу лидеров таблицей по умолчанию. Если бы у вас была вторая таблица лидеров с ограниченной видимостью, у вас бы не возникло этой проблемы.