perf: 修改支持 AD (#10926)

* stash

* perf: 修改支持 AD

* perf: 优化 default

---------

Co-authored-by: ibuler <ibuler@qq.com>
pull/11408/head^2
fit2bot 2023-07-07 16:15:32 +08:00 committed by GitHub
parent 61078ee2ed
commit 9607ab5164
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 10 additions and 9 deletions

View File

@ -62,11 +62,12 @@ class Protocol(ChoicesMixin, models.TextChoices):
'label': _('Security'), 'label': _('Security'),
'help_text': _("Security layer to use for the connection") 'help_text': _("Security layer to use for the connection")
}, },
# 'ad_domain': { 'ad_domain': {
# 'type': 'str', 'type': 'str',
# "required": False, 'required': False,
# 'label': _('AD domain') 'default': '',
# } 'label': _('AD domain')
}
} }
}, },
cls.vnc: { cls.vnc: {

View File

@ -350,7 +350,7 @@ class AllTypes(ChoicesMixin):
for d in platform_datas: for d in platform_datas:
name = d['name'] name = d['name']
# print("\t - Platform: {}".format(name)) print("\t - Platform: {}".format(name))
_automation = d.pop('automation', {}) _automation = d.pop('automation', {})
_protocols = d.pop('_protocols', []) _protocols = d.pop('_protocols', [])
_protocols_setting = d.pop('protocols_setting', {}) _protocols_setting = d.pop('protocols_setting', {})
@ -363,7 +363,7 @@ class AllTypes(ChoicesMixin):
setting = _protocols_setting.get(p['name'], {}) setting = _protocols_setting.get(p['name'], {})
p['required'] = setting.pop('required', False) p['required'] = setting.pop('required', False)
p['default'] = setting.pop('default', False) p['default'] = setting.pop('default', False)
p['setting'] = {**p.get('setting', {}), **setting} p['setting'] = {**p.get('setting', {}).get('default', ''), **setting}
platform_data = { platform_data = {
**default_platform_data, **d, **default_platform_data, **d,

View File

@ -51,8 +51,8 @@ def create_serializer_class(serializer_name, fields_info):
field_type = data.pop('type', 'str') field_type = data.pop('type', 'str')
# 用户定义 default 和 required 可能会冲突, 所以要处理一下 # 用户定义 default 和 required 可能会冲突, 所以要处理一下
default = data.get('default', '') default = data.get('default', None)
if default not in ['', None]: if default is not None:
data['required'] = False data['required'] = False
else: else:
data.pop('default', None) data.pop('default', None)