MM-17432: Removes deactivated users from the group member counts. (#11829)
* MM-17432: Removes deactivated users from the group member counts. * MM-17432: Reuses variable.
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
404c49f62f
Коммит
58880a9694
@@ -261,8 +261,10 @@ func (s *SqlGroupStore) GetMemberCount(groupID string) (int64, *model.AppError)
|
||||
count(*)
|
||||
FROM
|
||||
GroupMembers
|
||||
JOIN Users ON Users.Id = GroupMembers.UserId
|
||||
WHERE
|
||||
GroupMembers.GroupId = :GroupId`
|
||||
GroupMembers.GroupId = :GroupId
|
||||
AND Users.DeleteAt = 0`
|
||||
|
||||
count, err := s.GetReplica().SelectInt(query, map[string]interface{}{"GroupId": groupID})
|
||||
if err != nil {
|
||||
@@ -840,7 +842,7 @@ func (s *SqlGroupStore) groupsBySyncableBaseQuery(st model.GroupSyncableType, t
|
||||
query = s.getQueryBuilder().
|
||||
Select("ug.*, coalesce(Members.MemberCount, 0) AS MemberCount").
|
||||
From("UserGroups ug").
|
||||
LeftJoin("(SELECT GroupMembers.GroupId, COUNT(*) AS MemberCount FROM GroupMembers WHERE GroupMembers.DeleteAt = 0 GROUP BY GroupId) AS Members ON Members.GroupId = ug.Id").
|
||||
LeftJoin("(SELECT GroupMembers.GroupId, COUNT(*) AS MemberCount FROM GroupMembers LEFT JOIN Users ON Users.Id = GroupMembers.UserId WHERE GroupMembers.DeleteAt = 0 AND Users.DeleteAt = 0 GROUP BY GroupId) AS Members ON Members.GroupId = ug.Id").
|
||||
LeftJoin(fmt.Sprintf("%[1]s ON %[1]s.GroupId = ug.Id", table)).
|
||||
Where(fmt.Sprintf("%[1]s.DeleteAt = 0 AND %[1]s.%[2]s = ?", table, idCol), syncableID).
|
||||
OrderBy("ug.DisplayName")
|
||||
@@ -906,7 +908,7 @@ func (s *SqlGroupStore) GetGroups(page, perPage int, opts model.GroupSearchOpts)
|
||||
groupsQuery = s.getQueryBuilder().
|
||||
Select("g.*, coalesce(Members.MemberCount, 0) AS MemberCount").
|
||||
From("UserGroups g").
|
||||
LeftJoin("(SELECT GroupMembers.GroupId, COUNT(*) AS MemberCount FROM GroupMembers WHERE GroupMembers.DeleteAt = 0 GROUP BY GroupId) AS Members ON Members.GroupId = g.Id").
|
||||
LeftJoin("(SELECT GroupMembers.GroupId, COUNT(*) AS MemberCount FROM GroupMembers LEFT JOIN Users ON Users.Id = GroupMembers.UserId WHERE GroupMembers.DeleteAt = 0 AND Users.DeleteAt = 0 GROUP BY GroupId) AS Members ON Members.GroupId = g.Id").
|
||||
Limit(uint64(perPage)).
|
||||
Offset(uint64(page * perPage)).
|
||||
OrderBy("g.DisplayName")
|
||||
|
||||
Ссылка в новой задаче
Block a user