Удаление разрешений | Создать новую тему

Приветствую всех.

Меня зовут Андрес Гомес, я работаю в команде поддержки разработчиков SmartThings, а также являюсь администратором на форуме сообщества SmartThings. У нас в сообществе есть ценный пользователь с многолетним стажем (более 7 лет), который в последнее время столкнулся с проблемой. У этого пользователя давным-давно случилась авария, в результате чего он теперь передвигается на инвалидной коляске и имеет ограниченную подвижность кистей рук. Хотя эта авария произошла до его присоединения к нашему сообществу, в последние несколько недель (вероятно, после обновления форума) он начал случайно удалять темы при попытке выбрать сообщения из уже существующей темы с целью создать её форк. То есть, когда активная тема разрастается и в ней начинается обсуждение новой темы, он пытается перенести эти комментарии в новую тему, но по ошибке удаляет саму тему. Мы пытались повысить его уровень пользователя, но единственная роль без прав на удаление — это самый низкий уровень, а поскольку он является активным и ценным членом нашего сообщества, мы не хотим лишать его всех привилегий. Есть ли какое-либо решение этой проблемы? Можно ли переместить кнопку «Удалить тему» из меню «Выбрать сообщения…»? Можно ли добавить шаг подтверждения в процесс удаления темы?

Думаю, вы можете скрыть её с помощью CSS и даже создать тему, выбираемую пользователем, только для этого пользователя.

Привет и добро пожаловать @AndresGomez :slight_smile:

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

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

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

Привет, Джей

Как мне это сделать? Я никогда ничего не редактировал на платформе.

См. Краткое справочное руководство для разработчиков тем или Руководство для начинающих по разработке тем Discourse.

Простой способ — скрыть его для всех пользователей, не являющихся сотрудниками, добавив это в компонент пользовательской темы:

.topic-admin-menu-topic li.topic-admin-delete {
    display: none;
 }

.staff .topic-admin-menu-topic li.topic-admin-delete {
    display: initial;
}

Привет, @JammyDodger

Спасибо за эту информацию. Я не совсем уверен, как реализовать это изменение CSS, но я разберусь. Что касается пользователя TL4, я уточнил, и он уже является пользователем уровня TL4. Это было первое действие, которое мы предприняли — изменение его уровня доступа. Однако он всё ещё может удалять темы, но не может их восстанавливать, что странно, потому что я проверял таблицу разрешений уровней доверия, и он должен иметь возможность удалять темы. Не знаете ли вы, почему он всё ещё может это делать?

Хм. :thinking: Я думал, что это связано с тем, что они являются модератором категории, но я только что проверил вашу страницу /about, и там, похоже, ничего нет — https://community.smartthings.com/about

На всякий случай, есть ли у этого пользователя полные права модератора (или администратора)? Вы можете проверить это на странице администратора пользователя в разделе «Разрешения»:

У пользователя уровня TL4 не должно быть возможности удалять темы без предоставления дополнительных прав модерации.


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