From d42197db3ab0be4a3c908a8c388cc4f18c162660 Mon Sep 17 00:00:00 2001 From: halcyon <864072399@qq.com> Date: Tue, 17 Nov 2015 23:34:13 +0800 Subject: [PATCH] fix tower bugs --- jasset/asset_api.py | 2 +- jasset/models.py | 4 +- jasset/views.py | 22 ++++++---- .../excels/cmdb_excel_2015_11_17_22_38.xlsx | Bin 0 -> 4990 bytes .../excels/cmdb_excel_2015_11_17_22_39.xlsx | Bin 0 -> 4990 bytes .../excels/cmdb_excel_2015_11_17_23_19.xlsx | Bin 0 -> 4990 bytes templates/jasset/asset_detail.html | 38 +++++++++--------- templates/jasset/asset_list.html | 8 ++-- templates/jasset/group_add.html | 12 +++--- templates/jasset/group_detail.html | 14 +++---- templates/jasset/group_edit.html | 4 +- templates/nav.html | 2 +- 12 files changed, 57 insertions(+), 49 deletions(-) create mode 100644 static/files/excels/cmdb_excel_2015_11_17_22_38.xlsx create mode 100644 static/files/excels/cmdb_excel_2015_11_17_22_39.xlsx create mode 100644 static/files/excels/cmdb_excel_2015_11_17_23_19.xlsx diff --git a/jasset/asset_api.py b/jasset/asset_api.py index 998d669c5..284574379 100644 --- a/jasset/asset_api.py +++ b/jasset/asset_api.py @@ -381,13 +381,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 8427f9f67..6bafd5664 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 @@ -330,13 +330,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,9 +453,10 @@ 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/') 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 0000000000000000000000000000000000000000..705c543475c0c947a28b36483792e3b1b833512d GIT binary patch literal 4990 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..83ea97d23f2eeae373115ee6738bfbaae0d7d4ae GIT binary patch literal 4990 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 tK#W 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 %} - + {% 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:"" }} 硬盘 @@ -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_list.html b/templates/jasset/asset_list.html index 133e41eea..63eb123ad 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 }} 详情 diff --git a/templates/jasset/group_add.html b/templates/jasset/group_add.html index f5013ae14..51ffd23c1 100644 --- a/templates/jasset/group_add.html +++ b/templates/jasset/group_add.html @@ -75,12 +75,12 @@
- +
@@ -133,12 +133,12 @@ timely: 2, theme: "yellow_right_effect", fields: { - "j_group": { + "name": { rule: "required", - tip: "输入业务组名", + tip: "输入主机组名", ok: "", - msg: {required: "业务组名必须填写!"}, - data: {'data-ok':"业务组名可以使用"} + msg: {required: "主机组名必须填写!"}, + data: {'data-ok':"主机组名可以使用"} } }, valid: function(form) { diff --git a/templates/jasset/group_detail.html b/templates/jasset/group_detail.html index e31a5d69a..b2b95e963 100644 --- a/templates/jasset/group_detail.html +++ b/templates/jasset/group_detail.html @@ -52,17 +52,17 @@ {% for asset in contacts.object_list %} - - {{ asset.ip }} - {{ asset.port }} - {{ asset.idc.name }} + + {{ asset.ip|default_if_none:"" }} + {{ asset.port|default_if_none:"" }} + {{ asset.idc.name|default_if_none:"" }} {{ asset.bis_group.all | group_str2 }} {{ asset.is_active|bool2str }} {{ asset.date_added|date:"Y-m-d H:i:s" }} - {{ asset.comment }} + {{ asset.comment|default_if_none:"" }} - 详情 - 编辑 + 详情 + 编辑 删除 diff --git a/templates/jasset/group_edit.html b/templates/jasset/group_edit.html index e9054ccaf..8cb4ca9bb 100644 --- a/templates/jasset/group_edit.html +++ b/templates/jasset/group_edit.html @@ -86,7 +86,7 @@
@@ -103,7 +103,7 @@
diff --git a/templates/nav.html b/templates/nav.html index 3f3e76d42..979110492 100644 --- a/templates/nav.html +++ b/templates/nav.html @@ -76,7 +76,7 @@ 资产管理