From a47a9c0345ad83273c56312a61218d291283ef90 Mon Sep 17 00:00:00 2001 From: xinwen Date: Thu, 18 Mar 2021 10:50:36 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20Root=20=E7=BB=84=E7=BB=87=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E4=BB=8E=E7=94=A8=E6=88=B7=E7=BB=84=E7=A7=BB=E9=99=A4?= =?UTF-8?q?=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/perms/signals_handler/refresh_perms.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/apps/perms/signals_handler/refresh_perms.py b/apps/perms/signals_handler/refresh_perms.py index 1cd0332e7..e180d6116 100644 --- a/apps/perms/signals_handler/refresh_perms.py +++ b/apps/perms/signals_handler/refresh_perms.py @@ -3,7 +3,7 @@ from django.db.models.signals import m2m_changed, pre_delete, pre_save, post_save from django.dispatch import receiver -from users.models import User +from users.models import User, UserGroup from assets.models import Asset from orgs.utils import current_org, tmp_to_org from common.utils import get_logger @@ -23,16 +23,20 @@ def on_user_groups_change(sender, instance, action, reverse, pk_set, **kwargs): if reverse: group_ids = [instance.id] user_ids = pk_set + org_id = instance.org_id else: group_ids = pk_set user_ids = [instance.id] + group = UserGroup.objects.get(id=group_ids[0]) + org_id = group.org_id + exists = AssetPermission.user_groups.through.objects.filter(usergroup_id__in=group_ids).exists() if not exists: return - with tmp_to_org(instance.org): - org_ids = [current_org.id] - UserGrantedTreeRefreshController.add_need_refresh_orgs_for_users(org_ids, user_ids) + + org_ids = [org_id] + UserGrantedTreeRefreshController.add_need_refresh_orgs_for_users(org_ids, user_ids) @receiver([pre_delete], sender=AssetPermission)