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