Заблокированный аккаунт, но имя пользователя всё ещё активно в подсказках?

Связано с

Лучшие практики для умерших участников сообщества

так как я приостановил учетную запись умершего пользователя (по соображениям безопасности), но, как выяснилось, это также блокирует автодополнение его имени пользователя в поле поиска.

Поскольку этот пользователь был самым активным автором, такая ситуация далеко не идеальна.

Есть ли способ приостановить учетную запись пользователя, но при этом сохранить автодополнение его имени пользователя в полях поиска и в других местах?

Также «Умер» должно быть вариантом причины для приостановки учетной записи пользователя.

Спасибо.

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

Диалоговое окно приостановки позволяет указать произвольную причину:

Вы также можете изменить email пользователя на какой-нибудь случайный адрес, например suspended123@no-email.invalid, на случай если кто-то попытается его реактивировать.

В настоящее время учётная запись отображается как активированная.

Да, я использовал эту возможность, но вариант «Умер» должен быть допустимым параметром по умолчанию. Это позволило бы автоматически применять более подходящий подход к обработке учётной записи.

К сожалению, такое изменение, похоже, невозможно, если адрес электронной почты не подтверждён — по крайней мере, когда я пытался внести изменения, система сразу сообщила, что пользователю необходимо ответить на письмо. Это, по-видимому, означает, что адрес должен быть действительным хотя бы на время внесения изменений.

У вас установлена последняя версия? Возможно, новое изменение поиска повлияло на это поведение, но на моём Discourse, который я ещё не обновил до последней версии, отключённый и затем активированный пользователь всё ещё отображается:

Завтра я обновлюсь до последней версии и сообщу, изменится ли это поведение.

Я использую последнюю стабильную версию. 2.7.8 ( 18b6f4ecf6 ).

Вы администратор? Я считаю, что поведение зависит от того, являетесь ли вы администратором (или обладаете другими привилегиями), или обычным пользователем. Администраторы всё ещё могут автоматически подставлять имя приостановленного пользователя, но обычные пользователи не могут (на моём форуме).

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

Это версия 2.8.0.beta6 (d3be77a0d1), так что вы отстаете на несколько релизов.

Я обновился до последней версии — 2.8.0.beta6 (073e5ccd83), и поведение соответствует тому, как вы изначально описали: для администратора пользователь автоматически подставляется в поиск при наличии статусов «приостановлен» и «активен», но для обычного пользователя автоподстановка не работает.

Таким образом, остаётся вопрос: можно ли включить пользователя в автозаполнение, оставив его в статусе приостановки?

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

Почему бы не установить пароль на значение в 1 мегабайт из /dev/random?

Чтобы избежать его приостановки и отключения, вы можете изменить его электронную почту в консоли Rails:

rails c
u = User.find_by_email('user@domain.com')
u.email = 'user@no-email.invalid'
u.save!

Я бы очень предпочел решение, которое не использует пароль и адрес электронной почты для попытки блокировки доступа к учетной записи. Учетная запись должна быть приостановлена/деактивирована — но при этом она должна оставаться доступной в автодополнении.

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