The discussion addresses a bug where moving a solved topic to a category that disallows solutions failed to remove the “solved” status. codinghorror initially reported the issue, noting that topics moved out of categories with solutions retained their solved markers. sam agreed to the cleanup, and bekicot submitted a PR adding a plugin hook to handle category changes. tgxworld suggested using a model callback instead of a new event trigger. fhe and nildarar confirmed the issue persisted, explaining that admins could not uncheck the solution after moving the topic to an incompatible category. lindsey initially claimed a fix was in place, but Moin clarified that the previous fix only addressed moving individual posts, not entire topics. lindsey acknowledged the misunderstanding and lindsey committed to fixing the topic-level issue. Finally, lindsey confirmed the behavior was updated: when a solved topic is moved to a category without solution support, the accepted solution is automatically removed, and admins receive a notification before the move is completed.
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, где решения не допускаются, решение не удаляется, и предупреждение не появляется.
Извините, теперь я понимаю, что вы имеете в виду. Я неправильно прочитал это как сообщение, помеченное как решение, которое было перемещено из категории.
Я добавлю это в очередь на исправление, так как считаю, что это должно стать небольшим улучшением нашей работы с решёнными сообщениями.
Мы обновили это поведение: теперь, когда решённая тема перемещается в категорию, не поддерживающую решения, принятое решение будет удалено из темы. Перед завершением перемещения мы уведомим администраторов об этом: