Лучший способ временно ограничить публичный доступ к темам пользователя?

Неплохая идея, за исключением того, что это лишит оригинальные категории.

Исходная категория сохраняется в истории редактирования:

Так что вам нужно просто нажать кнопку «Отменить» в истории редактирования:

Вы не можете, по крайней мере не легко. Вот почему:

Вам потребуется следующая информация:

  • идентификатор пользователя
  • дата в UTC, когда произошло массовое удаление
  • идентификатор поста каждого удаленного топика (первый пост)
  • продвинутые знания работы с консолью Rails и/или psql напрямую для выполнения очень сложного SQL-запроса, так как необходимо очистить поле deleted_at как для самого топика, так и для поста, являющегося первым постом топика.

И, пожалуйста, не спрашивайте, откуда я это знаю…

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

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

Спасибо за дополнительные ответы.

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

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

Это будет запрос на новую функцию (#feature request). На данный момент такой возможности нет. :slight_smile:

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

Спасибо @hello-smile6 за ответ. При откате к предыдущей ревизии категория тоже должна вернуться на место, верно? Основная сложность — откатывать их массово, тогда как нераскрытые темы можно снова сделать доступными массово.

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

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

Это круто. Многое зависит от вашей конфигурации, поэтому это может не подойти всем или не сработать в каждом случае.

В качестве небольшого дополнительного совета: вы можете использовать комбинацию Shift + выделение, чтобы выбрать несколько последовательных элементов, что иногда удобнее, чем отмечать каждый по отдельности.