Commit abe09e2a authored by 江世峰's avatar 江世峰

asset:update assets_list by tag

parent 29b3ef70
...@@ -44,7 +44,8 @@ ...@@ -44,7 +44,8 @@
$('.select2').select2(); $('.select2').select2();
$("#tags").select2({ $("#tags").select2({
tags: true, tags: true,
maximumSelectionLength: 8 //最多能够选择的个数 maximumSelectionLength: 8, //最多能够选择的个数
closeOnSelect: false
}); });
}) })
......
...@@ -10,6 +10,7 @@ div.dataTables_wrapper div.dataTables_filter, ...@@ -10,6 +10,7 @@ div.dataTables_wrapper div.dataTables_filter,
.dataTables_length { .dataTables_length {
float: left; float: left;
} }
</style> </style>
{% endblock %} {% endblock %}
{% block content %} {% block content %}
...@@ -45,10 +46,16 @@ div.dataTables_wrapper div.dataTables_filter, ...@@ -45,10 +46,16 @@ div.dataTables_wrapper div.dataTables_filter,
<div class="hr-line-dashed"></div> <div class="hr-line-dashed"></div>
<h3 class="widget-head-color-box">用户选择的资产</h3> <h3 class="widget-head-color-box">用户选择的资产</h3>
<div class="form-group"> <div class="form-group">
<label class="col-sm-2 control-label">已选</label> <label class="col-sm-2 control-label" id="asset_on_count">已选({{ assets_count }})</label>
<div class="col-sm-9" id="asset_sed"> <div class="col-sm-9" id="asset_sed">
<input type="text" class=" form-control" id="add_asset" value="{{ assets_count }}"> <div class="form-asset-on" id="add_asset">
<p id="asset_on_p">
{% for asset in assets_on_list %}
<button name='asset_hostname' title='{{ asset.ip }}' type='button' class='btn btn-default btn-xs'>{{ asset.hostname }}</button>
{% endfor %}
</p>
</div> </div>
</div>
</div> </div>
<div class="hr-line-dashed"></div> <div class="hr-line-dashed"></div>
<h3 class="widget-head-color-box">资产用户</h3> <h3 class="widget-head-color-box">资产用户</h3>
......
...@@ -50,7 +50,8 @@ ...@@ -50,7 +50,8 @@
$(document).ready(function(){ $(document).ready(function(){
var table = $('#editable').DataTable({ 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"]], "aaSorting": [[2, "asc"]],
"aoColumnDefs": [ { "bSortable": false, "aTargets": [ 0 ] }], "aoColumnDefs": [ { "bSortable": false, "aTargets": [ 0 ] }],
"bAutoWidth": false, "bAutoWidth": false,
...@@ -60,7 +61,7 @@ $(document).ready(function(){ ...@@ -60,7 +61,7 @@ $(document).ready(function(){
columns: [ columns: [
{data: "checkbox"}, {data: "checkbox"},
{data: "id"}, {data: "id"},
{data: "name"}, {data: "hostname"},
{data: "ip"}, {data: "ip"},
{data: "type"}, {data: "type"},
{data: "group"}, {data: "group"},
...@@ -84,17 +85,26 @@ $(document).ready(function(){ ...@@ -84,17 +85,26 @@ $(document).ready(function(){
$('#close-btn').on('click',function(){ $('#close-btn').on('click',function(){
$('#modal').modal('hide'); $('#modal').modal('hide');
}); });
var size_name = document.getElementById('asset_on_count').innerText
$('#save-btn').on('click',function(){ $('#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 d = table.rows('.selected').data();
var size = d.length; var size = d.length;
var re = /\d+/
document.getElementById('add_asset').value = size; 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(); var column2 = table.rows('.selected').data();
$("#asset_sed").find("input[name='assets']").remove(); $("#asset_sed").find("input[name='assets']").remove();
$("#asset_sed").find("button[name='asset_hostname']").remove();
for(var i=0;i<column2.length;i++){ for(var i=0;i<column2.length;i++){
column2[i].checkbox='<input name="checked" value="1" checked="" type="checkbox">'; column2[i].checkbox='<input name="checked" value="1" checked="" type="checkbox">';
var value = column2[i].id; var value = column2[i].id;
var ip = column2[i].ip;
var hostname = column2[i].hostname;
$("#asset_sed").append("<input type='hidden' name='assets' value='"+value+"'>"); $("#asset_sed").append("<input type='hidden' name='assets' value='"+value+"'>");
$("#asset_on_p").append("<button name='asset_hostname' title='"+ip+"' type='button' class='btn btn-default btn-xs ss'>"+hostname+"</button> ");
} }
$('#modal').modal('hide'); $('#modal').modal('hide');
}); });
......
...@@ -42,10 +42,16 @@ div.dataTables_wrapper div.dataTables_filter, ...@@ -42,10 +42,16 @@ div.dataTables_wrapper div.dataTables_filter,
<h3 class="widget-head-color-box">基本信息</h3> <h3 class="widget-head-color-box">基本信息</h3>
{{ form.name|bootstrap_horizontal }} {{ form.name|bootstrap_horizontal }}
<div class="form-group"> <div class="form-group">
<label class="col-sm-2 control-label">关联的资产</label> <label class="col-sm-2 control-label" id="asset_on_count">关联的资产({{ assets_count }})</label>
<div class="col-sm-9" id="asset_sed"> <div class="col-sm-9" id="asset_sed">
<input type="text" class=" form-control" id="add_asset" value="{{ assets_count }}"> <div class="form-asset-on" id="add_asset">
<p id="asset_on_p">
{% for asset in assets_on_list %}
<button name='asset_hostname' title='{{ asset.ip}}' type='button' class='btn btn-default btn-xs'>{{ asset.hostname }}</button>
{% endfor %}
</p>
</div> </div>
</div>
</div> </div>
<div class="form-group"> <div class="form-group">
<div class="col-sm-4 col-sm-offset-5"> <div class="col-sm-4 col-sm-offset-5">
......
...@@ -229,11 +229,12 @@ class AssetGroupUpdateView(AdminUserRequiredMixin, UpdateView): ...@@ -229,11 +229,12 @@ class AssetGroupUpdateView(AdminUserRequiredMixin, UpdateView):
return super(AssetGroupUpdateView, self).get(request, *args, **kwargs) return super(AssetGroupUpdateView, self).get(request, *args, **kwargs)
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
assets_all = self.object.assets.all()
context = { context = {
'app': _('Assets'), 'app': _('Assets'),
'action': _('Create asset group'), 'action': _('Create asset group'),
# 'assets': Asset.objects.all(), 'assets_on_list': assets_all,
'assets_count': self.object.assets.all().count(), 'assets_count': len(assets_all),
'group_id':self.object.id, 'group_id':self.object.id,
} }
kwargs.update(context) kwargs.update(context)
...@@ -663,10 +664,12 @@ class AssetTagUpdateView(AdminUserRequiredMixin, UpdateView): ...@@ -663,10 +664,12 @@ class AssetTagUpdateView(AdminUserRequiredMixin, UpdateView):
return super(AssetTagUpdateView, self).get(request, *args, **kwargs) return super(AssetTagUpdateView, self).get(request, *args, **kwargs)
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
assets_all = self.object.asset_set.all()
context = { context = {
'app': _('Tag'), 'app': _('Tag'),
'action': _('Asset Tags detail'), '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, 'tag_id':self.object.id,
} }
kwargs.update(context) kwargs.update(context)
......
...@@ -214,4 +214,21 @@ table.dataTable tbody td.selected td i.text-navy ...@@ -214,4 +214,21 @@ table.dataTable tbody td.selected td i.text-navy
.mar-j { .mar-j {
margin-left: 3px; margin-left: 3px;
margin-right: 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
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
</div> </div>
</div> </div>
<div class="ibox-content"> <div class="ibox-content">
<div class=""> <div class="" id="content_start">
{% block content_left_head %} {% endblock %} {% block content_left_head %} {% endblock %}
{% block table_search %} {% block table_search %}
<form id="search_form" method="get" action="" class="pull-right mail-search"> <form id="search_form" method="get" action="" class="pull-right mail-search">
...@@ -44,6 +44,7 @@ ...@@ -44,6 +44,7 @@
</div> </div>
</form> </form>
{% endblock %} {% endblock %}
{% block tags_list %}{% endblock %}
</div> </div>
{% block table_container %} {% block table_container %}
<table class="table table-striped table-bordered table-hover " id="editable" > <table class="table table-striped table-bordered table-hover " id="editable" >
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment