[MM-63504] When changing a channel to group synced, it doesn't always clear members (#30526)
* fix issue with channel and team membership after group constraints are enabled
Этот коммит содержится в:
@@ -257,18 +257,27 @@ func patchTeam(c *Context, w http.ResponseWriter, r *http.Request) {
|
||||
return
|
||||
}
|
||||
|
||||
if oldTeam, err := c.App.GetTeam(c.Params.TeamId); err == nil {
|
||||
oldTeam, err := c.App.GetTeam(c.Params.TeamId)
|
||||
if err == nil {
|
||||
auditRec.AddEventPriorState(oldTeam)
|
||||
auditRec.AddEventObjectType("team")
|
||||
}
|
||||
|
||||
patchedTeam, err := c.App.PatchTeam(c.Params.TeamId, &team)
|
||||
|
||||
if err != nil {
|
||||
c.Err = err
|
||||
return
|
||||
}
|
||||
|
||||
// If the team is now group constrained but wasn't previously, delete members that aren't part of the team's groups
|
||||
if patchedTeam.GroupConstrained != nil && *patchedTeam.GroupConstrained && (oldTeam.GroupConstrained == nil || !*oldTeam.GroupConstrained) {
|
||||
c.App.Srv().Go(func() {
|
||||
if err := c.App.DeleteGroupConstrainedTeamMemberships(c.AppContext, &c.Params.TeamId); err != nil {
|
||||
c.Logger.Warn("Error deleting group-constrained team memberships", mlog.Err(err))
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
c.App.SanitizeTeam(*c.AppContext.Session(), patchedTeam)
|
||||
|
||||
auditRec.Success()
|
||||
|
||||
Ссылка в новой задаче
Block a user