| Резюме | Ограничивает функцию статуса пользователя только для определённых групп | |
| Ссылка на репозиторий | https://github.com/Lillinator/discourse-group-user-status | |
| Руководство по установке | Как установить плагины в Discourse |
Обзор
Этот простой плагин предоставляет администраторам форума возможность ограничивать статусы пользователей только для определённых групп или уровней доверия.
В ядре Discourse статус пользователя можно включить только для всего форума целиком. Однако этот плагин обеспечивает более детальное управление, позволяя администраторам определять, какие группы пользователей могут устанавливать и отображать свои статусы, что даёт больше гибкости для адаптивного управления сообществом.
Возможности
- Разрешения на основе групп — ограничение установки статуса пользователя выбранными группами (уровни доверия, пользовательские группы или оба варианта)
- Переопределение администратором — администраторы всегда сохраняют права на статусы, независимо от выбора групп
- Автоматическая очистка — удаление статусов у пользователей при потере прав (из-за изменения настроек или исключения из группы)
- Интеграция с интерфейсом — скрытие элементов управления статусом у пользователей без прав
Установка и настройка
-
Перейдите в раздел
Администрирование -> Все настройки сайтаи выполните поиск по запросу “user status”, чтобы найти соответствующие настройки администратора. -
Убедитесь, что существующая настройка администратора
Enable_user_statusвключена. -
Затем перейдите к новой настройке администратора
User_status_allowed_groupsи выберите группы, которым разрешено использовать и отображать функцию статуса пользователя. -
Группы, не включённые в список настройки
User_status_allowed_groups, не будут иметь доступа к модальному окну статуса пользователя ни через вкладку в меню пользователя, ни через вкладкуpreferences/account. -
Если у вас уже включена настройка
Enable_user_statusи некоторые пользователи установили свои статусы, этот плагин очистит их статусы, если они не будут сразу же добавлены в новую настройку. -
Статус также будет удалён, если пользователь исключён из разрешённой группы через путь
/admin/users/или/admin/groups/(или если ему разрешено самостоятельно покинуть группу, и он это сделает). -
Выбор псевдогруппы
everyoneничем не отличается от оставления настройки пустой по умолчанию или даже от отсутствия установки компонента! -
Администраторы всегда могут устанавливать и изменять свой статус, независимо от выбранных групп; таким образом, выбор только группы
adminsограничит использование статуса пользователя только администраторами форума.
Настройки
Плагин добавляет одну новую настройку администратора — User_status_allowed_groups, представляющую собой выпадающий список групп форума. Её можно найти, выполнив поиск по запросу user status в разделе “Все настройки сайта”; она отображается в разделе Разрешения для групп боковой панели администратора.
Примеры использования
-
Если функциональность статуса пользователя актуальна только для персонала форума, и они хотят показывать свой статус для остальной части форума.
-
Разрешить устанавливать статус только модераторам категорий.
-
Может использоваться для предотвращения злоупотреблений (или других неправомерных действий) функцией статуса пользователя менее доверенными группами пользователей.
-
Только специальные группы должны иметь возможность отображать свой статус — например, команда технической поддержки, продавцы товаров, эксперты по категориям, патроны, мастера трюков с йо-йо и т.д.
-
Только администраторы могут идти на кофе
.
Примечания: Уведомления и интеграция с календарём
Этот плагин влияет только на статусы пользователей, а не на настройки уведомлений:
- Опция “приостановить уведомления” в модальном окне статуса является отдельной функцией.
- Если статус пользователя был очищен этим плагином, его приостановленные уведомления остаются активными.
- Индикатор приостановленных уведомлений остаётся на его аватаре до истечения срока действия или до ручного возобновления.
Если у вас установлен плагин Discourse Calendar:
- Праздничные статусы, установленные плагином Calendar, НЕ затрагиваются этим плагином.
- Очень редкий крайний случай: Если пользователь вручную переопределил свой праздничный статус, а администратор исключил его группу из
user_status_allowed_groupsво время запланированного праздника, ручной статус будет очищен. - Плагин Calendar автоматически сбрасывает праздничные статусы каждые 10 минут, поэтому любой очищенный статус восстанавливается при следующем запланированном запуске.
- Пользователи не могут вручную устанавливать или редактировать статусы, если они не входят в разрешённую группу, но у них есть запланированный праздничный статус.
Дополнительные скриншоты
Скриншоты эффекта настройки на статус пользователя
Право на использование функции статуса пользователя предоставляется в настройке User_status_allowed_groups. Например, пользователь test-pilot имеет уровень доверия TL_2 и состоит в группе purple; здесь ему разрешено устанавливать и отображать статус пользователя наравне с Staff и TL_4:
Как только настройка User_status_allowed_groups будет изменена и группа purple будет исключена из неё, возможность пользователя test-pilot использовать функцию статуса пользователя будет удалена из меню пользователя и его страницы preferences/account, а если у него установлен текущий статус, он будет очищен при следующем обновлении страницы. Аналогичный эффект происходит при исключении пользователя из группы (или при его выходе, если это разрешено).
Посмотрите мои другие материалы для Discourse




