I was just curious but is it possible to avoid adding a DiscourseEvent trigger and just add a model callback which checks when the category_id has been changed?
Если один из ответов ошибочно помечен как правильный, администратор видит, что категория выбрана неверно, и перемещает тему в другую категорию. Помеченный ответ по-прежнему отображается как правильный, даже если эта функция не включена в новой категории.
В таких случаях администратор не может отменить пометку правильного ответа. Необходимо изменить категорию на ту, где эта функция включена, отменить пометку правильного ответа, а затем снова изменить категорию.
Это было бы немного проще, если бы менеджеры могли отменять пометку правильного ответа во всех категориях (даже в тех, где эта функция отключена).
Похоже, оно не решает проблему, описанную в исходном сообщении (OP), где речь идёт о перемещении всей темы в категорию, где функция «решений» не включена, а не о перемещении нескольких сообщений в другую тему. Когда я перемещаю `personal_messages:username` search filter doesn't work, которая является решённой темой, в Contribute > Feature, где решения не допускаются, решение не удаляется, и предупреждение не появляется.
Извините, теперь я понимаю, что вы имеете в виду. Я неправильно прочитал это как сообщение, помеченное как решение, которое было перемещено из категории.
Я добавлю это в очередь на исправление, так как считаю, что это должно стать небольшим улучшением нашей работы с решёнными сообщениями.
Мы обновили это поведение: теперь, когда решённая тема перемещается в категорию, не поддерживающую решения, принятое решение будет удалено из темы. Перед завершением перемещения мы уведомим администраторов об этом: