2
0
Fork 0
mirror of https://github.com/discourse/discourse.git synced 2025-09-05 08:59:27 +08:00

FIX: only count 'human' users in group.user_count

This commit is contained in:
Régis Hanol 2018-01-31 21:55:01 +01:00
parent 826584b9c1
commit 4bcf9c5bf3
2 changed files with 17 additions and 20 deletions

View file

@ -281,13 +281,13 @@ class Group < ActiveRecord::Base
remove_subquery =
case name
when :admins
"SELECT id FROM users WHERE NOT admin"
"SELECT id FROM users WHERE id <= 0 OR NOT admin"
when :moderators
"SELECT id FROM users WHERE NOT moderator"
"SELECT id FROM users WHERE id <= 0 OR NOT moderator"
when :staff
"SELECT id FROM users WHERE NOT admin AND NOT moderator"
"SELECT id FROM users WHERE id <= 0 OR (NOT admin AND NOT moderator)"
when :trust_level_0, :trust_level_1, :trust_level_2, :trust_level_3, :trust_level_4
"SELECT id FROM users WHERE trust_level < #{id - 10}"
"SELECT id FROM users WHERE id <= 0 OR trust_level < #{id - 10}"
end
exec_sql <<-SQL
@ -301,15 +301,15 @@ class Group < ActiveRecord::Base
insert_subquery =
case name
when :admins
"SELECT id FROM users WHERE admin"
"SELECT id FROM users WHERE id > 0 AND admin"
when :moderators
"SELECT id FROM users WHERE moderator"
"SELECT id FROM users WHERE id > 0 AND moderator"
when :staff
"SELECT id FROM users WHERE moderator OR admin"
"SELECT id FROM users WHERE id > 0 AND (moderator OR admin)"
when :trust_level_1, :trust_level_2, :trust_level_3, :trust_level_4
"SELECT id FROM users WHERE trust_level >= #{id - 10}"
"SELECT id FROM users WHERE id > 0 AND trust_level >= #{id - 10}"
when :trust_level_0
"SELECT id FROM users"
"SELECT id FROM users WHERE id > 0"
end
exec_sql <<-SQL