Compare commits

...

6 Commits
dev ... v2.12.1

Author SHA1 Message Date
Bai
b754cfe073 feat: update v2.12.1 to latest 2021-08-12 18:23:59 +08:00
Bai
b3499a0675 fix: 修改特权用户文案 2021-07-21 16:46:23 +08:00
feng626
e5d3fe696f 网域网管取消密码不为空校验 2021-07-21 16:32:45 +08:00
ibuler
8f3fb60332 perf: 优化工单推荐资产的数量 2021-07-21 14:39:45 +08:00
xinwen
1116d1d353 fix: xrdp 设置分辨率不生效 2021-07-20 19:29:18 +08:00
feng626
5b239cd340 关闭 网域网关 密码特殊字符校验 2021-07-19 18:26:42 +08:00
10 changed files with 12 additions and 15 deletions

View File

@@ -1,3 +1,4 @@
#!/usr/bin/env python #!/usr/bin/env python
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# #

View File

@@ -10,7 +10,6 @@ from django.db import models
from django.db.models import TextChoices from django.db.models import TextChoices
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from common.utils.strings import no_special_chars
from orgs.mixins.models import OrgModelMixin from orgs.mixins.models import OrgModelMixin
from .base import BaseUser from .base import BaseUser
@@ -64,8 +63,6 @@ class Gateway(BaseUser):
def test_connective(self, local_port=None): def test_connective(self, local_port=None):
if local_port is None: if local_port is None:
local_port = self.port local_port = self.port
if self.password and not no_special_chars(self.password):
return False, _("Password should not contains special characters")
client = paramiko.SSHClient() client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) client.set_missing_host_key_policy(paramiko.AutoAddPolicy())

View File

@@ -4,7 +4,6 @@ from rest_framework import serializers
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.validators import NoSpecialChars
from ..models import Domain, Gateway from ..models import Domain, Gateway
from .base import AuthSerializerMixin from .base import AuthSerializerMixin
@@ -58,7 +57,7 @@ class GatewaySerializer(AuthSerializerMixin, BulkOrgResourceModelSerializer):
fields_fk = ['domain'] fields_fk = ['domain']
fields = fields_small + fields_fk fields = fields_small + fields_fk
extra_kwargs = { extra_kwargs = {
'password': {'write_only': True, 'validators': [NoSpecialChars()]}, 'password': {'write_only': True},
'private_key': {"write_only": True}, 'private_key': {"write_only": True},
'public_key': {"write_only": True}, 'public_key': {"write_only": True},
} }
@@ -67,7 +66,7 @@ class GatewaySerializer(AuthSerializerMixin, BulkOrgResourceModelSerializer):
class GatewayWithAuthSerializer(GatewaySerializer): class GatewayWithAuthSerializer(GatewaySerializer):
class Meta(GatewaySerializer.Meta): class Meta(GatewaySerializer.Meta):
extra_kwargs = { extra_kwargs = {
'password': {'write_only': False, 'validators': [NoSpecialChars()]}, 'password': {'write_only': False},
'private_key': {"write_only": False}, 'private_key': {"write_only": False},
'public_key': {"write_only": False}, 'public_key': {"write_only": False},
} }

View File

@@ -97,10 +97,10 @@ class UserConnectionTokenViewSet(RootOrgViewMixin, SerializerMixin, GenericViewS
options = { options = {
'full address:s': '', 'full address:s': '',
'username:s': '', 'username:s': '',
'screen mode id:i': '0', 'screen mode id:i': '1',
# 'desktopwidth:i': '1280', # 'desktopwidth:i': '1280',
# 'desktopheight:i': '800', # 'desktopheight:i': '800',
'use multimon:i': '1', 'use multimon:i': '0',
'session bpp:i': '32', 'session bpp:i': '32',
'audiomode:i': '0', 'audiomode:i': '0',
'disable wallpaper:i': '0', 'disable wallpaper:i': '0',

Binary file not shown.

View File

@@ -412,7 +412,7 @@ msgstr "激活"
#: assets/models/user.py:190 assets/models/user.py:325 templates/_nav.html:44 #: assets/models/user.py:190 assets/models/user.py:325 templates/_nav.html:44
#: xpack/plugins/cloud/models.py:92 xpack/plugins/cloud/serializers.py:179 #: xpack/plugins/cloud/models.py:92 xpack/plugins/cloud/serializers.py:179
msgid "Admin user" msgid "Admin user"
msgstr "管理用户" msgstr "特权用户"
#: assets/models/asset.py:196 #: assets/models/asset.py:196
msgid "Public IP" msgid "Public IP"
@@ -652,8 +652,8 @@ msgid "Gateway"
msgstr "网关" msgstr "网关"
#: assets/models/domain.py:68 #: assets/models/domain.py:68
msgid "Password should not contains special characters" msgid "Password cannot be empty"
msgstr "密码不能包含特殊字符" msgstr "密码不能为空"
#: assets/models/gathered_user.py:16 #: assets/models/gathered_user.py:16
msgid "Present" msgid "Present"
@@ -805,7 +805,7 @@ msgstr "组织名称"
#: assets/serializers/asset.py:98 #: assets/serializers/asset.py:98
msgid "Admin user display" msgid "Admin user display"
msgstr "管理用户名称" msgstr "特权用户名称"
#: assets/serializers/base.py:41 #: assets/serializers/base.py:41
msgid "private key invalid" msgid "private key invalid"

View File

@@ -73,7 +73,7 @@ msgid ""
"User list、User group、Asset list、Domain list、Admin user、System user、" "User list、User group、Asset list、Domain list、Admin user、System user、"
"Labels、Asset permission" "Labels、Asset permission"
msgstr "" msgstr ""
"用户列表、用户组、资产列表、网域列表、管理用户、系统用户、标签管理、资产授权" "用户列表、用户组、资产列表、网域列表、特权用户、系统用户、标签管理、资产授权"
"规则" "规则"
#: static/js/jumpserver.js:416 #: static/js/jumpserver.js:416

View File

@@ -146,7 +146,7 @@ class ApplyApplicationSerializer(ApplySerializer, ApproveSerializer):
queries &= Q(type=apply_type) queries &= Q(type=apply_type)
with tmp_to_org(self.root.instance.org_id): with tmp_to_org(self.root.instance.org_id):
application_ids = Application.objects.filter(queries).values_list('id', flat=True)[:5] application_ids = Application.objects.filter(queries).values_list('id', flat=True)[:15]
application_ids = [str(application_id) for application_id in application_ids] application_ids = [str(application_id) for application_id in application_ids]
return application_ids return application_ids

View File

@@ -144,7 +144,7 @@ class ApplyAssetSerializer(ApplySerializer, ApproveSerializer):
if not queries: if not queries:
return [] return []
with tmp_to_org(self.root.instance.org_id): with tmp_to_org(self.root.instance.org_id):
asset_ids = Asset.objects.filter(queries).values_list('id', flat=True)[:5] asset_ids = Asset.objects.filter(queries).values_list('id', flat=True)[:100]
asset_ids = [str(asset_id) for asset_id in asset_ids] asset_ids = [str(asset_id) for asset_id in asset_ids]
return asset_ids return asset_ids