mirror of
https://github.com/discourse/discourse.git
synced 2024-12-15 18:43:40 +08:00
17 lines
366 B
Ruby
17 lines
366 B
Ruby
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
|