From 1ac5de762d0ac633437419dd6dee8350650489ea Mon Sep 17 00:00:00 2001 From: feng <1304903146@qq.com> Date: Tue, 31 Dec 2024 15:56:04 +0800 Subject: [PATCH] perf: Admin connection token validate_permission account --- apps/perms/utils/asset_perm.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/apps/perms/utils/asset_perm.py b/apps/perms/utils/asset_perm.py index d368e0286..b33773efc 100644 --- a/apps/perms/utils/asset_perm.py +++ b/apps/perms/utils/asset_perm.py @@ -1,12 +1,14 @@ from collections import defaultdict +from django.utils import timezone + from accounts.const import AliasAccount from accounts.models import VirtualAccount from assets.models import Asset, MyAsset from common.utils import lazyproperty from orgs.utils import tmp_to_org, tmp_to_root_org -from .permission import AssetPermissionUtil from perms.const import ActionChoices +from .permission import AssetPermissionUtil __all__ = ['PermAssetDetailUtil'] @@ -40,6 +42,12 @@ class PermAssetDetailUtil: def validate_permission(self, account_name, protocol): with tmp_to_org(self.asset.org): + if self.user.is_superuser: + account = self.asset.accounts.all().active().get(name=account_name) + account.actions = ActionChoices.all() + account.date_expired = timezone.now() + timezone.timedelta(days=365) + return account + protocols = self.get_permed_protocols_for_user(only_name=True) if 'all' not in protocols and protocol not in protocols: return None