Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
gjl2004yn
jumpserver
提交
1ddc2284
J
jumpserver
项目概览
gjl2004yn
/
jumpserver
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
J
jumpserver
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
1ddc2284
编写于
10月 29, 2020
作者:
B
Bai
提交者:
baltery
10月 29, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
perf(application): RemoteApp序列类字段asset,设置为CharPrimaryKeyRelatedField,修改其他字段的required=Flase
上级
c9065fd9
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
35 addition
and
15 deletion
+35
-15
apps/applications/serializers/remote_app.py
apps/applications/serializers/remote_app.py
+35
-15
未找到文件。
apps/applications/serializers/remote_app.py
浏览文件 @
1ddc2284
...
...
@@ -3,6 +3,7 @@
import
copy
from
django.utils.translation
import
ugettext_lazy
as
_
from
django.core.exceptions
import
ObjectDoesNotExist
from
rest_framework
import
serializers
from
common.serializers
import
AdaptedBulkListSerializer
...
...
@@ -14,42 +15,61 @@ from .. import const
from
..models
import
RemoteApp
,
Category
,
Application
class
CharPrimaryKeyRelatedField
(
serializers
.
PrimaryKeyRelatedField
):
def
to_internal_value
(
self
,
data
):
if
self
.
pk_field
is
not
None
:
data
=
self
.
pk_field
.
to_internal_value
(
data
)
try
:
instance
=
self
.
get_queryset
().
get
(
pk
=
data
)
return
str
(
instance
.
id
)
except
ObjectDoesNotExist
:
self
.
fail
(
'does_not_exist'
,
pk_value
=
data
)
except
(
TypeError
,
ValueError
):
self
.
fail
(
'incorrect_type'
,
data_type
=
type
(
data
).
__name__
)
def
to_representation
(
self
,
value
):
if
self
.
pk_field
is
not
None
:
return
self
.
pk_field
.
to_representation
(
value
)
return
value
class
RemoteAppAttrsSerializer
(
serializers
.
Serializer
):
asset
=
serializers
.
CharField
(
max_length
=
36
,
label
=
_
(
'Assets'
))
asset
=
CharPrimaryKeyRelatedField
(
queryset
=
Asset
.
objects
,
label
=
_
(
"Assets"
))
path
=
serializers
.
CharField
(
max_length
=
128
,
label
=
_
(
'Remote App path'
))
class
ChromeAttrsSerializer
(
RemoteAppAttrsSerializer
):
REMOTE_APP_PATH
=
'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe'
path
=
serializers
.
CharField
(
max_length
=
128
,
label
=
_
(
'Remote App path'
),
default
=
REMOTE_APP_PATH
)
chrome_target
=
serializers
.
CharField
(
max_length
=
128
,
label
=
_
(
'Target URL'
))
chrome_username
=
serializers
.
CharField
(
max_length
=
128
,
label
=
_
(
'Username'
))
chrome_password
=
serializers
.
CharField
(
max_length
=
128
,
write_only
=
True
,
label
=
_
(
'Password'
))
chrome_target
=
serializers
.
CharField
(
max_length
=
128
,
allow_blank
=
True
,
required
=
False
,
label
=
_
(
'Target URL'
))
chrome_username
=
serializers
.
CharField
(
max_length
=
128
,
allow_blank
=
True
,
required
=
False
,
label
=
_
(
'Username'
))
chrome_password
=
serializers
.
CharField
(
max_length
=
128
,
allow_blank
=
True
,
required
=
False
,
write_only
=
True
,
label
=
_
(
'Password'
))
class
MySQLWorkbenchAttrsSerializer
(
RemoteAppAttrsSerializer
):
REMOTE_APP_PATH
=
'C:\Program Files\MySQL\MySQL Workbench 8.0 CE\MySQLWorkbench.exe'
path
=
serializers
.
CharField
(
max_length
=
128
,
label
=
_
(
'Remote App path'
),
default
=
REMOTE_APP_PATH
)
mysql_workbench_ip
=
serializers
.
CharField
(
max_length
=
128
,
label
=
_
(
'IP'
))
mysql_workbench_ip
=
serializers
.
CharField
(
max_length
=
128
,
allow_blank
=
True
,
required
=
False
,
label
=
_
(
'IP'
))
mysql_workbench_port
=
serializers
.
IntegerField
(
label
=
_
(
'Port'
))
mysql_workbench_name
=
serializers
.
CharField
(
max_length
=
128
,
label
=
_
(
'Database'
))
mysql_workbench_username
=
serializers
.
CharField
(
max_length
=
128
,
label
=
_
(
'Username'
))
mysql_workbench_password
=
serializers
.
CharField
(
max_length
=
128
,
write_only
=
True
,
label
=
_
(
'Password'
))
mysql_workbench_name
=
serializers
.
CharField
(
max_length
=
128
,
allow_blank
=
True
,
required
=
False
,
label
=
_
(
'Database'
))
mysql_workbench_username
=
serializers
.
CharField
(
max_length
=
128
,
allow_blank
=
True
,
required
=
False
,
label
=
_
(
'Username'
))
mysql_workbench_password
=
serializers
.
CharField
(
max_length
=
128
,
allow_blank
=
True
,
required
=
False
,
write_only
=
True
,
label
=
_
(
'Password'
))
class
VMwareClientAttrsSerializer
(
RemoteAppAttrsSerializer
):
REMOTE_APP_PATH
=
'C:\Program Files (x86)\VMware\Infrastructure\Virtual Infrastructure Client\Launcher\VpxClient.exe'
path
=
serializers
.
CharField
(
max_length
=
128
,
label
=
_
(
'Remote App path'
),
default
=
REMOTE_APP_PATH
)
vmware_target
=
serializers
.
CharField
(
max_length
=
128
,
label
=
_
(
'Target URL'
))
vmware_username
=
serializers
.
CharField
(
max_length
=
128
,
label
=
_
(
'Username'
))
vmware_password
=
serializers
.
CharField
(
max_length
=
128
,
write_only
=
True
,
label
=
_
(
'Password'
))
vmware_target
=
serializers
.
CharField
(
max_length
=
128
,
allow_blank
=
True
,
required
=
False
,
label
=
_
(
'Target URL'
))
vmware_username
=
serializers
.
CharField
(
max_length
=
128
,
allow_blank
=
True
,
required
=
False
,
label
=
_
(
'Username'
))
vmware_password
=
serializers
.
CharField
(
max_length
=
128
,
allow_blank
=
True
,
required
=
False
,
write_only
=
True
,
label
=
_
(
'Password'
))
class
CustomRemoteAppAttrsSeralizers
(
RemoteAppAttrsSerializer
):
custom_cmdline
=
serializers
.
CharField
(
max_length
=
128
,
label
=
_
(
'Operating parameter'
))
custom_target
=
serializers
.
CharField
(
max_length
=
128
,
label
=
_
(
'Target url'
))
custom_username
=
serializers
.
CharField
(
max_length
=
128
,
label
=
_
(
'Username'
))
custom_password
=
serializers
.
CharField
(
max_length
=
128
,
write_only
=
True
,
label
=
_
(
'Password'
))
custom_cmdline
=
serializers
.
CharField
(
max_length
=
128
,
allow_blank
=
True
,
required
=
False
,
label
=
_
(
'Operating parameter'
))
custom_target
=
serializers
.
CharField
(
max_length
=
128
,
allow_blank
=
True
,
required
=
False
,
label
=
_
(
'Target url'
))
custom_username
=
serializers
.
CharField
(
max_length
=
128
,
allow_blank
=
True
,
required
=
False
,
label
=
_
(
'Username'
))
custom_password
=
serializers
.
CharField
(
max_length
=
128
,
allow_blank
=
True
,
required
=
False
,
write_only
=
True
,
label
=
_
(
'Password'
))
class
RemoteAppConnectionInfoSerializer
(
serializers
.
ModelSerializer
):
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录