| Краткое описание | Ограничивает функцию статуса пользователя определенными группами | |
| Ссылка на репозиторий | https://github.com/Lillinator/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) в разделе «Все настройки сайта», и она находится в разделе Разрешения групп (Group permissions) на боковой панели администратора.
Примеры использования
-
Если функционал статуса пользователя актуален только для персонала форума, и они могут захотеть отображать статус для остальных пользователей форума.
-
Разрешить устанавливать статус только модераторам категорий.
-
Может использоваться для предотвращения злоупотреблений (или иного неправомерного использования) функции статуса пользователя менее доверенными группами пользователей.
-
Только специальные группы должны иметь возможность отображать свой статус пользователя — например, команда технической поддержки, продавцы товаров, эксперты по категориям, спонсоры, мастера трюков с йо-йо и т. д.
-
Только администраторам разрешено идти пить кофе
.
Примечания: Уведомления и интеграция с календарем
Этот плагин влияет только на статус пользователя, но не на настройки уведомлений:
- Опция «приостановить уведомления» в модальном окне статуса является отдельной функцией.
- Если статус пользователя очищается этим плагином, приостановленные уведомления остаются активными.
- Индикатор приостановленных уведомлений остается на аватаре до истечения срока или до ручной отмены приостановки пользователем.
Если у вас установлен плагин 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




