mirror of https://github.com/jumpserver/jumpserver
fix: 修复获取授权规则的账号列表为空的问题
parent
da9516608f
commit
4574161009
|
@ -211,17 +211,6 @@ class Asset(NodesRelationMixin, AbsConnectivity, JMSOrgBaseModel):
|
||||||
tree_node = TreeNode(**data)
|
tree_node = TreeNode(**data)
|
||||||
return tree_node
|
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:
|
class Meta:
|
||||||
unique_together = [('org_id', 'name')]
|
unique_together = [('org_id', 'name')]
|
||||||
verbose_name = _("Asset")
|
verbose_name = _("Asset")
|
||||||
|
|
|
@ -183,7 +183,7 @@ class CommandFilterRule(OrgModelMixin):
|
||||||
cls, user_id=None, user_group_id=None, account=None,
|
cls, user_id=None, user_group_id=None, account=None,
|
||||||
asset_id=None, org_id=None
|
asset_id=None, org_id=None
|
||||||
):
|
):
|
||||||
from perms.models.const import SpecialAccount
|
from assets.models import Account
|
||||||
user_groups = []
|
user_groups = []
|
||||||
user = get_object_or_none(User, pk=user_id)
|
user = get_object_or_none(User, pk=user_id)
|
||||||
if user:
|
if user:
|
||||||
|
@ -202,7 +202,7 @@ class CommandFilterRule(OrgModelMixin):
|
||||||
if account:
|
if account:
|
||||||
org_id = account.org_id
|
org_id = account.org_id
|
||||||
q |= Q(accounts__contains=account.username) | \
|
q |= Q(accounts__contains=account.username) | \
|
||||||
Q(accounts__contains=SpecialAccount.ALL.value)
|
Q(accounts__contains=Account.AliasAccount.ALL)
|
||||||
if asset:
|
if asset:
|
||||||
org_id = asset.org_id
|
org_id = asset.org_id
|
||||||
q |= Q(assets=asset)
|
q |= Q(assets=asset)
|
||||||
|
|
|
@ -125,7 +125,7 @@ class AssetPermission(OrgModelMixin):
|
||||||
"""
|
"""
|
||||||
asset_ids = self.get_all_assets(flat=True)
|
asset_ids = self.get_all_assets(flat=True)
|
||||||
q = Q(asset_id__in=asset_ids)
|
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)
|
q &= Q(username__in=self.accounts)
|
||||||
accounts = Account.objects.filter(q).order_by('asset__name', 'name', 'username')
|
accounts = Account.objects.filter(q).order_by('asset__name', 'name', 'username')
|
||||||
if not flat:
|
if not flat:
|
||||||
|
|
|
@ -5,5 +5,4 @@ from .user_permission import user_permission_urlpatterns
|
||||||
|
|
||||||
app_name = 'perms'
|
app_name = 'perms'
|
||||||
|
|
||||||
urlpatterns = asset_permission_urlpatterns \
|
urlpatterns = asset_permission_urlpatterns + user_permission_urlpatterns
|
||||||
+ user_permission_urlpatterns
|
|
||||||
|
|
Loading…
Reference in New Issue