diff --git a/app/jobs/regular/close_topic.rb b/app/jobs/regular/close_topic.rb new file mode 100644 index 00000000000..d9f97e24d59 --- /dev/null +++ b/app/jobs/regular/close_topic.rb @@ -0,0 +1,20 @@ +# This file is back temporarily to handle jobs that are enqueued +# far in the future that haven't been migrated to the ToggleTopicClosed +# job. + +module Jobs + class CloseTopic < Jobs::Base + + def execute(args) + if topic = Topic.find_by(id: args[:topic_id]) + closer = User.find_by(id: args[:user_id]) + guardian = Guardian.new(closer) + unless guardian.can_close?(topic) + closer = Discourse.system_user + end + topic.auto_close(closer) + end + end + + end +end