mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-06-26 15:01:59 +00:00
fix(trans): 完善翻译
This commit is contained in:
parent
dcb38ef534
commit
6e8922da1c
@ -46,3 +46,6 @@ class DatabaseAppSerializer(BulkOrgResourceModelSerializer):
|
|||||||
'created_by', 'date_created', 'date_updated'
|
'created_by', 'date_created', 'date_updated'
|
||||||
'get_type_display',
|
'get_type_display',
|
||||||
]
|
]
|
||||||
|
extra_kwargs = {
|
||||||
|
'get_type_display': {'label': _('Type for display')},
|
||||||
|
}
|
||||||
|
@ -14,7 +14,7 @@ class K8sAttrsSerializer(CloudAttrsSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class K8sAppSerializer(BulkOrgResourceModelSerializer):
|
class K8sAppSerializer(BulkOrgResourceModelSerializer):
|
||||||
type_display = serializers.CharField(source='get_type_display', read_only=True)
|
type_display = serializers.CharField(source='get_type_display', read_only=True, label=_('Type for display'))
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.K8sApp
|
model = models.K8sApp
|
||||||
|
@ -143,7 +143,7 @@ class RemoteAppParamsDictField(CustomMetaDictField):
|
|||||||
|
|
||||||
# TODO: DELETE
|
# TODO: DELETE
|
||||||
class RemoteAppSerializer(BulkOrgResourceModelSerializer):
|
class RemoteAppSerializer(BulkOrgResourceModelSerializer):
|
||||||
params = RemoteAppParamsDictField()
|
params = RemoteAppParamsDictField(label=_('Parameters'))
|
||||||
type_fields_map = const.REMOTE_APP_TYPE_FIELDS_MAP
|
type_fields_map = const.REMOTE_APP_TYPE_FIELDS_MAP
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@ -157,6 +157,10 @@ class RemoteAppSerializer(BulkOrgResourceModelSerializer):
|
|||||||
'created_by', 'date_created', 'asset_info',
|
'created_by', 'date_created', 'asset_info',
|
||||||
'get_type_display'
|
'get_type_display'
|
||||||
]
|
]
|
||||||
|
extra_kwargs = {
|
||||||
|
'asset_info': {'label': _('Asset info')},
|
||||||
|
'get_type_display': {'label': _('Type for display')},
|
||||||
|
}
|
||||||
|
|
||||||
def process_params(self, instance, validated_data):
|
def process_params(self, instance, validated_data):
|
||||||
new_params = copy.deepcopy(validated_data.get('params', {}))
|
new_params = copy.deepcopy(validated_data.get('params', {}))
|
||||||
|
@ -1,13 +1,12 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
#
|
#
|
||||||
from rest_framework import serializers
|
from rest_framework import serializers
|
||||||
from django.db.models import Prefetch, F, Count
|
from django.db.models import F
|
||||||
|
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
|
||||||
from orgs.mixins.serializers import BulkOrgResourceModelSerializer
|
from orgs.mixins.serializers import BulkOrgResourceModelSerializer
|
||||||
from common.serializers import AdaptedBulkListSerializer
|
from ..models import Asset, Node, Platform
|
||||||
from ..models import Asset, Node, Label, Platform
|
|
||||||
from .base import ConnectivitySerializer
|
from .base import ConnectivitySerializer
|
||||||
|
|
||||||
__all__ = [
|
__all__ = [
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
#
|
#
|
||||||
from rest_framework import serializers
|
from rest_framework import serializers
|
||||||
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
|
||||||
from common.serializers import AdaptedBulkListSerializer
|
from common.serializers import AdaptedBulkListSerializer
|
||||||
from orgs.mixins.serializers import BulkOrgResourceModelSerializer
|
from orgs.mixins.serializers import BulkOrgResourceModelSerializer
|
||||||
@ -10,9 +11,9 @@ from .base import AuthSerializerMixin
|
|||||||
|
|
||||||
|
|
||||||
class DomainSerializer(BulkOrgResourceModelSerializer):
|
class DomainSerializer(BulkOrgResourceModelSerializer):
|
||||||
asset_count = serializers.SerializerMethodField()
|
asset_count = serializers.SerializerMethodField(label=_('Assets count'))
|
||||||
application_count = serializers.SerializerMethodField()
|
application_count = serializers.SerializerMethodField(label=_('Applications count'))
|
||||||
gateway_count = serializers.SerializerMethodField()
|
gateway_count = serializers.SerializerMethodField(label=_('Gateways count'))
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Domain
|
model = Domain
|
||||||
@ -26,7 +27,7 @@ class DomainSerializer(BulkOrgResourceModelSerializer):
|
|||||||
fields = fields_small + fields_m2m
|
fields = fields_small + fields_m2m
|
||||||
read_only_fields = ('asset_count', 'gateway_count', 'date_created')
|
read_only_fields = ('asset_count', 'gateway_count', 'date_created')
|
||||||
extra_kwargs = {
|
extra_kwargs = {
|
||||||
'assets': {'required': False}
|
'assets': {'required': False, 'label': _('Assets')},
|
||||||
}
|
}
|
||||||
list_serializer_class = AdaptedBulkListSerializer
|
list_serializer_class = AdaptedBulkListSerializer
|
||||||
|
|
||||||
|
@ -41,10 +41,11 @@ class SystemUserSerializer(AuthSerializerMixin, BulkOrgResourceModelSerializer):
|
|||||||
'public_key': {"write_only": True},
|
'public_key': {"write_only": True},
|
||||||
'private_key': {"write_only": True},
|
'private_key': {"write_only": True},
|
||||||
'token': {"write_only": True},
|
'token': {"write_only": True},
|
||||||
'nodes_amount': {'label': _('Node')},
|
'nodes_amount': {'label': _('Nodes amount')},
|
||||||
'assets_amount': {'label': _('Asset')},
|
'assets_amount': {'label': _('Assets amount')},
|
||||||
'login_mode_display': {'label': _('Login mode display')},
|
'login_mode_display': {'label': _('Login mode display')},
|
||||||
'created_by': {'read_only': True},
|
'created_by': {'read_only': True},
|
||||||
|
'ad_domain': {'label': _('Ad domain')},
|
||||||
}
|
}
|
||||||
|
|
||||||
def validate_auto_push(self, value):
|
def validate_auto_push(self, value):
|
||||||
@ -156,11 +157,15 @@ class SystemUserListSerializer(SystemUserSerializer):
|
|||||||
'auto_generate_key', 'ad_domain',
|
'auto_generate_key', 'ad_domain',
|
||||||
'sftp_root',
|
'sftp_root',
|
||||||
]
|
]
|
||||||
|
|
||||||
extra_kwargs = {
|
extra_kwargs = {
|
||||||
'password': {"write_only": True},
|
'password': {"write_only": True},
|
||||||
'public_key': {"write_only": True},
|
'public_key': {"write_only": True},
|
||||||
'private_key': {"write_only": True},
|
'private_key': {"write_only": True},
|
||||||
|
'nodes_amount': {'label': _('Nodes amount')},
|
||||||
|
'assets_amount': {'label': _('Assets amount')},
|
||||||
|
'login_mode_display': {'label': _('Login mode display')},
|
||||||
|
'created_by': {'read_only': True},
|
||||||
|
'ad_domain': {'label': _('Ad domain')},
|
||||||
}
|
}
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
|
@ -12,7 +12,7 @@ from . import models
|
|||||||
|
|
||||||
|
|
||||||
class FTPLogSerializer(serializers.ModelSerializer):
|
class FTPLogSerializer(serializers.ModelSerializer):
|
||||||
operate_display = serializers.ReadOnlyField(source='get_operate_display')
|
operate_display = serializers.ReadOnlyField(source='get_operate_display', label=_('Operate for display'))
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.FTPLog
|
model = models.FTPLog
|
||||||
@ -23,9 +23,9 @@ class FTPLogSerializer(serializers.ModelSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class UserLoginLogSerializer(serializers.ModelSerializer):
|
class UserLoginLogSerializer(serializers.ModelSerializer):
|
||||||
type_display = serializers.ReadOnlyField(source='get_type_display')
|
type_display = serializers.ReadOnlyField(source='get_type_display', label=_('Type for display'))
|
||||||
status_display = serializers.ReadOnlyField(source='get_status_display')
|
status_display = serializers.ReadOnlyField(source='get_status_display', label=_('Status for display'))
|
||||||
mfa_display = serializers.ReadOnlyField(source='get_mfa_display')
|
mfa_display = serializers.ReadOnlyField(source='get_mfa_display', label=_('MFA for display'))
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.UserLoginLog
|
model = models.UserLoginLog
|
||||||
@ -33,6 +33,9 @@ class UserLoginLogSerializer(serializers.ModelSerializer):
|
|||||||
'id', 'username', 'type', 'type_display', 'ip', 'city', 'user_agent',
|
'id', 'username', 'type', 'type_display', 'ip', 'city', 'user_agent',
|
||||||
'mfa', 'reason', 'status', 'status_display', 'datetime', 'mfa_display'
|
'mfa', 'reason', 'status', 'status_display', 'datetime', 'mfa_display'
|
||||||
)
|
)
|
||||||
|
extra_kwargs = {
|
||||||
|
"user_agent": {'label': _('User agent')}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
class OperateLogSerializer(serializers.ModelSerializer):
|
class OperateLogSerializer(serializers.ModelSerializer):
|
||||||
@ -75,6 +78,8 @@ class CommandExecutionSerializer(serializers.ModelSerializer):
|
|||||||
'hosts': {'label': _('Hosts')}, # 外键,会生成 sql。不在 model 上修改
|
'hosts': {'label': _('Hosts')}, # 外键,会生成 sql。不在 model 上修改
|
||||||
'run_as': {'label': _('Run as')},
|
'run_as': {'label': _('Run as')},
|
||||||
'user': {'label': _('User')},
|
'user': {'label': _('User')},
|
||||||
|
'run_as_display': {'label': _('Run as for display')},
|
||||||
|
'user_display': {'label': _('User for display')},
|
||||||
}
|
}
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
|
Binary file not shown.
@ -8,7 +8,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: JumpServer 0.3.3\n"
|
"Project-Id-Version: JumpServer 0.3.3\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2020-11-10 15:38+0800\n"
|
"POT-Creation-Date: 2020-11-11 16:16+0800\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: ibuler <ibuler@qq.com>\n"
|
"Last-Translator: ibuler <ibuler@qq.com>\n"
|
||||||
"Language-Team: JumpServer team<ibuler@qq.com>\n"
|
"Language-Team: JumpServer team<ibuler@qq.com>\n"
|
||||||
@ -149,10 +149,10 @@ msgstr "Kubernetes应用"
|
|||||||
#: applications/models/remote_app.py:23 assets/models/asset.py:363
|
#: applications/models/remote_app.py:23 assets/models/asset.py:363
|
||||||
#: assets/models/authbook.py:26 assets/models/gathered_user.py:14
|
#: assets/models/authbook.py:26 assets/models/gathered_user.py:14
|
||||||
#: assets/serializers/admin_user.py:32 assets/serializers/asset_user.py:47
|
#: assets/serializers/admin_user.py:32 assets/serializers/asset_user.py:47
|
||||||
#: assets/serializers/asset_user.py:84 assets/serializers/system_user.py:45
|
#: assets/serializers/asset_user.py:84 assets/serializers/system_user.py:191
|
||||||
#: assets/serializers/system_user.py:186 audits/models.py:38
|
#: audits/models.py:38 perms/forms/asset_permission.py:89
|
||||||
#: perms/forms/asset_permission.py:89 perms/models/asset_permission.py:92
|
#: perms/models/asset_permission.py:92 templates/index.html:82
|
||||||
#: templates/index.html:82 terminal/backends/command/models.py:19
|
#: terminal/backends/command/models.py:19
|
||||||
#: terminal/backends/command/serializers.py:13 terminal/models.py:192
|
#: terminal/backends/command/serializers.py:13 terminal/models.py:192
|
||||||
#: users/templates/users/user_asset_permission.html:40
|
#: users/templates/users/user_asset_permission.html:40
|
||||||
#: users/templates/users/user_asset_permission.html:70
|
#: users/templates/users/user_asset_permission.html:70
|
||||||
@ -172,6 +172,7 @@ msgid "App path"
|
|||||||
msgstr "应用路径"
|
msgstr "应用路径"
|
||||||
|
|
||||||
#: applications/models/remote_app.py:36
|
#: applications/models/remote_app.py:36
|
||||||
|
#: applications/serializers/remote_app.py:146
|
||||||
msgid "Parameters"
|
msgid "Parameters"
|
||||||
msgstr "参数"
|
msgstr "参数"
|
||||||
|
|
||||||
@ -209,10 +210,17 @@ msgstr "创建日期"
|
|||||||
msgid "RemoteApp"
|
msgid "RemoteApp"
|
||||||
msgstr "远程应用"
|
msgstr "远程应用"
|
||||||
|
|
||||||
|
#: applications/serializers/database_app.py:50
|
||||||
|
#: applications/serializers/k8s_app.py:17
|
||||||
|
#: applications/serializers/remote_app.py:162 audits/serializers.py:26
|
||||||
|
msgid "Type for display"
|
||||||
|
msgstr "类型(显示名称)"
|
||||||
|
|
||||||
#: applications/serializers/remote_app.py:36 assets/models/user.py:99
|
#: applications/serializers/remote_app.py:36 assets/models/user.py:99
|
||||||
#: templates/_nav.html:39 xpack/plugins/change_auth_plan/models.py:52
|
#: assets/serializers/domain.py:30 templates/_nav.html:39
|
||||||
|
#: xpack/plugins/change_auth_plan/models.py:52
|
||||||
msgid "Assets"
|
msgid "Assets"
|
||||||
msgstr "资产管理"
|
msgstr "资产"
|
||||||
|
|
||||||
#: applications/serializers/remote_app.py:37
|
#: applications/serializers/remote_app.py:37
|
||||||
#: applications/serializers/remote_app.py:58
|
#: applications/serializers/remote_app.py:58
|
||||||
@ -280,6 +288,10 @@ msgstr "运行参数"
|
|||||||
msgid "Target url"
|
msgid "Target url"
|
||||||
msgstr "目标URL"
|
msgstr "目标URL"
|
||||||
|
|
||||||
|
#: applications/serializers/remote_app.py:161
|
||||||
|
msgid "Asset info"
|
||||||
|
msgstr "资产信息"
|
||||||
|
|
||||||
#: assets/api/admin_user.py:46
|
#: assets/api/admin_user.py:46
|
||||||
msgid "Deleted failed, There are related assets"
|
msgid "Deleted failed, There are related assets"
|
||||||
msgstr "删除失败,存在关联资产"
|
msgstr "删除失败,存在关联资产"
|
||||||
@ -321,7 +333,7 @@ msgid "Internal"
|
|||||||
msgstr "内部的"
|
msgstr "内部的"
|
||||||
|
|
||||||
#: assets/models/asset.py:173 assets/models/asset.py:197
|
#: assets/models/asset.py:173 assets/models/asset.py:197
|
||||||
#: assets/serializers/asset.py:67
|
#: assets/serializers/asset.py:66
|
||||||
msgid "Platform"
|
msgid "Platform"
|
||||||
msgstr "系统平台"
|
msgstr "系统平台"
|
||||||
|
|
||||||
@ -338,7 +350,7 @@ msgstr "主机名"
|
|||||||
msgid "Protocol"
|
msgid "Protocol"
|
||||||
msgstr "协议"
|
msgstr "协议"
|
||||||
|
|
||||||
#: assets/models/asset.py:196 assets/serializers/asset.py:69
|
#: assets/models/asset.py:196 assets/serializers/asset.py:68
|
||||||
#: perms/serializers/asset/user_permission.py:41
|
#: perms/serializers/asset/user_permission.py:41
|
||||||
msgid "Protocols"
|
msgid "Protocols"
|
||||||
msgstr "协议组"
|
msgstr "协议组"
|
||||||
@ -599,7 +611,7 @@ msgid "Default asset group"
|
|||||||
msgstr "默认资产组"
|
msgstr "默认资产组"
|
||||||
|
|
||||||
#: assets/models/label.py:15 audits/models.py:36 audits/models.py:56
|
#: assets/models/label.py:15 audits/models.py:36 audits/models.py:56
|
||||||
#: audits/models.py:69 audits/serializers.py:77 authentication/models.py:46
|
#: audits/models.py:69 audits/serializers.py:80 authentication/models.py:46
|
||||||
#: authentication/models.py:90 orgs/models.py:18 orgs/models.py:396
|
#: authentication/models.py:90 orgs/models.py:18 orgs/models.py:396
|
||||||
#: perms/forms/asset_permission.py:83 perms/forms/database_app_permission.py:38
|
#: perms/forms/asset_permission.py:83 perms/forms/database_app_permission.py:38
|
||||||
#: perms/forms/remote_app_permission.py:40 perms/models/asset_permission.py:169
|
#: perms/forms/remote_app_permission.py:40 perms/models/asset_permission.py:169
|
||||||
@ -647,9 +659,8 @@ msgstr "全称"
|
|||||||
msgid "Parent key"
|
msgid "Parent key"
|
||||||
msgstr "ssh私钥"
|
msgstr "ssh私钥"
|
||||||
|
|
||||||
#: assets/models/node.py:409 assets/serializers/system_user.py:44
|
#: assets/models/node.py:409 assets/serializers/system_user.py:190
|
||||||
#: assets/serializers/system_user.py:185 perms/forms/asset_permission.py:92
|
#: perms/forms/asset_permission.py:92 perms/forms/asset_permission.py:99
|
||||||
#: perms/forms/asset_permission.py:99
|
|
||||||
#: users/templates/users/user_asset_permission.html:41
|
#: users/templates/users/user_asset_permission.html:41
|
||||||
#: users/templates/users/user_asset_permission.html:73
|
#: users/templates/users/user_asset_permission.html:73
|
||||||
#: users/templates/users/user_asset_permission.html:158
|
#: users/templates/users/user_asset_permission.html:158
|
||||||
@ -749,40 +760,41 @@ msgstr "可连接"
|
|||||||
msgid "Unknown"
|
msgid "Unknown"
|
||||||
msgstr "未知"
|
msgstr "未知"
|
||||||
|
|
||||||
#: assets/serializers/asset.py:24
|
#: assets/serializers/asset.py:23
|
||||||
msgid "Protocol format should {}/{}"
|
msgid "Protocol format should {}/{}"
|
||||||
msgstr "协议格式 {}/{}"
|
msgstr "协议格式 {}/{}"
|
||||||
|
|
||||||
#: assets/serializers/asset.py:41
|
#: assets/serializers/asset.py:40
|
||||||
msgid "Protocol duplicate: {}"
|
msgid "Protocol duplicate: {}"
|
||||||
msgstr "协议重复: {}"
|
msgstr "协议重复: {}"
|
||||||
|
|
||||||
#: assets/serializers/asset.py:70
|
#: assets/serializers/asset.py:69
|
||||||
msgid "Domain name"
|
msgid "Domain name"
|
||||||
msgstr "网域名称"
|
msgstr "网域名称"
|
||||||
|
|
||||||
#: assets/serializers/asset.py:71
|
#: assets/serializers/asset.py:70
|
||||||
msgid "Admin user name"
|
msgid "Admin user name"
|
||||||
msgstr "管理用户名称"
|
msgstr "管理用户名称"
|
||||||
|
|
||||||
#: assets/serializers/asset.py:72
|
#: assets/serializers/asset.py:71
|
||||||
msgid "Nodes name"
|
msgid "Nodes name"
|
||||||
msgstr "节点名称"
|
msgstr "节点名称"
|
||||||
|
|
||||||
#: assets/serializers/asset.py:111
|
#: assets/serializers/asset.py:110
|
||||||
msgid "Hardware info"
|
msgid "Hardware info"
|
||||||
msgstr "硬件信息"
|
msgstr "硬件信息"
|
||||||
|
|
||||||
#: assets/serializers/asset.py:112 orgs/mixins/serializers.py:26
|
#: assets/serializers/asset.py:111 orgs/mixins/serializers.py:26
|
||||||
msgid "Org name"
|
msgid "Org name"
|
||||||
msgstr "组织名称"
|
msgstr "组织名称"
|
||||||
|
|
||||||
#: assets/serializers/asset.py:166 assets/serializers/asset.py:197
|
#: assets/serializers/asset.py:165 assets/serializers/asset.py:196
|
||||||
msgid "Connectivity"
|
msgid "Connectivity"
|
||||||
msgstr "连接"
|
msgstr "连接"
|
||||||
|
|
||||||
#: assets/serializers/asset_user.py:44
|
#: assets/serializers/asset_user.py:44
|
||||||
#: authentication/templates/authentication/_access_key_modal.html:30
|
#: authentication/templates/authentication/_access_key_modal.html:30
|
||||||
|
#: users/serializers/group.py:37
|
||||||
msgid "ID"
|
msgid "ID"
|
||||||
msgstr "ID"
|
msgstr "ID"
|
||||||
|
|
||||||
@ -811,6 +823,18 @@ msgstr "暂不支持OPENSSH格式的密钥,使用 ssh-keygen -t rsa -m pem生
|
|||||||
msgid "private key invalid"
|
msgid "private key invalid"
|
||||||
msgstr "密钥不合法"
|
msgstr "密钥不合法"
|
||||||
|
|
||||||
|
#: assets/serializers/domain.py:14
|
||||||
|
msgid "Assets count"
|
||||||
|
msgstr "资产数量"
|
||||||
|
|
||||||
|
#: assets/serializers/domain.py:15
|
||||||
|
msgid "Applications count"
|
||||||
|
msgstr "应用数量"
|
||||||
|
|
||||||
|
#: assets/serializers/domain.py:16
|
||||||
|
msgid "Gateways count"
|
||||||
|
msgstr "网关数量"
|
||||||
|
|
||||||
#: assets/serializers/node.py:18
|
#: assets/serializers/node.py:18
|
||||||
msgid "value"
|
msgid "value"
|
||||||
msgstr "值"
|
msgstr "值"
|
||||||
@ -823,23 +847,38 @@ msgstr ""
|
|||||||
msgid "The same level node name cannot be the same"
|
msgid "The same level node name cannot be the same"
|
||||||
msgstr "同级别节点名字不能重复"
|
msgstr "同级别节点名字不能重复"
|
||||||
|
|
||||||
#: assets/serializers/system_user.py:46 assets/serializers/system_user.py:187
|
#: assets/serializers/system_user.py:44 assets/serializers/system_user.py:164
|
||||||
msgid "Login mode display"
|
#: perms/serializers/asset/permission.py:64
|
||||||
msgstr "登录模式显示"
|
msgid "Nodes amount"
|
||||||
|
msgstr "节点数量"
|
||||||
|
|
||||||
#: assets/serializers/system_user.py:86
|
#: assets/serializers/system_user.py:45 assets/serializers/system_user.py:165
|
||||||
|
#: perms/serializers/asset/permission.py:63
|
||||||
|
msgid "Assets amount"
|
||||||
|
msgstr "资产数量"
|
||||||
|
|
||||||
|
#: assets/serializers/system_user.py:46 assets/serializers/system_user.py:166
|
||||||
|
#: assets/serializers/system_user.py:192
|
||||||
|
msgid "Login mode display"
|
||||||
|
msgstr "登录模式(显示名称)"
|
||||||
|
|
||||||
|
#: assets/serializers/system_user.py:48 assets/serializers/system_user.py:168
|
||||||
|
msgid "Ad domain"
|
||||||
|
msgstr "Ad 网域"
|
||||||
|
|
||||||
|
#: assets/serializers/system_user.py:87
|
||||||
msgid "Username same with user with protocol {} only allow 1"
|
msgid "Username same with user with protocol {} only allow 1"
|
||||||
msgstr "用户名和用户相同的一种协议只允许存在一个"
|
msgstr "用户名和用户相同的一种协议只允许存在一个"
|
||||||
|
|
||||||
#: assets/serializers/system_user.py:99
|
#: assets/serializers/system_user.py:100
|
||||||
msgid "* Automatic login mode must fill in the username."
|
msgid "* Automatic login mode must fill in the username."
|
||||||
msgstr "自动登录模式,必须填写用户名"
|
msgstr "自动登录模式,必须填写用户名"
|
||||||
|
|
||||||
#: assets/serializers/system_user.py:107
|
#: assets/serializers/system_user.py:108
|
||||||
msgid "Path should starts with /"
|
msgid "Path should starts with /"
|
||||||
msgstr "路径应该以 / 开头"
|
msgstr "路径应该以 / 开头"
|
||||||
|
|
||||||
#: assets/serializers/system_user.py:118
|
#: assets/serializers/system_user.py:119
|
||||||
msgid "Password or private key required"
|
msgid "Password or private key required"
|
||||||
msgstr "密码或密钥密码需要一个"
|
msgstr "密码或密钥密码需要一个"
|
||||||
|
|
||||||
@ -1080,9 +1119,9 @@ msgstr "登录IP"
|
|||||||
msgid "Login city"
|
msgid "Login city"
|
||||||
msgstr "登录城市"
|
msgstr "登录城市"
|
||||||
|
|
||||||
#: audits/models.py:103
|
#: audits/models.py:103 audits/serializers.py:37
|
||||||
msgid "User agent"
|
msgid "User agent"
|
||||||
msgstr "Agent"
|
msgstr "用户代理"
|
||||||
|
|
||||||
#: audits/models.py:104
|
#: audits/models.py:104
|
||||||
#: authentication/templates/authentication/_mfa_confirm_modal.html:14
|
#: authentication/templates/authentication/_mfa_confirm_modal.html:14
|
||||||
@ -1108,23 +1147,44 @@ msgstr "状态"
|
|||||||
msgid "Date login"
|
msgid "Date login"
|
||||||
msgstr "登录日期"
|
msgstr "登录日期"
|
||||||
|
|
||||||
#: audits/serializers.py:62 audits/serializers.py:74 ops/models/adhoc.py:244
|
#: audits/serializers.py:15
|
||||||
|
msgid "Operate for display"
|
||||||
|
msgstr "操作(显示名称)"
|
||||||
|
|
||||||
|
#: audits/serializers.py:27
|
||||||
|
msgid "Status for display"
|
||||||
|
msgstr "状态(显示名称)"
|
||||||
|
|
||||||
|
#: audits/serializers.py:28
|
||||||
|
msgid "MFA for display"
|
||||||
|
msgstr "多因子认证状态(显示名称)"
|
||||||
|
|
||||||
|
#: audits/serializers.py:65 audits/serializers.py:77 ops/models/adhoc.py:244
|
||||||
|
#: terminal/serializers/session.py:34
|
||||||
msgid "Is success"
|
msgid "Is success"
|
||||||
msgstr "是否成功"
|
msgstr "是否成功"
|
||||||
|
|
||||||
#: audits/serializers.py:73 ops/models/command.py:24
|
#: audits/serializers.py:76 ops/models/command.py:24
|
||||||
#: xpack/plugins/cloud/models.py:218
|
#: xpack/plugins/cloud/models.py:218
|
||||||
msgid "Result"
|
msgid "Result"
|
||||||
msgstr "结果"
|
msgstr "结果"
|
||||||
|
|
||||||
#: audits/serializers.py:75
|
#: audits/serializers.py:78
|
||||||
msgid "Hosts"
|
msgid "Hosts"
|
||||||
msgstr "主机"
|
msgstr "主机"
|
||||||
|
|
||||||
#: audits/serializers.py:76
|
#: audits/serializers.py:79
|
||||||
msgid "Run as"
|
msgid "Run as"
|
||||||
msgstr "运行用户"
|
msgstr "运行用户"
|
||||||
|
|
||||||
|
#: audits/serializers.py:81
|
||||||
|
msgid "Run as for display"
|
||||||
|
msgstr "运行用户(显示名称)"
|
||||||
|
|
||||||
|
#: audits/serializers.py:82
|
||||||
|
msgid "User for display"
|
||||||
|
msgstr "用户(显示名称)"
|
||||||
|
|
||||||
#: authentication/api/mfa.py:60
|
#: authentication/api/mfa.py:60
|
||||||
msgid "Code is invalid"
|
msgid "Code is invalid"
|
||||||
msgstr "Code无效"
|
msgstr "Code无效"
|
||||||
@ -1711,7 +1771,7 @@ msgid "Time"
|
|||||||
msgstr "时间"
|
msgstr "时间"
|
||||||
|
|
||||||
#: ops/models/adhoc.py:243 ops/models/command.py:26
|
#: ops/models/adhoc.py:243 ops/models/command.py:26
|
||||||
#: terminal/serializers/session.py:30
|
#: terminal/serializers/session.py:38
|
||||||
msgid "Is finished"
|
msgid "Is finished"
|
||||||
msgstr "是否完成"
|
msgstr "是否完成"
|
||||||
|
|
||||||
@ -1885,7 +1945,7 @@ msgstr "剪贴板粘贴"
|
|||||||
msgid "Clipboard copy paste"
|
msgid "Clipboard copy paste"
|
||||||
msgstr "剪贴板复制粘贴"
|
msgstr "剪贴板复制粘贴"
|
||||||
|
|
||||||
#: perms/models/asset_permission.py:95
|
#: perms/models/asset_permission.py:95 perms/serializers/asset/permission.py:60
|
||||||
msgid "Actions"
|
msgid "Actions"
|
||||||
msgstr "动作"
|
msgstr "动作"
|
||||||
|
|
||||||
@ -1920,6 +1980,60 @@ msgid ""
|
|||||||
"permission type. ({})"
|
"permission type. ({})"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: perms/serializers/asset/permission.py:58 users/serializers/user.py:76
|
||||||
|
msgid "Is expired"
|
||||||
|
msgstr " 是否过期"
|
||||||
|
|
||||||
|
#: perms/serializers/asset/permission.py:59
|
||||||
|
#: perms/serializers/database_app_permission.py:43
|
||||||
|
#: perms/serializers/database_app_permission.py:62
|
||||||
|
#: perms/serializers/k8s_app_permission.py:41
|
||||||
|
#: perms/serializers/k8s_app_permission.py:60
|
||||||
|
#: perms/serializers/remote_app_permission.py:36 users/serializers/user.py:75
|
||||||
|
msgid "Is valid"
|
||||||
|
msgstr "账户是否有效"
|
||||||
|
|
||||||
|
#: perms/serializers/asset/permission.py:61
|
||||||
|
#: perms/serializers/database_app_permission.py:44
|
||||||
|
#: perms/serializers/database_app_permission.py:63
|
||||||
|
#: perms/serializers/k8s_app_permission.py:42
|
||||||
|
#: perms/serializers/k8s_app_permission.py:61
|
||||||
|
#: perms/serializers/remote_app_permission.py:37 users/serializers/group.py:36
|
||||||
|
msgid "Users amount"
|
||||||
|
msgstr "用户数量"
|
||||||
|
|
||||||
|
#: perms/serializers/asset/permission.py:62
|
||||||
|
#: perms/serializers/database_app_permission.py:45
|
||||||
|
#: perms/serializers/database_app_permission.py:64
|
||||||
|
#: perms/serializers/k8s_app_permission.py:43
|
||||||
|
#: perms/serializers/k8s_app_permission.py:62
|
||||||
|
#: perms/serializers/remote_app_permission.py:38
|
||||||
|
msgid "User groups amount"
|
||||||
|
msgstr "用户组数量"
|
||||||
|
|
||||||
|
#: perms/serializers/asset/permission.py:65
|
||||||
|
#: perms/serializers/database_app_permission.py:46
|
||||||
|
#: perms/serializers/database_app_permission.py:65
|
||||||
|
#: perms/serializers/k8s_app_permission.py:44
|
||||||
|
#: perms/serializers/k8s_app_permission.py:63
|
||||||
|
#: perms/serializers/remote_app_permission.py:39
|
||||||
|
msgid "System users amount"
|
||||||
|
msgstr "系统用户数量"
|
||||||
|
|
||||||
|
#: perms/serializers/database_app_permission.py:47
|
||||||
|
#: perms/serializers/database_app_permission.py:66
|
||||||
|
#: perms/serializers/k8s_app_permission.py:45
|
||||||
|
msgid "Database apps amount"
|
||||||
|
msgstr "数据库应用数量"
|
||||||
|
|
||||||
|
#: perms/serializers/k8s_app_permission.py:64
|
||||||
|
msgid "K8s apps amount"
|
||||||
|
msgstr "K8S 应用数量"
|
||||||
|
|
||||||
|
#: perms/serializers/remote_app_permission.py:40
|
||||||
|
msgid "Remote apps amount"
|
||||||
|
msgstr "远程应用数量"
|
||||||
|
|
||||||
#: perms/utils/asset/user_permission.py:30
|
#: perms/utils/asset/user_permission.py:30
|
||||||
msgid "Favorite"
|
msgid "Favorite"
|
||||||
msgstr "收藏夹"
|
msgstr "收藏夹"
|
||||||
@ -2282,9 +2396,9 @@ msgstr "Web终端"
|
|||||||
msgid "File manager"
|
msgid "File manager"
|
||||||
msgstr "文件管理"
|
msgstr "文件管理"
|
||||||
|
|
||||||
#: templates/_nav.html:110
|
#: templates/_nav.html:110 terminal/serializers/session.py:37
|
||||||
msgid "Terminal"
|
msgid "Terminal"
|
||||||
msgstr "终端管理"
|
msgstr "终端"
|
||||||
|
|
||||||
#: templates/_nav.html:121
|
#: templates/_nav.html:121
|
||||||
msgid "Job Center"
|
msgid "Job Center"
|
||||||
@ -2592,6 +2706,14 @@ msgstr "会话"
|
|||||||
msgid "Risk level"
|
msgid "Risk level"
|
||||||
msgstr "风险等级"
|
msgstr "风险等级"
|
||||||
|
|
||||||
|
#: terminal/backends/command/serializers.py:19
|
||||||
|
msgid "Risk level for display"
|
||||||
|
msgstr "风险等级(显示名称)"
|
||||||
|
|
||||||
|
#: terminal/backends/command/serializers.py:21
|
||||||
|
msgid "Timestamp"
|
||||||
|
msgstr "时间戳"
|
||||||
|
|
||||||
#: terminal/exceptions.py:8
|
#: terminal/exceptions.py:8
|
||||||
msgid "Bulk create not support"
|
msgid "Bulk create not support"
|
||||||
msgstr "不支持批量创建"
|
msgstr "不支持批量创建"
|
||||||
@ -2656,6 +2778,30 @@ msgstr "结束日期"
|
|||||||
msgid "Args"
|
msgid "Args"
|
||||||
msgstr "参数"
|
msgstr "参数"
|
||||||
|
|
||||||
|
#: terminal/serializers/session.py:30
|
||||||
|
msgid "User ID"
|
||||||
|
msgstr "用户 ID"
|
||||||
|
|
||||||
|
#: terminal/serializers/session.py:31
|
||||||
|
msgid "Asset ID"
|
||||||
|
msgstr "资产 ID"
|
||||||
|
|
||||||
|
#: terminal/serializers/session.py:32
|
||||||
|
msgid "System user ID"
|
||||||
|
msgstr "系统用户 ID"
|
||||||
|
|
||||||
|
#: terminal/serializers/session.py:33
|
||||||
|
msgid "Login from for display"
|
||||||
|
msgstr "登录来源(显示名称)"
|
||||||
|
|
||||||
|
#: terminal/serializers/session.py:35
|
||||||
|
msgid "Can replay"
|
||||||
|
msgstr "是否可重放"
|
||||||
|
|
||||||
|
#: terminal/serializers/session.py:36
|
||||||
|
msgid "Can join"
|
||||||
|
msgstr "是否可加入"
|
||||||
|
|
||||||
#: terminal/serializers/terminal.py:38 terminal/serializers/terminal.py:46
|
#: terminal/serializers/terminal.py:38 terminal/serializers/terminal.py:46
|
||||||
msgid "Not found"
|
msgid "Not found"
|
||||||
msgstr "没有发现"
|
msgstr "没有发现"
|
||||||
@ -2667,7 +2813,7 @@ msgid ""
|
|||||||
"%(command)s"
|
"%(command)s"
|
||||||
msgstr "危险命令告警: [%(name)s->%(login_from)s@%(remote_addr)s] $%(command)s"
|
msgstr "危险命令告警: [%(name)s->%(login_from)s@%(remote_addr)s] $%(command)s"
|
||||||
|
|
||||||
#: terminal/utils.py:83
|
#: terminal/utils.py:80
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"\n"
|
"\n"
|
||||||
@ -3066,7 +3212,23 @@ msgstr "管理员"
|
|||||||
msgid "Administrator is the super user of system"
|
msgid "Administrator is the super user of system"
|
||||||
msgstr "Administrator是初始的超级管理员"
|
msgstr "Administrator是初始的超级管理员"
|
||||||
|
|
||||||
#: users/serializers/user.py:49 users/serializers/user.py:83
|
#: users/serializers/user.py:45
|
||||||
|
msgid "MFA level for display"
|
||||||
|
msgstr "多因子认证等级(显示名称)"
|
||||||
|
|
||||||
|
#: users/serializers/user.py:46
|
||||||
|
msgid "Login blocked"
|
||||||
|
msgstr "登录被阻塞"
|
||||||
|
|
||||||
|
#: users/serializers/user.py:47
|
||||||
|
msgid "Can update"
|
||||||
|
msgstr "是否可更新"
|
||||||
|
|
||||||
|
#: users/serializers/user.py:48
|
||||||
|
msgid "Can delete"
|
||||||
|
msgstr "是否可删除"
|
||||||
|
|
||||||
|
#: users/serializers/user.py:49 users/serializers/user.py:81
|
||||||
msgid "Organization role name"
|
msgid "Organization role name"
|
||||||
msgstr "组织角色名称"
|
msgstr "组织角色名称"
|
||||||
|
|
||||||
@ -3074,34 +3236,34 @@ msgstr "组织角色名称"
|
|||||||
msgid "Is first login"
|
msgid "Is first login"
|
||||||
msgstr "首次登录"
|
msgstr "首次登录"
|
||||||
|
|
||||||
#: users/serializers/user.py:75
|
|
||||||
msgid "Is valid"
|
|
||||||
msgstr "账户是否有效"
|
|
||||||
|
|
||||||
#: users/serializers/user.py:76
|
|
||||||
msgid "Is expired"
|
|
||||||
msgstr " 是否过期"
|
|
||||||
|
|
||||||
#: users/serializers/user.py:77
|
#: users/serializers/user.py:77
|
||||||
msgid "Avatar url"
|
msgid "Avatar url"
|
||||||
msgstr "头像路径"
|
msgstr "头像路径"
|
||||||
|
|
||||||
#: users/serializers/user.py:81
|
#: users/serializers/user.py:79
|
||||||
msgid "Groups name"
|
msgid "Groups name"
|
||||||
msgstr "用户组名"
|
msgstr "用户组名"
|
||||||
|
|
||||||
#: users/serializers/user.py:82
|
#: users/serializers/user.py:80
|
||||||
msgid "Source name"
|
msgid "Source name"
|
||||||
msgstr "用户来源名"
|
msgstr "用户来源名"
|
||||||
|
|
||||||
#: users/serializers/user.py:84
|
#: users/serializers/user.py:82
|
||||||
msgid "Super role name"
|
msgid "Super role name"
|
||||||
msgstr "超级角色名称"
|
msgstr "超级角色名称"
|
||||||
|
|
||||||
#: users/serializers/user.py:85
|
#: users/serializers/user.py:83
|
||||||
msgid "Total role name"
|
msgid "Total role name"
|
||||||
msgstr "汇总角色名称"
|
msgstr "汇总角色名称"
|
||||||
|
|
||||||
|
#: users/serializers/user.py:84
|
||||||
|
msgid "MFA enabled"
|
||||||
|
msgstr "是否开启多因子认证"
|
||||||
|
|
||||||
|
#: users/serializers/user.py:85
|
||||||
|
msgid "MFA force enabled"
|
||||||
|
msgstr "强制启用多因子认证"
|
||||||
|
|
||||||
#: users/serializers/user.py:108
|
#: users/serializers/user.py:108
|
||||||
msgid "Role limit to {}"
|
msgid "Role limit to {}"
|
||||||
msgstr "角色只能为 {}"
|
msgstr "角色只能为 {}"
|
||||||
@ -4315,6 +4477,9 @@ msgstr "旗舰版"
|
|||||||
msgid "Community edition"
|
msgid "Community edition"
|
||||||
msgstr "社区版"
|
msgstr "社区版"
|
||||||
|
|
||||||
|
#~ msgid "MFA level"
|
||||||
|
#~ msgstr "多因子认证级别"
|
||||||
|
|
||||||
#~ msgid "Beijing unicom"
|
#~ msgid "Beijing unicom"
|
||||||
#~ msgstr "北京联通"
|
#~ msgstr "北京联通"
|
||||||
|
|
||||||
@ -4811,9 +4976,6 @@ msgstr "社区版"
|
|||||||
#~ msgid "Update command filter rule"
|
#~ msgid "Update command filter rule"
|
||||||
#~ msgstr "更新命令过滤器规则"
|
#~ msgstr "更新命令过滤器规则"
|
||||||
|
|
||||||
#~ msgid "Update domain"
|
|
||||||
#~ msgstr "更新网域"
|
|
||||||
|
|
||||||
#~ msgid "Domain detail"
|
#~ msgid "Domain detail"
|
||||||
#~ msgstr "网域详情"
|
#~ msgstr "网域详情"
|
||||||
|
|
||||||
@ -4874,9 +5036,6 @@ msgstr "社区版"
|
|||||||
#~ msgid "Last run"
|
#~ msgid "Last run"
|
||||||
#~ msgstr "最后运行"
|
#~ msgstr "最后运行"
|
||||||
|
|
||||||
#~ msgid "Time delta"
|
|
||||||
#~ msgstr "运行时间"
|
|
||||||
|
|
||||||
#~ msgid "Is success "
|
#~ msgid "Is success "
|
||||||
#~ msgstr "成功"
|
#~ msgstr "成功"
|
||||||
|
|
||||||
@ -4993,21 +5152,6 @@ msgstr "社区版"
|
|||||||
#~ msgid "Validity period"
|
#~ msgid "Validity period"
|
||||||
#~ msgstr "有效期"
|
#~ msgstr "有效期"
|
||||||
|
|
||||||
#~ msgid "User count"
|
|
||||||
#~ msgstr "用户数量"
|
|
||||||
|
|
||||||
#~ msgid "User group count"
|
|
||||||
#~ msgstr "用户组数量"
|
|
||||||
|
|
||||||
#~ msgid "Asset count"
|
|
||||||
#~ msgstr "资产数量"
|
|
||||||
|
|
||||||
#~ msgid "Node count"
|
|
||||||
#~ msgstr "节点数量"
|
|
||||||
|
|
||||||
#~ msgid "System user count"
|
|
||||||
#~ msgstr "系统用户数量"
|
|
||||||
|
|
||||||
#~ msgid "Create permission"
|
#~ msgid "Create permission"
|
||||||
#~ msgstr "创建授权规则"
|
#~ msgstr "创建授权规则"
|
||||||
|
|
||||||
@ -5038,18 +5182,12 @@ msgstr "社区版"
|
|||||||
#~ msgid "Select DatabaseApp"
|
#~ msgid "Select DatabaseApp"
|
||||||
#~ msgstr "选择数据库应用"
|
#~ msgstr "选择数据库应用"
|
||||||
|
|
||||||
#~ msgid "DatabaseApp count"
|
|
||||||
#~ msgstr "数据库应用数量"
|
|
||||||
|
|
||||||
#~ msgid "Add user to permission"
|
#~ msgid "Add user to permission"
|
||||||
#~ msgstr "添加用户"
|
#~ msgstr "添加用户"
|
||||||
|
|
||||||
#~ msgid "Add user group to permission"
|
#~ msgid "Add user group to permission"
|
||||||
#~ msgstr "添加用户组"
|
#~ msgstr "添加用户组"
|
||||||
|
|
||||||
#~ msgid "RemoteApp count"
|
|
||||||
#~ msgstr "远程应用数量"
|
|
||||||
|
|
||||||
#~ msgid "RemoteApp list of "
|
#~ msgid "RemoteApp list of "
|
||||||
#~ msgstr "远程应用列表"
|
#~ msgstr "远程应用列表"
|
||||||
|
|
||||||
@ -5484,9 +5622,6 @@ msgstr "社区版"
|
|||||||
#~ msgid "Replay session"
|
#~ msgid "Replay session"
|
||||||
#~ msgstr "回放会话"
|
#~ msgstr "回放会话"
|
||||||
|
|
||||||
#~ msgid "Download replay"
|
|
||||||
#~ msgstr "下载录像"
|
|
||||||
|
|
||||||
#~ msgid "Monitor session"
|
#~ msgid "Monitor session"
|
||||||
#~ msgstr "监控"
|
#~ msgstr "监控"
|
||||||
|
|
||||||
@ -5731,9 +5866,6 @@ msgstr "社区版"
|
|||||||
#~ msgid "Sync success"
|
#~ msgid "Sync success"
|
||||||
#~ msgstr "同步成功"
|
#~ msgstr "同步成功"
|
||||||
|
|
||||||
#~ msgid "New count"
|
|
||||||
#~ msgstr "新增"
|
|
||||||
|
|
||||||
#~ msgid "Unsync count"
|
#~ msgid "Unsync count"
|
||||||
#~ msgstr "未同步"
|
#~ msgstr "未同步"
|
||||||
|
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
from rest_framework import serializers
|
from rest_framework import serializers
|
||||||
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
|
||||||
from django.db.models import Count
|
|
||||||
from orgs.mixins.serializers import BulkOrgResourceModelSerializer
|
from orgs.mixins.serializers import BulkOrgResourceModelSerializer
|
||||||
from perms.models import AssetPermission, Action
|
from perms.models import AssetPermission, Action
|
||||||
|
|
||||||
@ -54,6 +54,16 @@ class AssetPermissionSerializer(BulkOrgResourceModelSerializer):
|
|||||||
]
|
]
|
||||||
fields = small_fields + m2m_fields
|
fields = small_fields + m2m_fields
|
||||||
read_only_fields = ['created_by', 'date_created']
|
read_only_fields = ['created_by', 'date_created']
|
||||||
|
extra_kwargs = {
|
||||||
|
'is_expired': {'label': _('Is expired')},
|
||||||
|
'is_valid': {'label': _('Is valid')},
|
||||||
|
'actions': {'label': _('Actions')},
|
||||||
|
'users_amount': {'label': _('Users amount')},
|
||||||
|
'user_groups_amount': {'label': _('User groups amount')},
|
||||||
|
'assets_amount': {'label': _('Assets amount')},
|
||||||
|
'nodes_amount': {'label': _('Nodes amount')},
|
||||||
|
'system_users_amount': {'label': _('System users amount')},
|
||||||
|
}
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def setup_eager_loading(cls, queryset):
|
def setup_eager_loading(cls, queryset):
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
#
|
#
|
||||||
from django.db.models import Count
|
from django.db.models import Count
|
||||||
from rest_framework import serializers
|
from rest_framework import serializers
|
||||||
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
|
||||||
from common.fields import StringManyToManyField
|
|
||||||
from common.serializers import AdaptedBulkListSerializer
|
from common.serializers import AdaptedBulkListSerializer
|
||||||
from orgs.mixins.serializers import BulkOrgResourceModelSerializer
|
from orgs.mixins.serializers import BulkOrgResourceModelSerializer
|
||||||
from .. import models
|
from .. import models
|
||||||
@ -39,6 +39,13 @@ class DatabaseAppPermissionSerializer(AmountMixin, BulkOrgResourceModelSerialize
|
|||||||
'created_by', 'date_created', 'users_amount', 'user_groups_amount',
|
'created_by', 'date_created', 'users_amount', 'user_groups_amount',
|
||||||
'database_apps_amount', 'system_users_amount',
|
'database_apps_amount', 'system_users_amount',
|
||||||
]
|
]
|
||||||
|
extra_kwargs = {
|
||||||
|
'is_valid': {'label': _('Is valid')},
|
||||||
|
'users_amount': {'label': _('Users amount')},
|
||||||
|
'user_groups_amount': {'label': _('User groups amount')},
|
||||||
|
'system_users_amount': {'label': _('System users amount')},
|
||||||
|
'database_apps_amount': {'label': _('Database apps amount')},
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
class DatabaseAppPermissionListSerializer(AmountMixin, BulkOrgResourceModelSerializer):
|
class DatabaseAppPermissionListSerializer(AmountMixin, BulkOrgResourceModelSerializer):
|
||||||
@ -51,3 +58,10 @@ class DatabaseAppPermissionListSerializer(AmountMixin, BulkOrgResourceModelSeria
|
|||||||
'date_start', 'date_expired', 'is_valid', 'database_apps_amount', 'system_users_amount',
|
'date_start', 'date_expired', 'is_valid', 'database_apps_amount', 'system_users_amount',
|
||||||
'created_by', 'date_created', 'is_expired'
|
'created_by', 'date_created', 'is_expired'
|
||||||
]
|
]
|
||||||
|
extra_kwargs = {
|
||||||
|
'is_valid': {'label': _('Is valid')},
|
||||||
|
'users_amount': {'label': _('Users amount')},
|
||||||
|
'user_groups_amount': {'label': _('User groups amount')},
|
||||||
|
'system_users_amount': {'label': _('System users amount')},
|
||||||
|
'database_apps_amount': {'label': _('Database apps amount')},
|
||||||
|
}
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
#
|
#
|
||||||
from django.db.models import Count
|
from django.db.models import Count
|
||||||
from rest_framework import serializers
|
from rest_framework import serializers
|
||||||
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
|
||||||
from orgs.mixins.serializers import BulkOrgResourceModelSerializer
|
from orgs.mixins.serializers import BulkOrgResourceModelSerializer
|
||||||
from .. import models
|
from .. import models
|
||||||
@ -36,6 +37,13 @@ class K8sAppPermissionSerializer(AmountMixin, BulkOrgResourceModelSerializer):
|
|||||||
'created_by', 'date_created', 'users_amount', 'user_groups_amount',
|
'created_by', 'date_created', 'users_amount', 'user_groups_amount',
|
||||||
'k8s_apps_amount', 'system_users_amount', 'id'
|
'k8s_apps_amount', 'system_users_amount', 'id'
|
||||||
]
|
]
|
||||||
|
extra_kwargs = {
|
||||||
|
'is_valid': {'label': _('Is valid')},
|
||||||
|
'users_amount': {'label': _('Users amount')},
|
||||||
|
'user_groups_amount': {'label': _('User groups amount')},
|
||||||
|
'system_users_amount': {'label': _('System users amount')},
|
||||||
|
'database_apps_amount': {'label': _('Database apps amount')},
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
class K8sAppPermissionListSerializer(AmountMixin, BulkOrgResourceModelSerializer):
|
class K8sAppPermissionListSerializer(AmountMixin, BulkOrgResourceModelSerializer):
|
||||||
@ -48,3 +56,10 @@ class K8sAppPermissionListSerializer(AmountMixin, BulkOrgResourceModelSerializer
|
|||||||
'date_start', 'date_expired', 'is_valid', 'k8s_apps_amount', 'system_users_amount',
|
'date_start', 'date_expired', 'is_valid', 'k8s_apps_amount', 'system_users_amount',
|
||||||
'created_by', 'date_created', 'is_expired'
|
'created_by', 'date_created', 'is_expired'
|
||||||
]
|
]
|
||||||
|
extra_kwargs = {
|
||||||
|
'is_valid': {'label': _('Is valid')},
|
||||||
|
'users_amount': {'label': _('Users amount')},
|
||||||
|
'user_groups_amount': {'label': _('User groups amount')},
|
||||||
|
'system_users_amount': {'label': _('System users amount')},
|
||||||
|
'k8s_apps_amount': {'label': _('K8s apps amount')},
|
||||||
|
}
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
#
|
#
|
||||||
from rest_framework import serializers
|
from rest_framework import serializers
|
||||||
from django.db.models import Count
|
from django.db.models import Count
|
||||||
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
|
||||||
from common.serializers import AdaptedBulkListSerializer
|
from common.serializers import AdaptedBulkListSerializer
|
||||||
from orgs.mixins.serializers import BulkOrgResourceModelSerializer
|
from orgs.mixins.serializers import BulkOrgResourceModelSerializer
|
||||||
@ -31,6 +32,13 @@ class RemoteAppPermissionSerializer(BulkOrgResourceModelSerializer):
|
|||||||
]
|
]
|
||||||
fields = small_fields + m2m_fields
|
fields = small_fields + m2m_fields
|
||||||
read_only_fields = ['created_by', 'date_created']
|
read_only_fields = ['created_by', 'date_created']
|
||||||
|
extra_kwargs = {
|
||||||
|
'is_valid': {'label': _('Is valid')},
|
||||||
|
'users_amount': {'label': _('Users amount')},
|
||||||
|
'user_groups_amount': {'label': _('User groups amount')},
|
||||||
|
'system_users_amount': {'label': _('System users amount')},
|
||||||
|
'remote_apps_amount': {'label': _('Remote apps amount')},
|
||||||
|
}
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def setup_eager_loading(cls, queryset):
|
def setup_eager_loading(cls, queryset):
|
||||||
|
@ -16,9 +16,9 @@ class SessionCommandSerializer(serializers.Serializer):
|
|||||||
output = serializers.CharField(max_length=1024, allow_blank=True, label=_("Output"))
|
output = serializers.CharField(max_length=1024, allow_blank=True, label=_("Output"))
|
||||||
session = serializers.CharField(max_length=36, label=_("Session"))
|
session = serializers.CharField(max_length=36, label=_("Session"))
|
||||||
risk_level = serializers.ChoiceField(required=False, label=_("Risk level"), choices=AbstractSessionCommand.RISK_LEVEL_CHOICES)
|
risk_level = serializers.ChoiceField(required=False, label=_("Risk level"), choices=AbstractSessionCommand.RISK_LEVEL_CHOICES)
|
||||||
risk_level_display = serializers.SerializerMethodField()
|
risk_level_display = serializers.SerializerMethodField(label=_('Risk level for display'))
|
||||||
org_id = serializers.CharField(max_length=36, required=False, default='', allow_null=True, allow_blank=True)
|
org_id = serializers.CharField(max_length=36, required=False, default='', allow_null=True, allow_blank=True)
|
||||||
timestamp = serializers.IntegerField()
|
timestamp = serializers.IntegerField(label=_('Timestamp'))
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def get_risk_level_display(obj):
|
def get_risk_level_display(obj):
|
||||||
|
@ -27,7 +27,15 @@ class SessionSerializer(BulkOrgResourceModelSerializer):
|
|||||||
]
|
]
|
||||||
extra_kwargs = {
|
extra_kwargs = {
|
||||||
"protocol": {'label': _('Protocol')},
|
"protocol": {'label': _('Protocol')},
|
||||||
'is_finished': {'label': _('Is finished')}
|
'user_id': {'label': _('User ID')},
|
||||||
|
'asset_id': {'label': _('Asset ID')},
|
||||||
|
'system_user_id': {'label': _('System user ID')},
|
||||||
|
'login_from_display': {'label': _('Login from for display')},
|
||||||
|
'is_success': {'label': _('Is success')},
|
||||||
|
'can_replay': {'label': _('Can replay')},
|
||||||
|
'can_join': {'label': _('Can join')},
|
||||||
|
'terminal': {'label': _('Terminal')},
|
||||||
|
'is_finished': {'label': _('Is finished')},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -32,7 +32,9 @@ class UserGroupSerializer(BulkOrgResourceModelSerializer):
|
|||||||
'users', 'users_amount',
|
'users', 'users_amount',
|
||||||
]
|
]
|
||||||
extra_kwargs = {
|
extra_kwargs = {
|
||||||
'created_by': {'label': _('Created by'), 'read_only': True}
|
'created_by': {'label': _('Created by'), 'read_only': True},
|
||||||
|
'users_amount': {'label': _('Users amount')},
|
||||||
|
'id': {'label': _('ID')},
|
||||||
}
|
}
|
||||||
|
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
|
@ -42,10 +42,10 @@ class UserSerializer(CommonBulkSerializerMixin, serializers.ModelSerializer):
|
|||||||
choices=PASSWORD_STRATEGY_CHOICES, required=False, initial=0,
|
choices=PASSWORD_STRATEGY_CHOICES, required=False, initial=0,
|
||||||
label=_('Password strategy'), write_only=True
|
label=_('Password strategy'), write_only=True
|
||||||
)
|
)
|
||||||
mfa_level_display = serializers.ReadOnlyField(source='get_mfa_level_display')
|
mfa_level_display = serializers.ReadOnlyField(source='get_mfa_level_display', label=_('MFA level for display'))
|
||||||
login_blocked = serializers.SerializerMethodField()
|
login_blocked = serializers.SerializerMethodField(label=_('Login blocked'))
|
||||||
can_update = serializers.SerializerMethodField()
|
can_update = serializers.SerializerMethodField(label=_('Can update'))
|
||||||
can_delete = serializers.SerializerMethodField()
|
can_delete = serializers.SerializerMethodField(label=_('Can delete'))
|
||||||
org_roles = serializers.ListField(label=_('Organization role name'), allow_null=True, required=False,
|
org_roles = serializers.ListField(label=_('Organization role name'), allow_null=True, required=False,
|
||||||
child=serializers.ChoiceField(choices=ORG_ROLE.choices))
|
child=serializers.ChoiceField(choices=ORG_ROLE.choices))
|
||||||
key_prefix_block = "_LOGIN_BLOCK_{}"
|
key_prefix_block = "_LOGIN_BLOCK_{}"
|
||||||
@ -76,13 +76,13 @@ class UserSerializer(CommonBulkSerializerMixin, serializers.ModelSerializer):
|
|||||||
'is_expired': {'label': _('Is expired')},
|
'is_expired': {'label': _('Is expired')},
|
||||||
'avatar_url': {'label': _('Avatar url')},
|
'avatar_url': {'label': _('Avatar url')},
|
||||||
'created_by': {'read_only': True, 'allow_blank': True},
|
'created_by': {'read_only': True, 'allow_blank': True},
|
||||||
'can_update': {'read_only': True},
|
|
||||||
'can_delete': {'read_only': True},
|
|
||||||
'groups_display': {'label': _('Groups name')},
|
'groups_display': {'label': _('Groups name')},
|
||||||
'source_display': {'label': _('Source name')},
|
'source_display': {'label': _('Source name')},
|
||||||
'org_role_display': {'label': _('Organization role name')},
|
'org_role_display': {'label': _('Organization role name')},
|
||||||
'role_display': {'label': _('Super role name')},
|
'role_display': {'label': _('Super role name')},
|
||||||
'total_role_display': {'label': _('Total role name')}
|
'total_role_display': {'label': _('Total role name')},
|
||||||
|
'mfa_enabled': {'label': _('MFA enabled')},
|
||||||
|
'mfa_force_enabled': {'label': _('MFA force enabled')},
|
||||||
}
|
}
|
||||||
|
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
|
Loading…
Reference in New Issue
Block a user