Skip to content

Commit b1094ff

Browse files
GiteaBotyp05327silverwind
authored
Remove org users who belong to no teams (#24247) (#24313)
Backport #24247 by @yp05327 Fix #24128 Co-authored-by: yp05327 <[email protected]> Co-authored-by: silverwind <[email protected]>
1 parent 8044d87 commit b1094ff

File tree

1 file changed

+13
-4
lines changed

1 file changed

+13
-4
lines changed

models/org_team.go

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -418,6 +418,12 @@ func DeleteTeam(t *organization.Team) error {
418418
return err
419419
}
420420

421+
for _, tm := range t.Members {
422+
if err := removeInvalidOrgUser(ctx, tm.ID, t.OrgID); err != nil {
423+
return err
424+
}
425+
}
426+
421427
// Update organization number of teams.
422428
if _, err := db.Exec(ctx, "UPDATE `user` SET num_teams=num_teams-1 WHERE id=?", t.OrgID); err != nil {
423429
return err
@@ -567,16 +573,19 @@ func removeTeamMember(ctx context.Context, team *organization.Team, userID int64
567573
}
568574
}
569575

576+
return removeInvalidOrgUser(ctx, userID, team.OrgID)
577+
}
578+
579+
func removeInvalidOrgUser(ctx context.Context, userID, orgID int64) error {
570580
// Check if the user is a member of any team in the organization.
571-
if count, err := e.Count(&organization.TeamUser{
581+
if count, err := db.GetEngine(ctx).Count(&organization.TeamUser{
572582
UID: userID,
573-
OrgID: team.OrgID,
583+
OrgID: orgID,
574584
}); err != nil {
575585
return err
576586
} else if count == 0 {
577-
return removeOrgUser(ctx, team.OrgID, userID)
587+
return removeOrgUser(ctx, orgID, userID)
578588
}
579-
580589
return nil
581590
}
582591

0 commit comments

Comments
 (0)