diff --git a/jasset/asset_api.py b/jasset/asset_api.py
index 998d669c5..8103db23b 100644
--- a/jasset/asset_api.py
+++ b/jasset/asset_api.py
@@ -311,8 +311,12 @@ def write_excel(asset_all):
group_all = '/'.join(group_list)
status = asset.get_status_display()
idc_name = asset.idc.name if asset.idc else u''
+ system_type = asset.system_type if asset.idc else u''
+ system_version = asset.system_version if asset.idc else u''
+ system_os = unicode(system_type) + unicode(system_version)
+
alter_dic = [asset.hostname, asset.ip, idc_name, asset.mac, asset.remote_ip, asset.cpu, asset.memory,
- asset.disk, (asset.system_type + asset.system_version), asset.cabinet, group_all, status,
+ asset.disk, system_os, asset.cabinet, group_all, status,
asset.comment]
data.append(alter_dic)
format = workbook.add_format()
@@ -381,13 +385,13 @@ def excel_to_db(excel_file):
row = table.row_values(row_num)
if row:
ip, port, hostname, use_default_auth, username, password, group = row
- print ip
use_default_auth = 1 if use_default_auth == u'默认' else 0
if get_object(Asset, ip=ip):
continue
if ip and port:
asset = Asset(ip=ip,
port=port,
+ hostname=hostname,
use_default_auth=use_default_auth,
username=username,
password=password
diff --git a/jasset/models.py b/jasset/models.py
index e011302a2..f1e5b46fc 100644
--- a/jasset/models.py
+++ b/jasset/models.py
@@ -37,8 +37,8 @@ class AssetGroup(models.Model):
class IDC(models.Model):
name = models.CharField(max_length=32, verbose_name=u'机房名称')
bandwidth = models.CharField(max_length=32, blank=True, null=True, verbose_name=u'机房带宽')
- linkman = models.CharField(max_length=16, null=True, verbose_name=u'联系人')
- phone = models.CharField(max_length=32, verbose_name=u'联系电话')
+ linkman = models.CharField(max_length=16, blank=True, null=True, verbose_name=u'联系人')
+ phone = models.CharField(max_length=32, blank=True, null=True, verbose_name=u'联系电话')
address = models.CharField(max_length=128, blank=True, null=True, verbose_name=u"机房地址")
network = models.TextField(blank=True, null=True, verbose_name=u"IP地址段")
date_added = models.DateField(auto_now=True, null=True)
diff --git a/jasset/views.py b/jasset/views.py
index b0d616d92..71448f22a 100644
--- a/jasset/views.py
+++ b/jasset/views.py
@@ -2,9 +2,9 @@
import ast
from django.db.models import Q
-from django.shortcuts import get_object_or_404
from jasset.asset_api import *
from jumpserver.api import *
+from jumpserver.models import Setting
from jasset.forms import AssetForm, IdcForm
from jasset.models import Asset, IDC, AssetGroup, ASSET_TYPE, ASSET_STATUS
from ansible_api import Tasks
@@ -13,7 +13,7 @@ from ansible_api import Tasks
@require_role('admin')
def group_add(request):
"""
- Add asset group
+ Group add view
添加资产组
"""
header_title, path1, path2 = u'添加资产组', u'资产管理', u'添加资产组'
@@ -47,7 +47,7 @@ def group_add(request):
@require_role('admin')
def group_edit(request):
"""
- Edit asset group
+ Group edit view
编辑资产组
"""
header_title, path1, path2 = u'编辑主机组', u'资产管理', u'编辑主机组'
@@ -89,7 +89,10 @@ def group_edit(request):
@require_role('admin')
def group_detail(request):
- """ 主机组详情 """
+ """
+ Group detail view
+ 主机组详情
+ """
header_title, path1, path2 = u'主机组详情', u'资产管理', u'主机组详情'
group_id = request.GET.get('id', '')
group = get_object(AssetGroup, id=group_id)
@@ -121,7 +124,7 @@ def group_list(request):
@require_role('admin')
def group_del(request):
"""
- del asset group
+ Group delete view
删除主机组
"""
group_ids = request.GET.get('id', '')
@@ -293,7 +296,7 @@ def asset_list(request):
s = write_excel(asset_find)
if s[0]:
file_name = s[1]
- smg = 'excel文件已生成,请点击下载!'
+ smg = u'excel文件已生成,请点击下载!'
return my_render('jasset/asset_excel_download.html', locals(), request)
assets_list, p, assets, page_range, current_page, show_first, show_end = pages(asset_find, request)
return my_render('jasset/asset_list.html', locals(), request)
@@ -330,13 +333,20 @@ def asset_update(request):
return HttpResponseRedirect('/jasset/asset_detail/?id=%s' % asset_id)
name = request.session.get('username', 'admin')
if asset.use_default_auth:
- username = 'root'
- password = '123456'
+ default = Setting.objects.all()
+ if default:
+ default = default[0]
+ username = default.default_user
+ password = default.default_password
+ port = default.default_port
+ else:
+ return HttpResponse(u'没有设置默认用户名和密码!')
else:
username = asset.username
password = asset.password
+ port = asset.port
- resource = [{"hostname": asset.ip, "port": asset.port,
+ resource = [{"hostname": asset.ip, "port": port,
"username": username, "password": password}]
ansible_instance = Tasks(resource)
@@ -446,16 +456,17 @@ def idc_del(request):
"""
IDC delete view
"""
- uuid = request.GET.get('uuid', '')
- idc = get_object_or_404(IDC, uuid=uuid)
- idc.delete()
+ uuid = request.GET.get('id', '')
+ idc = get_object(IDC, id=uuid)
+ if idc:
+ idc.delete()
return HttpResponseRedirect('/jasset/idc_list/')
@require_role('admin')
def asset_upload(request):
"""
- Upload file view
+ Upload asset excel file view
"""
if request.method == 'POST':
excel_file = request.FILES.get('file_name', '')
diff --git a/static/files/excels/cmdb_excel_2015_11_17_22_38.xlsx b/static/files/excels/cmdb_excel_2015_11_17_22_38.xlsx
new file mode 100644
index 000000000..705c54347
Binary files /dev/null and b/static/files/excels/cmdb_excel_2015_11_17_22_38.xlsx differ
diff --git a/static/files/excels/cmdb_excel_2015_11_17_22_39.xlsx b/static/files/excels/cmdb_excel_2015_11_17_22_39.xlsx
new file mode 100644
index 000000000..83ea97d23
Binary files /dev/null and b/static/files/excels/cmdb_excel_2015_11_17_22_39.xlsx differ
diff --git a/static/files/excels/cmdb_excel_2015_11_17_23_19.xlsx b/static/files/excels/cmdb_excel_2015_11_17_23_19.xlsx
new file mode 100644
index 000000000..26eb98307
Binary files /dev/null and b/static/files/excels/cmdb_excel_2015_11_17_23_19.xlsx differ
diff --git a/static/files/excels/cmdb_excel_2015_11_18_21_40.xlsx b/static/files/excels/cmdb_excel_2015_11_18_21_40.xlsx
new file mode 100644
index 000000000..2acd14d78
Binary files /dev/null and b/static/files/excels/cmdb_excel_2015_11_18_21_40.xlsx differ
diff --git a/static/files/excels/cmdb_excel_2015_11_18_21_52.xlsx b/static/files/excels/cmdb_excel_2015_11_18_21_52.xlsx
new file mode 100644
index 000000000..8bbd94565
Binary files /dev/null and b/static/files/excels/cmdb_excel_2015_11_18_21_52.xlsx differ
diff --git a/static/files/excels/cmdb_excel_2015_11_18_21_53.xlsx b/static/files/excels/cmdb_excel_2015_11_18_21_53.xlsx
new file mode 100644
index 000000000..5a0f01efc
Binary files /dev/null and b/static/files/excels/cmdb_excel_2015_11_18_21_53.xlsx differ
diff --git a/static/files/excels/cmdb_excel_2015_11_18_21_54.xlsx b/static/files/excels/cmdb_excel_2015_11_18_21_54.xlsx
new file mode 100644
index 000000000..e0b025cac
Binary files /dev/null and b/static/files/excels/cmdb_excel_2015_11_18_21_54.xlsx differ
diff --git a/static/files/excels/cmdb_excel_2015_11_18_22_17.xlsx b/static/files/excels/cmdb_excel_2015_11_18_22_17.xlsx
new file mode 100644
index 000000000..77ff51aa5
Binary files /dev/null and b/static/files/excels/cmdb_excel_2015_11_18_22_17.xlsx differ
diff --git a/templates/jasset/asset_detail.html b/templates/jasset/asset_detail.html
index 1f8d0d130..ef202bae9 100644
--- a/templates/jasset/asset_detail.html
+++ b/templates/jasset/asset_detail.html
@@ -31,11 +31,11 @@
IP
- {{ asset.ip }}
+ {{ asset.ip|default_if_none:"" }}
主机名
- {{ asset.hostname }}
+ {{ asset.hostname|default_if_none:"" }}
其他IP
@@ -53,11 +53,11 @@
远控IP
- {{ asset.remote_ip }}
+ {{ asset.remote_ip|default_if_none:"" }}
端口
- {{ asset.port }}
+ {{ asset.port|default_if_none:"" }}
@@ -66,7 +66,7 @@
{% for asset_group in asset.group.all %}
- {{ asset_group.name }}
+ {{ asset_group.name|default_if_none:"" }}
{% endfor %}
@@ -79,19 +79,19 @@
机房
- {{ asset.idc.name }}
+ {{ asset.idc.name|default_if_none:"" }}
硬件厂商型号
- {{ asset.brand }}
+ {{ asset.brand|default_if_none:"" }}
CPU
- {{ asset.cpu }}
+ {{ asset.cpu|default_if_none:"" }}
内存
- {{ asset.memory }}M
+ {{ asset.memory|default_if_none:"" }}{% if asset.memory %}M{% endif %}
硬盘
@@ -100,7 +100,7 @@
{% if asset.disk %}
{% for disk, value in asset.disk|str_to_dic %}
- {{ disk }}     {{ value }}
+ {{ disk|default_if_none:"" }}     {{ value|default_if_none:"" }}
{% endfor %}
{% endif %}
@@ -109,35 +109,35 @@
资产编号
- {{ asset.number }}
+ {{ asset.number|default_if_none:"" }}
SN
- {{ asset.sn }}
+ {{ asset.sn|default_if_none:"" }}
主机类型
- {{ asset.get_asset_type_display }}
+ {{ asset.get_asset_type_display|default_if_none:"" }}
系统版本
- {{ asset.system_type }} {{ asset.system_version }}
+ {{ asset.system_type|default_if_none:"" }} {{ asset.system_version|default_if_none:"" }}
运行环境
- {{ asset.get_env_display }}
+ {{ asset.get_env_display|default_if_none:"" }}
机器状态
- {{ asset.get_status_display }}
+ {{ asset.get_status_display|default_if_none:"" }}
机柜号
- {{ asset.cabinet }}
+ {{ asset.cabinet|default_if_none:"" }}
机柜位置
- {{ asset.position }}
+ {{ asset.position|default_if_none:"" }}
激活
@@ -149,7 +149,7 @@
备注
- {{ asset.comment }}
+ {{ asset.comment|default_if_none:"" }}
diff --git a/templates/jasset/asset_excel_download.html b/templates/jasset/asset_excel_download.html
index d1b6738ee..113544c15 100644
--- a/templates/jasset/asset_excel_download.html
+++ b/templates/jasset/asset_excel_download.html
@@ -1,7 +1,6 @@
×
-
- Nice! excel文件已生成请点击
下载
+
Nice! excel文件已生成请点击
下载
\ No newline at end of file
diff --git a/templates/jasset/asset_list.html b/templates/jasset/asset_list.html
index 133e41eea..9e3ea2d2c 100644
--- a/templates/jasset/asset_list.html
+++ b/templates/jasset/asset_list.html
@@ -119,12 +119,12 @@
- {{ asset.ip }}
- {{ asset.hostname }}
- {{ asset.idc.name }}
+ {{ asset.ip|default_if_none:"" }}
+ {{ asset.hostname|default_if_none:"" }}
+ {{ asset.idc.name|default_if_none:"" }}
{{ asset.group.all|group_str2 }}
{# {{ asset.cpu }}|{{ asset.memory }}|{{ asset.disk }} #}
- {{ asset.system_type }}{{ asset.system_version }}
+ {{ asset.system_type|default_if_none:"" }}{{ asset.system_version|default_if_none:"" }}
{{ asset.use_default_auth|bool2str }}
详情
@@ -169,17 +169,17 @@
});
$(document).ready(function(){
- $('#editable').editableTableWidget({editor: $('