mirror of
https://github.com/discourse/discourse.git
synced 2025-09-04 08:47:37 +08:00
FIX: automatically unsilence users
This commit is contained in:
parent
a7603b1cfb
commit
130974d58d
2 changed files with 27 additions and 0 deletions
11
app/jobs/scheduled/unsilence_users.rb
Normal file
11
app/jobs/scheduled/unsilence_users.rb
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
module Jobs
|
||||||
|
class UnsilenceUsers < Jobs::Scheduled
|
||||||
|
every 15.minutes
|
||||||
|
|
||||||
|
def execute(args)
|
||||||
|
User.where("silenced_till IS NOT NULL AND silenced_till < now()").find_each do |user|
|
||||||
|
UserSilencer.unsilence(user, Discourse.system_user)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
16
spec/jobs/unsilence_users_spec.rb
Normal file
16
spec/jobs/unsilence_users_spec.rb
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
require "rails_helper"
|
||||||
|
|
||||||
|
describe Jobs::UnsilenceUsers do
|
||||||
|
it "unsilence users" do
|
||||||
|
user = Fabricate(:user)
|
||||||
|
UserSilencer.silence(user, Discourse.system_user, silenced_till: 2.days.ago)
|
||||||
|
|
||||||
|
user.reload
|
||||||
|
expect(user.silenced_till).to be
|
||||||
|
|
||||||
|
Jobs::UnsilenceUsers.new.execute({})
|
||||||
|
|
||||||
|
user.reload
|
||||||
|
expect(user.silenced_till).to be(nil)
|
||||||
|
end
|
||||||
|
end
|
Loading…
Add table
Add a link
Reference in a new issue