diff --git a/apps/assets/models/asset/common.py b/apps/assets/models/asset/common.py index c9baf8818..f611044cb 100644 --- a/apps/assets/models/asset/common.py +++ b/apps/assets/models/asset/common.py @@ -211,17 +211,6 @@ class Asset(NodesRelationMixin, AbsConnectivity, JMSOrgBaseModel): tree_node = TreeNode(**data) return tree_node - def filter_accounts(self, account_names=None): - from perms.models import AssetPermission - if account_names is None: - return self.accounts.all() - if AssetPermission.SpecialAccount.ALL in account_names: - return self.accounts.all() - # queries = Q(name__in=account_names) | Q(username__in=account_names) - queries = Q(username__in=account_names) - accounts = self.accounts.filter(queries) - return accounts - class Meta: unique_together = [('org_id', 'name')] verbose_name = _("Asset") diff --git a/apps/assets/models/cmd_filter.py b/apps/assets/models/cmd_filter.py index 7023fdbc6..5b9b1ad85 100644 --- a/apps/assets/models/cmd_filter.py +++ b/apps/assets/models/cmd_filter.py @@ -183,7 +183,7 @@ class CommandFilterRule(OrgModelMixin): cls, user_id=None, user_group_id=None, account=None, asset_id=None, org_id=None ): - from perms.models.const import SpecialAccount + from assets.models import Account user_groups = [] user = get_object_or_none(User, pk=user_id) if user: @@ -202,7 +202,7 @@ class CommandFilterRule(OrgModelMixin): if account: org_id = account.org_id q |= Q(accounts__contains=account.username) | \ - Q(accounts__contains=SpecialAccount.ALL.value) + Q(accounts__contains=Account.AliasAccount.ALL) if asset: org_id = asset.org_id q |= Q(assets=asset) diff --git a/apps/perms/models/asset_permission.py b/apps/perms/models/asset_permission.py index 6f48c05d1..aa61ffe14 100644 --- a/apps/perms/models/asset_permission.py +++ b/apps/perms/models/asset_permission.py @@ -125,7 +125,7 @@ class AssetPermission(OrgModelMixin): """ asset_ids = self.get_all_assets(flat=True) q = Q(asset_id__in=asset_ids) - if Account.AliasAccount.ALL in self.accounts: + if Account.AliasAccount.ALL not in self.accounts: q &= Q(username__in=self.accounts) accounts = Account.objects.filter(q).order_by('asset__name', 'name', 'username') if not flat: diff --git a/apps/perms/urls/api_urls.py b/apps/perms/urls/api_urls.py index 9a4b3f10a..5fce2cb39 100644 --- a/apps/perms/urls/api_urls.py +++ b/apps/perms/urls/api_urls.py @@ -5,5 +5,4 @@ from .user_permission import user_permission_urlpatterns app_name = 'perms' -urlpatterns = asset_permission_urlpatterns \ - + user_permission_urlpatterns +urlpatterns = asset_permission_urlpatterns + user_permission_urlpatterns