Ожидаемое поведение
Владельцы групп могут добавлять участников в группу с помощью модального окна «Добавить участников».
Фактическое поведение
Владельцы групп видят модальное окно «Добавить участников», но при попытке отправить форму получают ошибку 403 (доступ запрещён).
Только что скачал последнюю версию кода с GitHub и повторно протестировал. Подтверждаю, что проблема существует. Шаги для воспроизведения:
Создайте нового пользователя, который не является модератором или администратором.
Создайте новую группу со следующими настройками: Разрешить пользователям свободно покидать группу=True, Разрешить пользователям отправлять запросы на вступление владельцам группы=True, Кто может видеть эту группу?=Все, Кто может видеть участников этой группы?=Все, Кто может упоминать эту группу через @?=Только модераторы и администраторы, Кто может отправлять сообщения этой группе?=Только модераторы и администраторы.
Назначьте созданного пользователя владельцем группы.
Войдя в систему как владелец группы, попробуйте добавить в группу другого пользователя.
Или даже просто добавить сюда более конкретную ошибку.
Например, вместо того чтобы выбрасывать ошибку InvalidAccess с сообщением (en): You are not permitted to view the requested resource.
Создать ошибку InsufficientTrustLevel (возможно, как подкласс InvalidAccess) с сообщением (en): You do not have the required trust level to view the requeted resource. По крайней мере, тогда администраторы будут знать, что проблема в уровне доверия, а не в ошибке.
Несколько заметок о том, где это определено в коде:
Хотя я согласен, что здесь нужно улучшить сообщение об ошибке, на самом деле, считаю, что мы регрессировали.
Роль владельца группы — управлять членством в своей группе. Если он не может пригласить/добавить пользователей в свою группу, то функция работает наполовину…
Возможно, я ошибаюсь, но мне кажется, что эта ситуация возникла в ходе нашей работы по улучшению системы приглашений. Мы унифицируем приглашения, чтобы все они использовали единую систему, и разделяем функции, касающиеся существующих пользователей. В последнее время мы изменили механизм так, что теперь существующие пользователи получают уведомления о темах через кнопку «Поделиться» в меню темы, отдельно от приглашения новых пользователей присоединиться к сайту и участвовать в обсуждении темы.
Мы хотим сделать то же самое для групп — это уже есть в нашем списке задач, но теперь, полагаю, это стало ещё более актуальным, если это означает, что вы не можете добавить кого-либо в группу, если у вас недостаточно уровня доверия (TL) для приглашения новых пользователей на сайт.
Это ограничение имеет смысл при приглашении по электронной почте в группы. Однако оно не имеет смысла при приглашении существующих пользователей. Я исправил эту проблему в:
Это временно решит проблему, но мы планируем полностью переработать этот раздел.