Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
gjl2004yn
jumpserver
提交
5259dd80
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,发现更多精彩内容 >>
提交
5259dd80
编写于
9月 08, 2016
作者:
baltery
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Asset form: Add some comment
上级
409fac3e
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
10 addition
and
0 deletion
+10
-0
apps/assets/forms.py
apps/assets/forms.py
+9
-0
apps/assets/views.py
apps/assets/views.py
+1
-0
未找到文件。
apps/assets/forms.py
浏览文件 @
5259dd80
...
@@ -21,6 +21,7 @@ class AssetForm(forms.ModelForm):
...
@@ -21,6 +21,7 @@ class AssetForm(forms.ModelForm):
class
AssetGroupForm
(
forms
.
ModelForm
):
class
AssetGroupForm
(
forms
.
ModelForm
):
# See AdminUserForm comment same it
assets
=
forms
.
ModelMultipleChoiceField
(
queryset
=
Asset
.
objects
.
all
(),
assets
=
forms
.
ModelMultipleChoiceField
(
queryset
=
Asset
.
objects
.
all
(),
label
=
_
(
'Asset'
),
label
=
_
(
'Asset'
),
required
=
False
,
required
=
False
,
...
@@ -51,6 +52,7 @@ class AssetGroupForm(forms.ModelForm):
...
@@ -51,6 +52,7 @@ class AssetGroupForm(forms.ModelForm):
class
IDCForm
(
forms
.
ModelForm
):
class
IDCForm
(
forms
.
ModelForm
):
# See AdminUserForm comment same it
assets
=
forms
.
ModelMultipleChoiceField
(
queryset
=
Asset
.
objects
.
all
(),
assets
=
forms
.
ModelMultipleChoiceField
(
queryset
=
Asset
.
objects
.
all
(),
label
=
_
(
'Asset'
),
label
=
_
(
'Asset'
),
required
=
False
,
required
=
False
,
...
@@ -81,29 +83,35 @@ class IDCForm(forms.ModelForm):
...
@@ -81,29 +83,35 @@ class IDCForm(forms.ModelForm):
class
AdminUserForm
(
forms
.
ModelForm
):
class
AdminUserForm
(
forms
.
ModelForm
):
# Admin user assets define, let user select, save it in form not in view
assets
=
forms
.
ModelMultipleChoiceField
(
queryset
=
Asset
.
objects
.
all
(),
assets
=
forms
.
ModelMultipleChoiceField
(
queryset
=
Asset
.
objects
.
all
(),
label
=
_
(
'Asset'
),
label
=
_
(
'Asset'
),
required
=
False
,
required
=
False
,
widget
=
forms
.
SelectMultiple
(
widget
=
forms
.
SelectMultiple
(
attrs
=
{
'class'
:
'select2'
,
'data-placeholder'
:
_
(
'Select assets'
)})
attrs
=
{
'class'
:
'select2'
,
'data-placeholder'
:
_
(
'Select assets'
)})
)
)
# Form field name can not start with `_`, so redefine it,
password
=
forms
.
CharField
(
widget
=
forms
.
PasswordInput
,
max_length
=
100
,
min_length
=
8
,
strip
=
True
,
password
=
forms
.
CharField
(
widget
=
forms
.
PasswordInput
,
max_length
=
100
,
min_length
=
8
,
strip
=
True
,
help_text
=
_
(
'If also set private key, use that first'
),
required
=
False
)
help_text
=
_
(
'If also set private key, use that first'
),
required
=
False
)
# Need use upload private key file except paste private key content
private_key_file
=
forms
.
FileField
(
required
=
False
)
private_key_file
=
forms
.
FileField
(
required
=
False
)
def
__init__
(
self
,
*
args
,
**
kwargs
):
def
__init__
(
self
,
*
args
,
**
kwargs
):
# When update a admin user instance, initial it
if
kwargs
.
get
(
'instance'
):
if
kwargs
.
get
(
'instance'
):
initial
=
kwargs
.
get
(
'initial'
,
{})
initial
=
kwargs
.
get
(
'initial'
,
{})
initial
[
'assets'
]
=
kwargs
[
'instance'
].
assets
.
all
()
initial
[
'assets'
]
=
kwargs
[
'instance'
].
assets
.
all
()
super
(
AdminUserForm
,
self
).
__init__
(
*
args
,
**
kwargs
)
super
(
AdminUserForm
,
self
).
__init__
(
*
args
,
**
kwargs
)
def
_save_m2m
(
self
):
def
_save_m2m
(
self
):
# Save assets relation with admin user
super
(
AdminUserForm
,
self
).
_save_m2m
()
super
(
AdminUserForm
,
self
).
_save_m2m
()
assets
=
self
.
cleaned_data
[
'assets'
]
assets
=
self
.
cleaned_data
[
'assets'
]
self
.
instance
.
assets
.
clear
()
self
.
instance
.
assets
.
clear
()
self
.
instance
.
assets
.
add
(
*
tuple
(
assets
))
self
.
instance
.
assets
.
add
(
*
tuple
(
assets
))
def
save
(
self
,
commit
=
True
):
def
save
(
self
,
commit
=
True
):
# Because we define custom field, so we need rewrite :method: `save`
admin_user
=
super
(
AdminUserForm
,
self
).
save
(
commit
=
commit
)
admin_user
=
super
(
AdminUserForm
,
self
).
save
(
commit
=
commit
)
password
=
self
.
cleaned_data
[
'password'
]
password
=
self
.
cleaned_data
[
'password'
]
private_key_file
=
self
.
cleaned_data
[
'private_key_file'
]
private_key_file
=
self
.
cleaned_data
[
'private_key_file'
]
...
@@ -111,6 +119,7 @@ class AdminUserForm(forms.ModelForm):
...
@@ -111,6 +119,7 @@ class AdminUserForm(forms.ModelForm):
if
password
:
if
password
:
admin_user
.
password
=
password
admin_user
.
password
=
password
print
(
password
)
print
(
password
)
# Todo: Validate private key file, and generate public key
if
private_key_file
:
if
private_key_file
:
print
(
private_key_file
)
print
(
private_key_file
)
admin_user
.
private_key
=
private_key_file
.
read
()
admin_user
.
private_key
=
private_key_file
.
read
()
...
...
apps/assets/views.py
浏览文件 @
5259dd80
...
@@ -277,6 +277,7 @@ class AdminUserDetailView(AdminUserRequiredMixin, SingleObjectMixin, ListView):
...
@@ -277,6 +277,7 @@ class AdminUserDetailView(AdminUserRequiredMixin, SingleObjectMixin, ListView):
self
.
object
=
self
.
get_object
(
queryset
=
AdminUser
.
objects
.
all
())
self
.
object
=
self
.
get_object
(
queryset
=
AdminUser
.
objects
.
all
())
return
super
(
AdminUserDetailView
,
self
).
get
(
request
,
*
args
,
**
kwargs
)
return
super
(
AdminUserDetailView
,
self
).
get
(
request
,
*
args
,
**
kwargs
)
# Todo: queryset default order by connectivity, need ops support
def
get_queryset
(
self
):
def
get_queryset
(
self
):
return
self
.
object
.
assets
.
all
()
return
self
.
object
.
assets
.
all
()
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录