Неверная причина, по которой нельзя удалить пользователя-модератора

В FIX: Correct user deletion wording by hlashbrooke · Pull Request #34680 · discourse/discourse · GitHub из примечания, объясняющего, почему пользователя нельзя удалить, было удалено «и модераторы»:

delete_forbidden_because_staff: “Администраторы и модераторы не могут быть удалены.”

Я понимаю, что это полезно, так как модераторов можно удалять. Однако у меня сложилось впечатление, что при этой правке что-то было упущено, что и ввело меня в заблуждение сегодня.
Я — модератор, но не администратор, и тем не менее в примечании было написано: «Администраторы не могут быть удалены».



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

  1. Пользователь является администратором.
  2. У пользователя есть посты, старше установленного срока.

Настоящая причина, по которой я не мог удалить свою учётную запись модератора, — это пункт [2], но отображается пункт [1], потому что, хотя модераторы были исключены из текста предупреждения, в коде всё ещё проверяется staff вместо admin.

3 лайка

Да, я могу воспроизвести это на своём тестовом сайте. Как только я удаляю посты моей тестовой учётной записи модератора, сообщение «администраторов нельзя удалить» заменяется на кнопку удаления. Спасибо за сообщение, Moin :slight_smile:

1 лайк

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

Пользователей нельзя удалить, если у них есть публикации. Удалите все публикации перед попыткой удаления пользователя. (Публикации старше 365 дней удалить нельзя.)

Администраторы тоже видят неверную причину. Дело не в том, кто смотрит страницу администратора пользователя, а в том, какой статус имеет пользователь, которого вы просматриваете.

Да, я именно это имел в виду, но неправильно построил предложение! :rofl: Думаю, теперь всё исправил.

Всё это, конечно, так… но меня удивляет, почему вообще можно удалять модераторов. Мне кажется, логичнее сначала понизить пользователя в правах, а уже потом удалять, и я всегда так делал, даже не задумываясь об интерфейсе.

Спасибо. Я опасался, что ваше разъяснение может привести к недопониманию, хотя мне казалось, что заголовок довольно точно описывает проблему.

1 лайк

Надеемся, это сделает интерфейс согласованным с бэкендом

3 лайка