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 @@ - + - + @@ -53,11 +53,11 @@ - + - + @@ -66,7 +66,7 @@
IP{{ asset.ip }}{{ asset.ip|default_if_none:"" }}
主机名{{ asset.hostname }}{{ asset.hostname|default_if_none:"" }}
其他IP
远控IP{{ asset.remote_ip }}{{ asset.remote_ip|default_if_none:"" }}
端口{{ asset.port }}{{ asset.port|default_if_none:"" }}
{% for asset_group in asset.group.all %} - + {% endfor %}
{{ asset_group.name }}{{ asset_group.name|default_if_none:"" }}
@@ -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: $('