Skip to content
Permalink
Browse files

FIX: user directory should not include unapproved users

When the "must approve users" setting is enabled, new users who were
waiting to be approved could show up in the user directory.
  • Loading branch information...
nlalonde committed Sep 11, 2019
1 parent 59f7c92 commit 7331e0865ad72bbdd4d7d9d17c818a64acd41deb
Showing with 14 additions and 1 deletion.
  1. +2 −1 app/models/directory_item.rb
  2. +12 −0 spec/models/directory_item_spec.rb
@@ -65,7 +65,8 @@ def self.refresh_period!(period_type, force: false)
0
FROM users u
LEFT JOIN directory_items di ON di.user_id = u.id AND di.period_type = :period_type
WHERE di.id IS NULL AND u.id > 0 AND u.silenced_till IS NULL and u.active
WHERE di.id IS NULL AND u.id > 0 AND u.silenced_till IS NULL AND u.active
#{SiteSetting.must_approve_users ? 'AND u.approved' : ''}
", period_type: period_types[period_type]

# Calculate new values and update records
@@ -143,5 +143,17 @@
expect(monthly_directory_item.days_visited).to eq(3)
end

context 'must approve users' do
before do
SiteSetting.must_approve_users = true
end

it "doesn't include user who hasn't been approved" do
user = Fabricate(:user, approved: false)
DirectoryItem.refresh!
expect(DirectoryItem.where(user_id: user.id).count).to eq(0)
end
end

end
end

1 comment on commit 7331e08

@discoursebot

This comment has been minimized.

Copy link

commented on 7331e08 Sep 11, 2019

This commit has been mentioned on Discourse Meta. There might be relevant details there:

https://meta.discourse.org/t/pending-users-show-up-in-users-page/127668/7

Please sign in to comment.
You can’t perform that action at this time.