diff options
author | Lunny Xiao <xiaolunwen@gmail.com> | 2019-08-07 12:22:41 +0800 |
---|---|---|
committer | Lauris BH <lauris@nix.lv> | 2019-08-07 07:22:41 +0300 |
commit | c832f0eef7a114bc2ee4fae22b959a9ed90e2a18 (patch) | |
tree | 775b257af21a30d43c379d818b7f62562510d719 /models | |
parent | 28c5ae27d698732b2a42b9a25e9e3b99a28b2ce0 (diff) | |
download | gitea-c832f0eef7a114bc2ee4fae22b959a9ed90e2a18.tar.gz gitea-c832f0eef7a114bc2ee4fae22b959a9ed90e2a18.zip |
Fix approvals counting (#7757)
* fix approvals counting
* fix tests
* fmt
Diffstat (limited to 'models')
-rw-r--r-- | models/org_team.go | 9 | ||||
-rw-r--r-- | models/org_team_test.go | 6 |
2 files changed, 9 insertions, 6 deletions
diff --git a/models/org_team.go b/models/org_team.go index 1786376d02..799716679c 100644 --- a/models/org_team.go +++ b/models/org_team.go @@ -760,11 +760,14 @@ func IsUserInTeams(userID int64, teamIDs []int64) (bool, error) { } // UsersInTeamsCount counts the number of users which are in userIDs and teamIDs -func UsersInTeamsCount(userIDs []int64, teamIDs []int64) (count int64, err error) { - if count, err = x.In("uid", userIDs).In("team_id", teamIDs).Count(new(TeamUser)); err != nil { +func UsersInTeamsCount(userIDs []int64, teamIDs []int64) (int64, error) { + var ids []int64 + if err := x.In("uid", userIDs).In("team_id", teamIDs). + Table("team_user"). + Cols("uid").GroupBy("uid").Find(&ids); err != nil { return 0, err } - return + return int64(len(ids)), nil } // ___________ __________ diff --git a/models/org_team_test.go b/models/org_team_test.go index a81f9c0749..06ab4637d8 100644 --- a/models/org_team_test.go +++ b/models/org_team_test.go @@ -370,7 +370,7 @@ func TestUsersInTeamsCount(t *testing.T) { assert.Equal(t, expected, count) } - test([]int64{2}, []int64{1, 2, 3, 4}, 2) - test([]int64{1, 2, 3, 4, 5}, []int64{2, 5}, 2) - test([]int64{1, 2, 3, 4, 5}, []int64{2, 3, 5}, 3) + test([]int64{2}, []int64{1, 2, 3, 4}, 1) // only userid 2 + test([]int64{1, 2, 3, 4, 5}, []int64{2, 5}, 2) // userid 2,4 + test([]int64{1, 2, 3, 4, 5}, []int64{2, 3, 5}, 3) // userid 2,4,5 } |