From adc607dafe27c83de51216ca59e900b25c967676 Mon Sep 17 00:00:00 2001 From: Bai Date: Tue, 16 Mar 2021 15:15:06 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E8=A7=92=E8=89=B2=E7=94=B1=E7=BB=84=E7=BB=87=E7=94=A8=E6=88=B7?= =?UTF-8?q?->=E7=BB=84=E7=BB=87=E7=AE=A1=E7=90=86=E5=91=98=E6=97=B6?= =?UTF-8?q?=E4=BB=8E=E7=BB=84=E7=BB=87=E6=B8=85=E9=99=A4=E7=94=A8=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/orgs/models.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/apps/orgs/models.py b/apps/orgs/models.py index 72231f3c3..d762e5eba 100644 --- a/apps/orgs/models.py +++ b/apps/orgs/models.py @@ -363,13 +363,7 @@ class OrgMemberManager(models.Manager): if role in to_add: to_add[role].add(user) - self.remove_users_by_role( - org, - to_remove.users, - to_remove.admins, - to_remove.auditors - ) - + # 先添加再移除 (防止用户角色由组织用户->组织管理员时从组织清除用户) self.add_users_by_role( org, to_add.users, @@ -377,6 +371,13 @@ class OrgMemberManager(models.Manager): to_add.auditors ) + self.remove_users_by_role( + org, + to_remove.users, + to_remove.admins, + to_remove.auditors + ) + def set_users_by_role(self, org, users=None, admins=None, auditors=None): """ 给组织设置带角色的用户