mirror of https://github.com/jumpserver/jumpserver
perf: 修改授权的账号
parent
263bcbb566
commit
3468f8cd40
|
@ -226,7 +226,7 @@
|
||||||
"ChangeSecretParams": "Change secret parameters",
|
"ChangeSecretParams": "Change secret parameters",
|
||||||
"ChangeViewHelpText": "Click to switch different views",
|
"ChangeViewHelpText": "Click to switch different views",
|
||||||
"Chat": "Chat",
|
"Chat": "Chat",
|
||||||
"ChatHello": "Hello! Can i help you?",
|
"ChatHello": "Hello, can I help you?",
|
||||||
"ChatAI": "Chat AI",
|
"ChatAI": "Chat AI",
|
||||||
"ChdirHelpText": "By default, the execution directory is the user's home directory",
|
"ChdirHelpText": "By default, the execution directory is the user's home directory",
|
||||||
"CheckAssetsAmount": "Check asset quantity",
|
"CheckAssetsAmount": "Check asset quantity",
|
||||||
|
|
|
@ -105,6 +105,22 @@ class AssetPermission(LabeledMixin, JMSOrgBaseModel):
|
||||||
return True
|
return True
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
@property
|
||||||
|
def real_accounts(self):
|
||||||
|
return [a for a in self.accounts if not a.startswith('@') or a == '@ALL']
|
||||||
|
|
||||||
|
@real_accounts.setter
|
||||||
|
def real_accounts(self, value):
|
||||||
|
self.accounts += value
|
||||||
|
|
||||||
|
@property
|
||||||
|
def virtual_accounts(self):
|
||||||
|
return [a for a in self.accounts if a.startswith('@') and a != '@ALL']
|
||||||
|
|
||||||
|
@virtual_accounts.setter
|
||||||
|
def virtual_accounts(self, value):
|
||||||
|
self.accounts += value
|
||||||
|
|
||||||
@lazyproperty
|
@lazyproperty
|
||||||
def users_amount(self):
|
def users_amount(self):
|
||||||
return self.users.count()
|
return self.users.count()
|
||||||
|
|
|
@ -43,6 +43,8 @@ class AssetPermissionSerializer(ResourceLabelsMixin, BulkOrgResourceModelSeriali
|
||||||
is_valid = serializers.BooleanField(read_only=True, label=_("Is valid"))
|
is_valid = serializers.BooleanField(read_only=True, label=_("Is valid"))
|
||||||
is_expired = serializers.BooleanField(read_only=True, label=_("Is expired"))
|
is_expired = serializers.BooleanField(read_only=True, label=_("Is expired"))
|
||||||
accounts = serializers.ListField(label=_("Accounts"), required=False)
|
accounts = serializers.ListField(label=_("Accounts"), required=False)
|
||||||
|
real_accounts = serializers.ListField(label=_("General accounts"), required=False)
|
||||||
|
virtual_accounts = serializers.ListField(label=_("Virtual accounts"), required=False)
|
||||||
protocols = serializers.ListField(label=_("Protocols"), required=False)
|
protocols = serializers.ListField(label=_("Protocols"), required=False)
|
||||||
|
|
||||||
template_accounts = AccountTemplate.objects.none()
|
template_accounts = AccountTemplate.objects.none()
|
||||||
|
@ -52,9 +54,9 @@ class AssetPermissionSerializer(ResourceLabelsMixin, BulkOrgResourceModelSeriali
|
||||||
fields_mini = ["id", "name"]
|
fields_mini = ["id", "name"]
|
||||||
amount_fields = ["users_amount", "user_groups_amount", "assets_amount", "nodes_amount"]
|
amount_fields = ["users_amount", "user_groups_amount", "assets_amount", "nodes_amount"]
|
||||||
fields_generic = [
|
fields_generic = [
|
||||||
"accounts", "protocols", "actions", "created_by", "date_created",
|
"accounts", "real_accounts", "virtual_accounts", "protocols", "actions",
|
||||||
"date_start", "date_expired", "is_active", "is_expired",
|
"created_by", "date_created", "date_start", "date_expired", "is_active",
|
||||||
"is_valid", "comment", "from_ticket",
|
"is_expired", "is_valid", "comment", "from_ticket",
|
||||||
]
|
]
|
||||||
fields_small = fields_mini + fields_generic
|
fields_small = fields_mini + fields_generic
|
||||||
fields_m2m = ["users", "user_groups", "assets", "nodes", "labels"] + amount_fields
|
fields_m2m = ["users", "user_groups", "assets", "nodes", "labels"] + amount_fields
|
||||||
|
@ -135,6 +137,9 @@ class AssetPermissionSerializer(ResourceLabelsMixin, BulkOrgResourceModelSeriali
|
||||||
template_usernames = list(self.template_accounts.values_list('username', flat=True))
|
template_usernames = list(self.template_accounts.values_list('username', flat=True))
|
||||||
return list(set(account_usernames + template_usernames))
|
return list(set(account_usernames + template_usernames))
|
||||||
|
|
||||||
|
def validate_real_accounts(self, usernames):
|
||||||
|
return self.validate_accounts(usernames)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def setup_eager_loading(cls, queryset):
|
def setup_eager_loading(cls, queryset):
|
||||||
"""Perform necessary eager loading of data."""
|
"""Perform necessary eager loading of data."""
|
||||||
|
|
Loading…
Reference in New Issue