mirror of https://github.com/jumpserver/jumpserver
				
				
				
			Merge with master
						commit
						534321d1aa
					
				| 
						 | 
				
			
			@ -44,7 +44,8 @@
 | 
			
		|||
            $('.select2').select2();
 | 
			
		||||
            $("#tags").select2({
 | 
			
		||||
                tags: true,
 | 
			
		||||
                maximumSelectionLength: 8  //最多能够选择的个数
 | 
			
		||||
                maximumSelectionLength: 8,  //最多能够选择的个数
 | 
			
		||||
                closeOnSelect: false
 | 
			
		||||
            });
 | 
			
		||||
        })
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -10,6 +10,7 @@ div.dataTables_wrapper div.dataTables_filter,
 | 
			
		|||
.dataTables_length {
 | 
			
		||||
    float: left;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
</style>
 | 
			
		||||
{% endblock %}
 | 
			
		||||
{% block content %}
 | 
			
		||||
| 
						 | 
				
			
			@ -45,10 +46,16 @@ div.dataTables_wrapper div.dataTables_filter,
 | 
			
		|||
                                        <div class="hr-line-dashed"></div>
 | 
			
		||||
                                        <h3 class="widget-head-color-box">用户选择的资产</h3>
 | 
			
		||||
                                            <div class="form-group">
 | 
			
		||||
                                                <label class="col-sm-2 control-label">已选</label>
 | 
			
		||||
                                                    <div class="col-sm-9" id="asset_sed">
 | 
			
		||||
                                                        <input type="text" class=" form-control" id="add_asset" value="{{ assets_count }}">
 | 
			
		||||
                                                <label class="col-sm-2 control-label" id="asset_on_count">已选({{ assets_count }})</label>
 | 
			
		||||
                                                <div class="col-sm-9" id="asset_sed">
 | 
			
		||||
                                                    <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 class="hr-line-dashed"></div>
 | 
			
		||||
                                        <h3 class="widget-head-color-box">资产用户</h3>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,123 +1,121 @@
 | 
			
		|||
{% extends 'base.html' %}
 | 
			
		||||
{% load static %}
 | 
			
		||||
{% extends '_base_list.html' %}
 | 
			
		||||
{% load i18n %}
 | 
			
		||||
{% load common_tags %}
 | 
			
		||||
{% block custom_head_css_js %}
 | 
			
		||||
    <link href="{% static "css/plugins/dataTables/dataTables.min.css" %}" rel="stylesheet">
 | 
			
		||||
    <link href="{% static "css/plugins/awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css" %}" rel="stylesheet">
 | 
			
		||||
    <link href="{% static "css/plugins/select2/select2.min.css" %}" rel="stylesheet">
 | 
			
		||||
    <script src="{% static "js/plugins/select2/select2.full.min.js" %}"></script>
 | 
			
		||||
    <script src="{% static "js/plugins/dataTables/dataTables.min.js" %}"></script>
 | 
			
		||||
{% endblock %}
 | 
			
		||||
<style>
 | 
			
		||||
div.dataTables_wrapper div.dataTables_filter,
 | 
			
		||||
.dataTables_length {
 | 
			
		||||
    float: right !important;
 | 
			
		||||
}
 | 
			
		||||
div.dataTables_wrapper div.dataTables_filter {
 | 
			
		||||
  margin-left: 15px;
 | 
			
		||||
}
 | 
			
		||||
.custom{
 | 
			
		||||
    float:left;
 | 
			
		||||
    margin-right:5px;
 | 
			
		||||
 | 
			
		||||
{% block content %}
 | 
			
		||||
<div class="wrapper wrapper-content animated fadeInRight">
 | 
			
		||||
    <div class="row">
 | 
			
		||||
        <div class="col-sm-12">
 | 
			
		||||
            <div class="ibox float-e-margins">
 | 
			
		||||
                <div class="ibox-title">
 | 
			
		||||
                    <div class="ibox-tools">
 | 
			
		||||
                        <div style="float:left">
 | 
			
		||||
                            <a href="{% url 'assets:asset-create' %}" class="btn btn-sm btn-primary "> {% trans "Create asset" %} </a>
 | 
			
		||||
                        </div>
 | 
			
		||||
                        <button class="btn btn-sm btn-primary" id="zksx" onclick="tagShow()">标签</button>
 | 
			
		||||
                            <a class="collapse-link"><i class="fa fa-chevron-up"></i></a>
 | 
			
		||||
                            <a class="dropdown-toggle" data-toggle="dropdown" href="#"><i class="fa fa-wrench"></i></a>
 | 
			
		||||
                            <a class="close-link"><i class="fa fa-times"></i></a>
 | 
			
		||||
                    </div>
 | 
			
		||||
                </div>
 | 
			
		||||
                <div class="ibox-content">
 | 
			
		||||
                    <div class="">
 | 
			
		||||
                       <div class="ydxbd" id="ydxbd" style="display: none;">
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
</style>
 | 
			
		||||
{% endblock %}
 | 
			
		||||
{% block content_left_head %}
 | 
			
		||||
{% endblock %}
 | 
			
		||||
        {% block table_search %}
 | 
			
		||||
                        {% endblock %}
 | 
			
		||||
{% block tags_list %}
 | 
			
		||||
 | 
			
		||||
                      <div class="ydxbd" id="ydxbd" style="display: none;">
 | 
			
		||||
                           <div>
 | 
			
		||||
                               <p id="tags_p">
 | 
			
		||||
                                   {% for tag in tag_list %}
 | 
			
		||||
                                    <a href="{% url 'assets:asset-tags' tag_id=tag.0 %}"
 | 
			
		||||
                                        {% if tag.0|IntToStr == tag_id %}
 | 
			
		||||
                                            class="fa fa-tag btn btn-sm  btn-primary mar-j" name="tag_on">
 | 
			
		||||
                                        {% else %}
 | 
			
		||||
                                            class="fa fa-tag btn btn-sm btn-outline btn-primary mar-j">
 | 
			
		||||
                                        {% endif %}
 | 
			
		||||
                                        <span class="mar">
 | 
			
		||||
                                            <strong>{{ tag.1}}</strong>({{ tag.2 }})
 | 
			
		||||
                                        </span></a>
 | 
			
		||||
                                    {% endfor %}
 | 
			
		||||
                                    <a href="{% url 'assets:asset-list' %}" class="btn btn-sm btn-outline btn-default ">移除选择</a>
 | 
			
		||||
 | 
			
		||||
                                   <a href="{% url 'assets:asset-tags' tag_id=tag.0 %}">
 | 
			
		||||
                                       <span
 | 
			
		||||
                                           {% if tag.0|IntToStr == tag_id %}
 | 
			
		||||
                                               class="label label-warning" name="tag_on"
 | 
			
		||||
                                           {% else %}
 | 
			
		||||
                                               class="label label-default"
 | 
			
		||||
                                           {% endif %}
 | 
			
		||||
                                       >{{ tag.1}}({{ tag.2 }})</span>
 | 
			
		||||
                                       </a>
 | 
			
		||||
{#                                    <a href="{% url 'assets:asset-tags' tag_id=tag.0 %}"#}
 | 
			
		||||
{#                                        {% if tag.0|IntToStr == tag_id %}#}
 | 
			
		||||
{#                                            class="fa fa-tag btn btn-sm btn-warning btn-rounded mar-j" name="tag_on">#}
 | 
			
		||||
{#                                        {% else %}#}
 | 
			
		||||
{#                                            class="fa fa-tag btn btn-sm btn-default btn-rounded mar-j">#}
 | 
			
		||||
{#                                        {% endif %}#}
 | 
			
		||||
{#                                        <span class="mar">#}
 | 
			
		||||
{#                                            <strong>{{ tag.1}}</strong>({{ tag.2 }})#}
 | 
			
		||||
{#                                        </span></a>#}
 | 
			
		||||
 | 
			
		||||
                                   {% endfor %}
 | 
			
		||||
{#                                    <a href="{% url 'assets:asset-list' %}" class="btn btn-sm btn-rounded btn-default ">移除选择</a>#}
 | 
			
		||||
                                   <a href="{% url 'assets:asset-list' %}" ><span class="label label-default">移除选择</span></a>
 | 
			
		||||
                               </p>
 | 
			
		||||
                           </div>
 | 
			
		||||
                       </div>
 | 
			
		||||
                        {% block content_left_head %}{% endblock %}
 | 
			
		||||
                        {% block table_search %}{% endblock %}
 | 
			
		||||
                    </div>
 | 
			
		||||
{% block table_container %}
 | 
			
		||||
<table aria-describedby="editable_info" role="grid" class="table table-striped table-bordered table-hover  dataTable" id="editable">
 | 
			
		||||
    <thead>
 | 
			
		||||
        <tr>
 | 
			
		||||
            <th class="text-center"><input type="checkbox" id="check_all"  onclick="checkAll()"></th>
 | 
			
		||||
            <th class="text-center"><a href="{% url 'assets:asset-list' %}?sort=hostname">{% trans 'Hostname' %}</a></th>
 | 
			
		||||
            <th class="text-center"><a href="{% url 'assets:asset-list' %}?sort=username">{% trans 'IP' %}</a></th>
 | 
			
		||||
            <th class="text-center">{% trans 'Port' %}</th>
 | 
			
		||||
            <th class="text-center">{% trans 'Type' %}</th>
 | 
			
		||||
            <th class="text-center">{% trans 'Hardware' %}</th>
 | 
			
		||||
            <th class="text-center">{% trans 'Valid' %}</th>
 | 
			
		||||
            <th class="text-center"></th>
 | 
			
		||||
        </tr>
 | 
			
		||||
    </thead>
 | 
			
		||||
    <tbody>
 | 
			
		||||
    {% for asset in asset_list %}
 | 
			
		||||
        <tr class="gradeX"  name="oAssets">
 | 
			
		||||
            <td class="text-center"><input type="checkbox" name="checked" value="{{ asset.id }}"></td>
 | 
			
		||||
            <td class="text-center"><a href="{% url 'assets:asset-detail' pk=asset.id %}">{{ asset.hostname }}</a></td>
 | 
			
		||||
            <td class="text-center">{{ asset.ip }}</td>
 | 
			
		||||
            <td class="text-center">{{ asset.port }}</td>
 | 
			
		||||
            <td class="text-center">{{ asset.type }}</td>
 | 
			
		||||
            <td class="text-center">{{ asset.cpu }} {{ asset.memory }} {{ asset.disk }} </td>
 | 
			
		||||
            <td class="text-center">
 | 
			
		||||
                {% if asset.is_valid.0 %}
 | 
			
		||||
                    <i class="fa fa-check text-navy"></i>
 | 
			
		||||
                {% else %}
 | 
			
		||||
                    <i class="fa fa-times text-danger"></i>
 | 
			
		||||
                {% endif %}
 | 
			
		||||
            </td>
 | 
			
		||||
            <td class="text-center">
 | 
			
		||||
                <a href="{% url 'assets:asset-update' pk=asset.id %}" class="btn btn-xs btn-info">{% trans 'Update' %}</a>
 | 
			
		||||
                <a href="{% url 'assets:asset-delete' pk=asset.id %}" class="btn btn-xs btn-danger del">{% trans 'Delete' %}</a>
 | 
			
		||||
            </td>
 | 
			
		||||
        </tr>
 | 
			
		||||
    {% endfor %}
 | 
			
		||||
    </tbody>
 | 
			
		||||
</table>
 | 
			
		||||
 | 
			
		||||
{% endblock %}
 | 
			
		||||
    <div class="row">
 | 
			
		||||
        <div class="col-sm-4">
 | 
			
		||||
            {# Update batch #}
 | 
			
		||||
            {% block content_bottom_left %}
 | 
			
		||||
                <form id="" method="get" action="" class=" mail-search">
 | 
			
		||||
                    <div class="input-group">
 | 
			
		||||
                        <select class="form-control m-b" style="width: auto">
 | 
			
		||||
                            <option>{% trans 'Delete selected' %}</option>
 | 
			
		||||
                            <option>{% trans 'Update selected' %}</option>
 | 
			
		||||
                            <option>{% trans 'Deactive selected' %}</option>
 | 
			
		||||
                            <option>{% trans 'Export selected' %}</option>
 | 
			
		||||
                        </select>
 | 
			
		||||
                        <div class="input-group-btn pull-left" style="padding-left: 5px;">
 | 
			
		||||
                            <button id='search_btn' type="submit" style="height: 32px;"  class="btn btn-sm btn-primary">
 | 
			
		||||
                                {% trans 'Submit' %}
 | 
			
		||||
                            </button>
 | 
			
		||||
                        </div>
 | 
			
		||||
                    </div>
 | 
			
		||||
                </form>
 | 
			
		||||
            {% endblock %}
 | 
			
		||||
        </div>
 | 
			
		||||
            {% block table_pagination %}
 | 
			
		||||
                {% include '_pagination.html' %}
 | 
			
		||||
            {% endblock %}
 | 
			
		||||
    </div>
 | 
			
		||||
                </div>
 | 
			
		||||
 | 
			
		||||
{% block table_head %}
 | 
			
		||||
    <th class="text-center"><input type="checkbox" id="check_all"  onclick="checkAll()"></th>
 | 
			
		||||
    <th class="text-center"><a href="{% url 'assets:asset-list' %}?sort=hostname">{% trans 'Hostname' %}</a></th>
 | 
			
		||||
    <th class="text-center"><a href="{% url 'assets:asset-list' %}?sort=username">{% trans 'IP' %}</a></th>
 | 
			
		||||
    <th class="text-center">{% trans 'Port' %}</th>
 | 
			
		||||
    <th class="text-center">{% trans 'Type' %}</th>
 | 
			
		||||
    <th class="text-center">{% trans 'Hardware' %}</th>
 | 
			
		||||
    <th class="text-center">{% trans 'Valid' %}</th>
 | 
			
		||||
    <th class="text-center"></th>
 | 
			
		||||
{% endblock %}
 | 
			
		||||
 | 
			
		||||
{% block table_body %}
 | 
			
		||||
     {% for asset in asset_list %}
 | 
			
		||||
         <tr class="gradeX"  name="oAssets">
 | 
			
		||||
             <td class="text-center">
 | 
			
		||||
                 <input type="checkbox" name="checked" value="{{ asset.id }}">
 | 
			
		||||
             </td>
 | 
			
		||||
             <td class="text-center">
 | 
			
		||||
                 <a href="{% url 'assets:asset-detail' pk=asset.id %}">
 | 
			
		||||
                     {{ asset.hostname }}
 | 
			
		||||
                 </a>
 | 
			
		||||
             </td>
 | 
			
		||||
             <td class="text-center">{{ asset.ip }}</td>
 | 
			
		||||
             <td class="text-center">{{ asset.port }}</td>
 | 
			
		||||
             <td class="text-center">{{ asset.type }}</td>
 | 
			
		||||
             <td class="text-center">{{ asset.cpu }} {{ asset.memory }} {{ asset.disk }} </td>
 | 
			
		||||
             <td class="text-center">
 | 
			
		||||
                 {% if asset.is_valid.0 %}
 | 
			
		||||
                     <i class="fa fa-check text-navy"></i>
 | 
			
		||||
                 {% else %}
 | 
			
		||||
                     <i class="fa fa-times text-danger"></i>
 | 
			
		||||
                 {% endif %}
 | 
			
		||||
             </td>
 | 
			
		||||
             <td class="text-center">
 | 
			
		||||
                 <a href="{% url 'assets:asset-update' pk=asset.id %}" class="btn btn-xs btn-info">{% trans 'Update' %}</a>
 | 
			
		||||
                 <a href="{% url 'assets:asset-delete' pk=asset.id %}" class="btn btn-xs btn-danger del">{% trans 'Delete' %}</a>
 | 
			
		||||
             </td>
 | 
			
		||||
         </tr>
 | 
			
		||||
     {% endfor %}
 | 
			
		||||
{% endblock %}
 | 
			
		||||
 | 
			
		||||
{% block content_bottom_left %}
 | 
			
		||||
    <form id="" method="get" action="" class=" mail-search">
 | 
			
		||||
        <div class="input-group">
 | 
			
		||||
            <select class="form-control m-b" style="width: auto">
 | 
			
		||||
                <option>{% trans 'Delete selected' %}</option>
 | 
			
		||||
                <option>{% trans 'Update selected' %}</option>
 | 
			
		||||
                <option>{% trans 'Deactive selected' %}</option>
 | 
			
		||||
                <option>{% trans 'Export selected' %}</option>
 | 
			
		||||
            </select>
 | 
			
		||||
 | 
			
		||||
            <div class="input-group-btn pull-left" style="padding-left: 5px;">
 | 
			
		||||
                <button id='search_btn' type="submit" style="height: 32px;"  class="btn btn-sm btn-primary">
 | 
			
		||||
                 {% trans 'Submit' %}
 | 
			
		||||
                </button>
 | 
			
		||||
            </div>
 | 
			
		||||
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
</div>
 | 
			
		||||
   </form>
 | 
			
		||||
{% endblock %}
 | 
			
		||||
 | 
			
		||||
{% block custom_foot_js %}
 | 
			
		||||
| 
						 | 
				
			
			@ -138,16 +136,21 @@
 | 
			
		|||
                oDiv.style.display = "none";
 | 
			
		||||
            }
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    $(document).ready(function(){
 | 
			
		||||
        var oTags = document.getElementById("ydxbd");
 | 
			
		||||
        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": '<"custom">lftip',
 | 
			
		||||
            "initComplete": function() {
 | 
			
		||||
                //alert( 'DataTables has finished its initialisation.' );
 | 
			
		||||
                $('#editable_length').before("<a href=\"{% url 'assets:asset-create' %}\" class=\"btn btn-sm btn-primary custom \"> {% trans 'Create asset' %} </a>  <button class='btn btn-sm btn-primary custom' id='zksx' onclick='tagShow()'>标签</button>");
 | 
			
		||||
                $('#editable').before(oTags);
 | 
			
		||||
            },
 | 
			
		||||
        columns: [
 | 
			
		||||
            {data: "checkbox"},
 | 
			
		||||
            {data: "id"},
 | 
			
		||||
| 
						 | 
				
			
			@ -211,4 +214,4 @@
 | 
			
		|||
        };
 | 
			
		||||
    };
 | 
			
		||||
</script>
 | 
			
		||||
{% endblock %}
 | 
			
		||||
{% endblock %}
 | 
			
		||||
| 
						 | 
				
			
			@ -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<column2.length;i++){
 | 
			
		||||
            column2[i].checkbox='<input name="checked" value="1" checked="" type="checkbox">';
 | 
			
		||||
            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_on_p").append("<button name='asset_hostname' title='"+ip+"' type='button' class='btn btn-default btn-xs ss'>"+hostname+"</button> ");
 | 
			
		||||
        }
 | 
			
		||||
        $('#modal').modal('hide');
 | 
			
		||||
    });
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -42,10 +42,16 @@ div.dataTables_wrapper div.dataTables_filter,
 | 
			
		|||
                                        <h3 class="widget-head-color-box">基本信息</h3>
 | 
			
		||||
                                        {{ form.name|bootstrap_horizontal }}
 | 
			
		||||
                                            <div class="form-group">
 | 
			
		||||
                                                <label class="col-sm-2 control-label">关联的资产</label>
 | 
			
		||||
                                                    <div class="col-sm-9" id="asset_sed">
 | 
			
		||||
                                                        <input type="text" class=" form-control" id="add_asset" value="{{ assets_count }}">
 | 
			
		||||
                                                <label class="col-sm-2 control-label" id="asset_on_count">关联的资产({{ assets_count }})</label>
 | 
			
		||||
                                                <div class="col-sm-9" id="asset_sed">
 | 
			
		||||
                                                    <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 class="form-group">
 | 
			
		||||
                                            <div class="col-sm-4 col-sm-offset-5">
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -228,11 +228,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)
 | 
			
		||||
| 
						 | 
				
			
			@ -662,10 +663,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)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -204,14 +204,31 @@ table.dataTable tbody td.selected td i.text-navy
 | 
			
		|||
	padding-top: 15px;
 | 
			
		||||
	margin-bottom: 15px;
 | 
			
		||||
	display: block;
 | 
			
		||||
	background: #f4f4f4;
 | 
			
		||||
	/*background: #ccc;*/
 | 
			
		||||
	padding-left: 10px;
 | 
			
		||||
}
 | 
			
		||||
.mar {
 | 
			
		||||
    margin-left: 2px;
 | 
			
		||||
    line-height: 15px;
 | 
			
		||||
    line-height: 0px;
 | 
			
		||||
}
 | 
			
		||||
.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;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -30,7 +30,7 @@
 | 
			
		|||
                    </div>
 | 
			
		||||
                </div>
 | 
			
		||||
                <div class="ibox-content">
 | 
			
		||||
                    <div class="">
 | 
			
		||||
                    <div class="" id="content_start">
 | 
			
		||||
                        {% block content_left_head %} {% endblock %}
 | 
			
		||||
                        {% block table_search %}
 | 
			
		||||
                        <form id="search_form" method="get" action="" class="pull-right mail-search">
 | 
			
		||||
| 
						 | 
				
			
			@ -44,6 +44,7 @@
 | 
			
		|||
                            </div>
 | 
			
		||||
                        </form>
 | 
			
		||||
                        {% endblock %}
 | 
			
		||||
                        {% block tags_list %}{% endblock %}
 | 
			
		||||
                    </div>
 | 
			
		||||
                    {% block table_container %}
 | 
			
		||||
                    <table class="table table-striped table-bordered table-hover " id="editable" >
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -34,7 +34,7 @@
 | 
			
		|||
        </li>
 | 
			
		||||
    </ul>
 | 
			
		||||
</li>
 | 
			
		||||
<li id="">
 | 
			
		||||
<li id="terminal">
 | 
			
		||||
    <a href="{% url 'terminal:terminal-list' %}">
 | 
			
		||||
        <i class="fa fa-desktop"></i><span class="nav-label">{% trans 'Terminal' %}</span><span class="label label-info pull-right"></span>
 | 
			
		||||
    </a>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue