diff --git a/common/ASC.Core.Common/Context/Impl/UserManager.cs b/common/ASC.Core.Common/Context/Impl/UserManager.cs index c29bfb1cda..81ed04949b 100644 --- a/common/ASC.Core.Common/Context/Impl/UserManager.cs +++ b/common/ASC.Core.Common/Context/Impl/UserManager.cs @@ -723,6 +723,7 @@ public async Task RemoveUserFromGroupAsync(Guid userId, Guid groupId) return; } + var managerIdTask = GetDepartmentManagerAsync(groupId); var user = await GetUsersAsync(userId); var isUserBefore = await this.IsUserAsync(user); var isPaidUserBefore = await IsPaidUserAsync(user); @@ -731,6 +732,12 @@ await permissionContext.DemandPermissionsAsync(new UserGroupObject(new UserAccou Constants.Action_EditGroups); await userService.RemoveUserGroupRefAsync(Tenant.Id, userId, groupId, UserGroupRefType.Contains); + + var managerId = await managerIdTask; + if (managerId == userId) + { + await userService.RemoveUserGroupRefAsync(Tenant.Id, userId, groupId, UserGroupRefType.Manager); + } ResetGroupCache(userId);