Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
J
jumpserver
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ops
jumpserver
Commits
09de12c0
Commit
09de12c0
authored
Nov 22, 2015
by
liuzheng712
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
index show assets, need discussion
parent
246e8770
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
153 additions
and
13 deletions
+153
-13
views.py
jumpserver/views.py
+12
-1
views.py
juser/views.py
+1
-1
index_cu.html
templates/index_cu.html
+140
-11
No files found.
jumpserver/views.py
View file @
09de12c0
...
@@ -16,7 +16,7 @@ from jumpserver.models import Setting
...
@@ -16,7 +16,7 @@ from jumpserver.models import Setting
from
django.contrib.auth
import
authenticate
,
login
,
logout
from
django.contrib.auth
import
authenticate
,
login
,
logout
from
django.contrib.auth.decorators
import
login_required
from
django.contrib.auth.decorators
import
login_required
from
jlog.models
import
Log
from
jlog.models
import
Log
from
jperm.perm_api
import
get_group_user_perm
def
getDaysByNum
(
num
):
def
getDaysByNum
(
num
):
"""
"""
...
@@ -80,6 +80,17 @@ def index_cu(request):
...
@@ -80,6 +80,17 @@ def index_cu(request):
login_types
=
{
'L'
:
'LDAP'
,
'M'
:
'MAP'
}
login_types
=
{
'L'
:
'LDAP'
,
'M'
:
'MAP'
}
username
=
request
.
user
.
username
username
=
request
.
user
.
username
# TODO: need fix,liuzheng need Asset help
# TODO: need fix,liuzheng need Asset help
asset
=
get_group_user_perm
(
request
.
user
)
print
asset
assets
=
asset
.
get
(
'asset'
)
# idc = []
# for i in assets:
# idc.append(i.idc.id)
# idc_all = IDC.objects.filter(id__in=idc)
idc_all
=
[]
for
i
in
assets
:
idc_all
.
append
(
i
.
idc
)
asset_group_all
=
asset
.
get
(
'asset_group'
)
# posts = Asset.object.all()
# posts = Asset.object.all()
# host_count = len(posts)
# host_count = len(posts)
#
#
...
...
juser/views.py
View file @
09de12c0
...
@@ -12,7 +12,7 @@ from juser.user_api import *
...
@@ -12,7 +12,7 @@ from juser.user_api import *
MAIL_FROM
=
EMAIL_HOST_USER
MAIL_FROM
=
EMAIL_HOST_USER
@login_required
(
login_url
=
'/login'
)
def
chg_role
(
request
):
def
chg_role
(
request
):
role
=
{
'SU'
:
2
,
'GA'
:
1
,
'CU'
:
0
}
role
=
{
'SU'
:
2
,
'GA'
:
1
,
'CU'
:
0
}
if
request
.
session
[
'role_id'
]
>
0
:
if
request
.
session
[
'role_id'
]
>
0
:
...
...
templates/index_cu.html
View file @
09de12c0
...
@@ -53,18 +53,147 @@
...
@@ -53,18 +53,147 @@
</div>
</div>
<div
class=
"ibox-content"
>
<div
class=
"ibox-content"
>
<table
class=
"table table-striped"
>
<form
id=
"asset_form"
>
{% for host_five in new_posts %}
<div
class=
"col-sm-2"
style=
"padding-left: 0px"
>
<tr>
<label>
{% for host in host_five %}
<select
name=
"idc"
class=
"form-control m-b"
onchange=
"change_info()"
>
<td>
{{ host.ip }}
</td>
<option
value=
""
>
IDC机房
</option>
{% for idc in idc_all %}
{% ifequal idc.name idc_name %}
<option
value=
"{{ idc.name }}"
selected
>
{{ idc.name }}
</option>
{% else %}
<option
value=
"{{ idc.name }}"
>
{{ idc.name }}
</option>
{% endifequal %}
{% endfor %}
</select>
</label>
</div>
<div
class=
"col-sm-2"
>
<label>
<select
name=
"group"
class=
"form-control m-b"
onchange=
"change_info()"
>
<option
value=
""
>
主机组
</option>
{% for asset_group in asset_group_all %}
{% ifequal asset_group.name group_name %}
<option
value=
"{{ asset_group.name }}"
selected
>
{{ asset_group.name }}
</option>
{% else %}
<option
value=
"{{ asset_group.name }}"
>
{{ asset_group.name }}
</option>
{% endifequal %}
{% endfor %}
</select>
</label>
</div>
<div
class=
"col-sm-2"
>
<label>
<select
name=
"asset_type"
class=
"form-control m-b"
onchange=
"change_info()"
>
<option
value=
""
>
所有类型
</option>
{% for type in asset_types %}
{% ifequal type.0|int2str asset_type %}
<option
value=
"{{ type.0 }}"
selected
>
{{ type.1 }}
</option>
{% else %}
<option
value=
"{{ type.0 }}"
>
{{ type.1 }}
</option>
{% endifequal %}
{% endfor %}
</select>
</label>
</div>
<div
class=
"col-sm-2"
>
<label>
<select
name=
"status"
class=
"form-control m-b"
onchange=
"change_info()"
>
<option
value=
""
>
所有状态
</option>
{% for s in asset_status %}
{% ifequal s.0|int2str status %}
<option
value=
"{{ s.0 }}"
selected
>
{{ s.1 }}
</option>
{% else %}
<option
value=
"{{ s.0 }}"
>
{{ s.1 }}
</option>
{% endifequal %}
{% endfor %}
</select>
</label>
</div>
<div
class=
"col-sm-4"
>
<div
class=
"input-group"
>
<input
type=
"text"
class=
"form-control m-b"
id=
"search_input"
name=
"keyword"
value=
"{{ keyword }}"
placeholder=
"Search"
>
<input
type=
"text"
style=
"display: none"
>
<div
class=
"input-group-btn"
>
<button
id=
'search_btn'
href=
"/jasset/asset_list/?search=true"
type=
"button"
class=
"btn btn-xm btn-primary search-btn"
onclick=
"change_info()"
>
- 搜索 -
</button>
<button
type=
"button"
href=
"/jasset/asset_list/?export=true"
name=
"export"
class=
"btn btn-xm btn-success search-btn-excel"
onclick=
"return false"
>
- 导出 -
</button>
</div>
</div>
</div>
<div
id=
"export"
></div>
<table
class=
"table table-striped table-bordered table-hover "
id=
"editable"
name=
"editable"
>
<thead>
<tr>
<th
class=
"text-center"
>
<input
id=
"checkall"
type=
"checkbox"
class=
"i-checks"
name=
"checkall"
value=
"checkall"
data-editable=
'false'
onclick=
"check_all('asset_form')"
>
</th>
<th
class=
"text-center"
>
主机名
</th>
<th
class=
"text-center"
name=
"ip"
>
IP地址
</th>
<th
class=
"text-center"
>
IDC
</th>
<th
class=
"text-center"
>
所属主机组
</th>
{#
<th
class=
"text-center"
>
配置信息
</th>
#}
<th
class=
"text-center"
>
操作系统
</th>
<th
class=
"text-center"
>
使用默认管理
</th>
<th
class=
"text-center"
>
操作
</th>
</tr>
</thead>
<tbody>
{% for asset in assets %}
<tr
class=
"gradeX"
>
<td
class=
"text-center"
name=
"id"
value=
"{{ asset.id }}"
data-editable=
'false'
>
<input
name=
"id"
value=
"{{ asset.id }}"
type=
"checkbox"
class=
"i-checks"
>
</td>
<td
class=
"text-center"
>
{{ asset.hostname|default_if_none:"" }}
</td>
<td
class=
"text-center"
>
{{ asset.ip|default_if_none:"" }}
</td>
<td
class=
"text-center"
>
{{ asset.idc.name|default_if_none:"" }}
</td>
<td
class=
"text-center"
>
{{ asset.group.all|group_str2 }}
</td>
{#
<td
class=
"text-center"
>
{{ asset.cpu }}|{{ asset.memory }}|{{ asset.disk }}
</td>
#}
<td
class=
"text-center"
>
{{ asset.system_type|default_if_none:"" }}{{ asset.system_version|default_if_none:"" }}
</td>
<td
class=
"text-center"
>
{{ asset.use_default_auth|bool2str }}
</td>
<td
class=
"text-center"
data-editable=
'false'
>
<a
href=
"/jasset/asset_detail/?id={{ asset.id }}"
class=
"btn btn-xs btn-primary"
>
详情
</a>
{% ifnotequal session_role_id 0 %}
{% if user.role == 'admin' %}
<a
href=
"/jasset/asset_edit/?id={{ asset.id }}"
class=
"btn btn-xs btn-info"
>
编辑
</a>
<a
href=
"/jasset/asset_update/?id={{ asset.id }}"
class=
"btn btn-xs btn-info"
>
更新
</a>
<a
value=
"/jasset/asset_del/?id={{ asset.id }}"
class=
"btn btn-xs btn-danger asset_del"
>
删除
</a>
{% endif %}
{% endifnotequal %}
</td>
</tr>
{% endfor %}
{% endfor %}
</tr>
</tbody>
{% endfor %}
</table>
</table>
<div
class=
"row"
>
{% ifequal host_count 0 %}
<div
class=
"col-sm-6"
>
(空)
{% if user.role == 'admin' %}
{% endifequal %}
<input
type=
"button"
id=
"asset_del"
class=
"btn btn-danger btn-sm"
name=
"del_button"
value=
"删除"
/>
<a
value=
"/jasset/asset_edit_batch/"
type=
"button"
class=
"btn btn-sm btn-warning iframe"
>
修改
</a>
{% endif %}
</div>
{% include 'paginator.html' %}
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment