Публичные события не могут создаваться пользователями, у которых нет доступа к группе TL0

У меня также есть пользователь, который не может создать событие. Он получает ошибку: «Произошла ошибка: недопустимые разрешённые группы». Разрешённая группа в событии — это группа по умолчанию trust_level_0, а пользователь входит в разрешённую группу в настройках сайта discourse post event allowed on groups. Есть какие-либо идеи?

2 лайка

Думаю, проблема в том, что группа trust_level_0 на вашем сайте не видна пользователю, даже если он является её участником. Чтобы это проверить, зайдите на страницу управления группой trust_level_0 вашего сайта и откройте вкладку «Взаимодействие» (Interaction).

Скорее всего, значение настройки «Кто может видеть эту группу» установлено как «Владельцы групп и модераторы» или «Только владельцы групп». Похоже, что код плагина исходит из предположения, что группа trust_level_0 всегда настроена так, чтобы быть видимой для «Всех».

Если это так, вы можете временно исправить проблему, вернув настройку видимости группы к значению по умолчанию — «Все».

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

[event start="2023-10-05 16:00" status="public" timezone="America/Vancouver" end="2023-10-05 17:00" allowedGroups="trust_level_0"]
[/event]

Обратите внимание, что значение allowedGroups автоматически устанавливается в trust_level_0 для публичных событий. Возможно, что пользователи состоят в группе TL0, но не могут её «видеть». В таком случае эти пользователи не смогут создавать публичные события.

Для справки, соответствующий код находится здесь: discourse-calendar/lib/discourse_post_event/event_validator.rb at main · discourse/discourse-calendar · GitHub

3 лайка

В этом и была проблема, спасибо, Саймон!

3 лайка

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

4 лайка

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

3 лайка

К сведению: я получил похожее сообщение об ошибке, но оно связано с использованием языка, отличного от английского. Я создал новую тему здесь: Calendar plugin needs group visibility