mirror of
https://github.com/discourse/discourse.git
synced 2024-11-23 02:50:00 +08:00
Banned users are not returned as pending review users
This commit is contained in:
parent
25e0c3eac1
commit
3b15e2e58e
|
@ -68,6 +68,7 @@ class User < ActiveRecord::Base
|
|||
|
||||
scope :blocked, -> { where(blocked: true) } # no index
|
||||
scope :banned, -> { where('banned_till IS NOT NULL AND banned_till > ?', Time.zone.now) } # no index
|
||||
scope :not_banned, -> { where('banned_till IS NULL') }
|
||||
|
||||
module NewTopicDuration
|
||||
ALWAYS = -1
|
||||
|
|
|
@ -30,7 +30,7 @@ class AdminUserIndexQuery
|
|||
when 'moderators' then @query.where('moderator = ?', true)
|
||||
when 'blocked' then @query.blocked
|
||||
when 'banned' then @query.banned
|
||||
when 'pending' then @query.where('approved = false')
|
||||
when 'pending' then @query.not_banned.where('approved = false')
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -46,6 +46,14 @@ describe AdminUserIndexQuery do
|
|||
expect(query.find_users.count).to eq(1)
|
||||
end
|
||||
|
||||
context 'and a banned pending user' do
|
||||
let!(:banned_user) { Fabricate(:user, approved: false, banned_at: 1.hour.ago, banned_till: 20.years.from_now) }
|
||||
it "doesn't return the banned user" do
|
||||
query = ::AdminUserIndexQuery.new({ query: 'pending' })
|
||||
expect(query.find_users.count).to eq(1)
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
describe "with an admin user" do
|
||||
|
|
Loading…
Reference in New Issue
Block a user