diff --git a/apps/assets/templates/assets/asset_create.html b/apps/assets/templates/assets/asset_create.html index ad8182330..e47393c4c 100644 --- a/apps/assets/templates/assets/asset_create.html +++ b/apps/assets/templates/assets/asset_create.html @@ -44,7 +44,8 @@ $('.select2').select2(); $("#tags").select2({ tags: true, - maximumSelectionLength: 8 //最多能够选择的个数 + maximumSelectionLength: 8, //最多能够选择的个数 + closeOnSelect: false }); }) diff --git a/apps/assets/templates/assets/asset_group_create.html b/apps/assets/templates/assets/asset_group_create.html index 14674c33e..f1df67d53 100644 --- a/apps/assets/templates/assets/asset_group_create.html +++ b/apps/assets/templates/assets/asset_group_create.html @@ -10,6 +10,7 @@ div.dataTables_wrapper div.dataTables_filter, .dataTables_length { float: left; } + {% endblock %} {% block content %} @@ -45,10 +46,16 @@ div.dataTables_wrapper div.dataTables_filter,

用户选择的资产

- -
- + +
+
+

+ {% for asset in assets_on_list %} + + {% endfor %} +

+

资产用户

diff --git a/apps/assets/templates/assets/asset_list.html b/apps/assets/templates/assets/asset_list.html index 70b7d696d..071f35667 100644 --- a/apps/assets/templates/assets/asset_list.html +++ b/apps/assets/templates/assets/asset_list.html @@ -1,34 +1,27 @@ -{% extends 'base.html' %} -{% load static %} +{% extends '_base_list.html' %} {% load i18n %} {% load common_tags %} {% block custom_head_css_js %} - - - - - -{% endblock %} + +{% endblock %} +{% block content_left_head %} +{% endblock %} + {% block table_search %} + {% endblock %} +{% block tags_list %} + +

{% for tag in tag_list %} @@ -41,83 +34,73 @@ {{ tag.1}}({{ tag.2 }}) - {% endfor %} + {% endfor %} 移除选择

- {% block content_left_head %}{% endblock %} - {% block table_search %}{% endblock %} -
-{% block table_container %} - - - - - - - - - - - - - - - {% for asset in asset_list %} - - - - - - - - - - - {% endfor %} - -
{% trans 'Hostname' %}{% trans 'IP' %}{% trans 'Port' %}{% trans 'Type' %}{% trans 'Hardware' %}{% trans 'Valid' %}
{{ asset.hostname }}{{ asset.ip }}{{ asset.port }}{{ asset.type }}{{ asset.cpu }} {{ asset.memory }} {{ asset.disk }} - {% if asset.is_valid.0 %} - - {% else %} - - {% endif %} - - {% trans 'Update' %} - {% trans 'Delete' %} -
+ {% endblock %} -
-
- {# Update batch #} - {% block content_bottom_left %} - - {% endblock %} -
- {% block table_pagination %} - {% include '_pagination.html' %} - {% endblock %} -
- + +{% block table_head %} + + {% trans 'Hostname' %} + {% trans 'IP' %} + {% trans 'Port' %} + {% trans 'Type' %} + {% trans 'Hardware' %} + {% trans 'Valid' %} + +{% endblock %} + +{% block table_body %} + {% for asset in asset_list %} + + + + + + + {{ asset.hostname }} + + + {{ asset.ip }} + {{ asset.port }} + {{ asset.type }} + {{ asset.cpu }} {{ asset.memory }} {{ asset.disk }} + + {% if asset.is_valid.0 %} + + {% else %} + + {% endif %} + + + {% trans 'Update' %} + {% trans 'Delete' %} + + + {% endfor %} +{% endblock %} + +{% block content_bottom_left %} + {% endblock %} {% block custom_foot_js %} @@ -141,13 +124,18 @@ $(document).ready(function(){ var table = $('#editable').DataTable({ - aLengthMenu: [[2, 25, 50, -1], ["2", "25", "50", "all"]], + "aLengthMenu": [[10, 25, 50, -1], ["10", "25", "50", "all"]], + "iDisplayLength":25, "aaSorting": [[7, "asc"]], "aoColumnDefs": [ { "bSortable": false, "aTargets": [ 0 ] }], "bAutoWidth": false, - "language": { - "url": "/static/js/plugins/dataTables/i18n/zh-hans.json" - }, + "language": {"url": "/static/js/plugins/dataTables/i18n/zh-hans.json"}, + //"dom": 'ip>', + "dom": '<"custom">lftip', + "initComplete": function() { + //alert( 'DataTables has finished its initialisation.' ); + $('#editable_length').before(" {% trans 'Create asset' %}   "); + }, columns: [ {data: "checkbox"}, {data: "id"}, @@ -211,4 +199,4 @@ }; }; -{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/apps/assets/templates/assets/asset_modal_list.html b/apps/assets/templates/assets/asset_modal_list.html index b41beecb0..f408149f5 100644 --- a/apps/assets/templates/assets/asset_modal_list.html +++ b/apps/assets/templates/assets/asset_modal_list.html @@ -50,7 +50,8 @@ $(document).ready(function(){ var table = $('#editable').DataTable({ - aLengthMenu: [[2, 25, 50, -1], ["2", "25", "50", "all"]], + "aLengthMenu": [[10, 25, 50, -1], ["10", "25", "50", "all"]], + "iDisplayLength":25, "aaSorting": [[2, "asc"]], "aoColumnDefs": [ { "bSortable": false, "aTargets": [ 0 ] }], "bAutoWidth": false, @@ -60,7 +61,7 @@ $(document).ready(function(){ columns: [ {data: "checkbox"}, {data: "id"}, - {data: "name"}, + {data: "hostname"}, {data: "ip"}, {data: "type"}, {data: "group"}, @@ -84,17 +85,26 @@ $(document).ready(function(){ $('#close-btn').on('click',function(){ $('#modal').modal('hide'); }); + var size_name = document.getElementById('asset_on_count').innerText $('#save-btn').on('click',function(){ - // alert( table.rows('.selected').data().length +' row(s) selected' ); + //alert( table.rows('.selected').data().length +' row(s) selected' ); var d = table.rows('.selected').data(); var size = d.length; + var re = /\d+/ document.getElementById('add_asset').value = size; + var str= size_name; + var re=/\d+/g; + document.getElementById('asset_on_count').innerText = str.replace(re, size); var column2 = table.rows('.selected').data(); $("#asset_sed").find("input[name='assets']").remove(); + $("#asset_sed").find("button[name='asset_hostname']").remove(); for(var i=0;i"); + $("#asset_on_p").append(" "); } $('#modal').modal('hide'); }); diff --git a/apps/assets/templates/assets/asset_tag_create.html b/apps/assets/templates/assets/asset_tag_create.html index fe5218cc4..f82a86dfe 100644 --- a/apps/assets/templates/assets/asset_tag_create.html +++ b/apps/assets/templates/assets/asset_tag_create.html @@ -42,10 +42,16 @@ div.dataTables_wrapper div.dataTables_filter,

基本信息

{{ form.name|bootstrap_horizontal }}
- -
- + +
+
+

+ {% for asset in assets_on_list %} + + {% endfor %} +

+
diff --git a/apps/assets/views.py b/apps/assets/views.py index a051752e4..e60f063e8 100644 --- a/apps/assets/views.py +++ b/apps/assets/views.py @@ -229,11 +229,12 @@ class AssetGroupUpdateView(AdminUserRequiredMixin, UpdateView): return super(AssetGroupUpdateView, self).get(request, *args, **kwargs) def get_context_data(self, **kwargs): + assets_all = self.object.assets.all() context = { 'app': _('Assets'), 'action': _('Create asset group'), - # 'assets': Asset.objects.all(), - 'assets_count': self.object.assets.all().count(), + 'assets_on_list': assets_all, + 'assets_count': len(assets_all), 'group_id':self.object.id, } kwargs.update(context) @@ -663,10 +664,12 @@ class AssetTagUpdateView(AdminUserRequiredMixin, UpdateView): return super(AssetTagUpdateView, self).get(request, *args, **kwargs) def get_context_data(self, **kwargs): + assets_all = self.object.asset_set.all() context = { 'app': _('Tag'), 'action': _('Asset Tags detail'), - 'assets_count': self.object.asset_set.all().count(), + 'assets_count': len(assets_all), + 'assets_on_list': assets_all, 'tag_id':self.object.id, } kwargs.update(context) diff --git a/apps/static/css/jumpserver.css b/apps/static/css/jumpserver.css index cbfefe843..02baf9f62 100644 --- a/apps/static/css/jumpserver.css +++ b/apps/static/css/jumpserver.css @@ -214,4 +214,21 @@ table.dataTable tbody td.selected td i.text-navy .mar-j { margin-left: 3px; margin-right: 3px; +} + +.form-asset-on button{ + background: #f1f1f1; + margin-right: 2px; +} +.form-asset-on{ + border: 1px solid #e5e6e7; + padding-top:5px; + padding-bottom: 0px; + padding-left: 5px; + padding-right: 5px; + min-height:34px; + height: 100%; +} +.form-asset-on p{ + margin-bottom:0px; } \ No newline at end of file diff --git a/apps/templates/_base_list.html b/apps/templates/_base_list.html index 1fcd0a507..20e11f553 100644 --- a/apps/templates/_base_list.html +++ b/apps/templates/_base_list.html @@ -30,7 +30,7 @@
-
+
{% block content_left_head %} {% endblock %} {% block table_search %}
{% endblock %} + {% block tags_list %}{% endblock %}
{% block table_container %}