From 2d893c4a6ac03e26701b9757a970ff700a873d49 Mon Sep 17 00:00:00 2001 From: "Jiangjie.Bai" Date: Fri, 14 Oct 2022 14:56:38 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E8=8E=B7=E5=8F=96=E6=8E=88?= =?UTF-8?q?=E6=9D=83=E8=A7=84=E5=88=99=E6=8E=88=E6=9D=83=E7=9A=84=E6=89=80?= =?UTF-8?q?=E6=9C=89=E8=B4=A6=E5=8F=B7=E5=AF=B9=E8=B1=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/perms/models/asset_permission.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/apps/perms/models/asset_permission.py b/apps/perms/models/asset_permission.py index 7f6bf02ef..d7b2495e2 100644 --- a/apps/perms/models/asset_permission.py +++ b/apps/perms/models/asset_permission.py @@ -129,8 +129,19 @@ class AssetPermission(OrgModelMixin): return assets def get_all_accounts(self): - """ TODO: 获取所有账号 (Account 对象) """ - pass + """ + :return: 返回授权的所有账号对象 Account + """ + asset_ids = self.get_all_assets(flat=True) + q = Q(asset_id__in=asset_ids) + if not self.is_perm_all_accounts: + q &= Q(username__in=self.accounts) + accounts = Account.objects.filter(q) + return accounts + + @property + def is_perm_all_accounts(self): + return SpecialAccount.ALL in self.accounts @lazyproperty def users_amount(self):