{% extends 'base.html' %}
{% block self_head_css_js %}
    <link href="/static/css/plugins/datepicker/datepicker3.css" rel="stylesheet">
    <link href="/static/css/plugins/chosen/chosen.css" rel="stylesheet">
    <script src="/static/js/plugins/chosen/chosen.jquery.js"></script>
{% endblock %}
{% block content %}
{% include 'nav_cat_bar.html' %}

<style>
    iframe {

       overflow:hidden;

    }
    .bootstrap-dialog-body  {
        background-color: rgba(0, 0, 0, 0);
    }
    .bootstrap-dialog-message {
        color: #00FF00;
    }
    .modal-content {
        background-color: rgba(0, 0, 0, 0.6);
    }
    .modal-dialog {
        background-color: rgba(0, 0, 0, 0);
        width: 800px;
    }
    .modal-body {
        background-color: rgba(0, 0, 0, 0);
    }
    .modal-header {
        background-color: #FFFFFF;
    }

</style>

<div class="wrapper wrapper-content animated fadeInRight">
    <div class="row">
        <div class="col-sm-12">
            <div class="ibox float-e-margins">
                <div id="ibox-content" class="ibox-title">
                    <h5> 用户日志详细信息列表 </h5>
                    <div class="ibox-tools">
                        <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="panel-options">
                        <ul class="nav nav-tabs">
                            <li><a href="{% url 'log_list' 'online' %}" class="text-center"><i class="fa fa-laptop"></i> 在线 </a></li>
                            <li class="active"><a href="{% url 'log_list' 'offline' %}" class="text-center"><i class="fa fa-bar-chart-o"></i> 登录历史</a></li>
                            <li><a href="{% url 'log_list' 'exec' %}" class="text-center"><i class="fa fa-bar-chart-o"></i> 命令记录 </a></li>
                            <li><a href="{% url 'log_list' 'file' %}" class="text-center"><i class="fa fa-bar-chart-o"></i> 上传下载 </a></li>
                        </ul>
                    </div>
                    <form class="form-inline" action="" method="get">
                        <div class="form-group" id="date_5">
                            <div class="input-daterange input-group" id="datepicker">
                                <input type="text" class="input-sm form-control" style="width: 100px;" name="start" value="{{ date_seven_day }}">
                                <span class="input-group-addon">to</span>
                                <input type="text" class="input-sm form-control" style="width: 100px;"  name="end" value="{{ date_now_str }}">
                            </div>
                        </div>
                        <div class="form-group">
                            <div class="input-group">
                                <select name="username" data-placeholder="用户名" class="chosen-select" multiple style="width:200px;" tabindex="2">
                                    {% for username in username_all %}
                                        <option value="{{ username }}"{% if username in username_list %}selected{% endif %}>{{ username }}</option>
                                    {% endfor %}
                                </select>
                            </div>
                        </div>
                        <div class="form-group">
                            <div class="input-group">
                                <select name="host" data-placeholder="主机" class="chosen-select" multiple style="width:200px;" tabindex="4">
                                    {% for ip in ip_all %}
                                    <option value="{{ ip }}" {% if ip in host_list %}selected{% endif %}>{{ ip }}</option>
                                    {% endfor %}
                                </select>
                            </div>
                        </div>
                        <div class="form-group">
                            <input id="cmd" name="cmd" placeholder="命令" type="text" class="form-control" value="{{ cmd }}" style="width: 200px;">
                        </div>
                        <button id='search_btn' type="submit" class="btn btn-sm btn-primary">
                                - 搜索 -
                        </button>
                    </form>
                    <div class="tab-content">
                        <table class="table table-striped table-bordered table-hover ">
                            <thead>
                                <tr>
                                    <th class="text-center"> ID </th>
                                    <th class="text-center"> 用户名 </th>
                                    <th class="text-center"> 登录主机 </th>
                                    <th class="text-center"> 来源IP </th>
                                    <th class="text-center"> 登陆方式 </th>
                                    {% ifnotequal session_role_id 0 %}
                                        <th class="text-center"> 命令 </th>
                                    {% endifnotequal %}
                                    <th class="text-center"> 录像 </th>
                                    <th class="text-center"> 登录时间 </th>
                                    <th class="text-center"> 时长</th>

                                </tr>
                            </thead>
                            <tbody>

                            {% for post in contacts.object_list %}
                                <tr class="gradeX">
                                    <td class="text-center"> {{ post.id }} </td>
                                    <td class="text-center username"> {{ post.user }} </td>
                                    <td class="text-center ip"> {{ post.host }} </td>
                                    <td class="text-center remote_ip"> {{ post.remote_ip }} </td>
                                    <td class="text-center"> {{ post.login_type }} </td>
                                    {% ifnotequal session_role_id 0 %}
                                        <td class="text-center"><a href="{% url 'log_history' %}?id={{ post.id }}" class="log_command"> 统计 </a></td>
                                    {% endifnotequal %}
                                    <td class="text-center"><a value="{% url 'log_record' %}?id={{ post.id }}" class="log_record"> 回放 </a></td>
                                    <td class="text-center start_time"> {{ post.start_time|date:"Y-m-d H:i:s"}} </td>
                                    <td class="text-center end_time"> {{ post.end_time|timeuntil:post.start_time }} </td>
                                </tr>
                            {% endfor %}
                            </tbody>
                        </table>
                        <div class="row">
                            <div class="col-sm-6">
                            </div>
                            {% include 'paginator.html' %}
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

<script>
    $('.log_record').click(function(){
        var url = $(this).attr('value');
        //window.open(url, '播放', 'height=500, width=910, top=89px, left=99px,toolbar=no,menubar=no,scrollbars=auto,resizeable=no,location=no,status=no');
        var username = $(this).closest('tr').find('.username')[0].innerHTML;
        var ip = $(this).closest('tr').find('.ip')[0].innerHTML;
        var start_time = $(this).closest('tr').find('.start_time')[0].innerHTML;
        var end_time = $(this).closest('tr').find('.end_time')[0].innerHTML;
        var div_username = ' 用户名: '+'<span class="text-info">'+username+'' + '</span>';
        var div_ip = ' 主机: '+'<span class="text-info">' + ip + '</span>';
        var div_time = ' 时间: ' + '<span class="text-info">'+start_time +'</span>' +' - <span class="text-info">' + end_time + '</span>';
        var title = 'JumpServer录像回放 '+ div_username + div_ip + div_time;
        layer.open({
            type: 2,
            title: title,
            maxmin: true,
            shade: false,
            area: ['620px', '450px'],
            content: url
        });
        return false;
    });

    $('.log_command').on('click',function(){
        var url = $(this).attr('href');
        var username = $(this).closest('tr').find('.username')[0].innerHTML;
        var ip = $(this).closest('tr').find('.ip')[0].innerHTML;
        var start_time = $(this).closest('tr').find('.start_time')[0].innerHTML;
        var end_time = $(this).closest('tr').find('.end_time')[0].innerHTML;
        var div_username = ' 用户名: '+'<span class="text-info">'+username+'' + '</span>';
        var div_ip = ' 主机: '+'<span class="text-info">' + ip + '</span>';
        var div_time = ' 开始时间: ' + '<span class="text-info">'+start_time +'</span>' + ' 结束时间: ' +'<span class="text-info">' + end_time + '</span>';
        var title = 'JumpServer命令统计 '+ div_username + div_ip + div_time;
        $.ajax({url:url,
                success:function(data){
                    var tag = $('<div style="height: 500px;overflow: auto;background-color: rgba(0, 0, 0, 0);"></div>').html(data.replace(/\n/g,"<br />"));
                    BootstrapDialog.show({title: title, message:tag[0]});
        }});
       return false;
    });

    function log_search(){
        $.ajax({
            type: "GET",
            url: "/jlog/search/?env=offline",
            data: $("#search_form").serialize(),
            success: function (data) {
                $(".tab-content").html(data);
            }
        });
    }

{#    $("#search_input").keydown(function(e){#}
{#        if(e.keyCode==13){#}
{#            log_search()#}
{#            }#}
{#    });#}

    $('#date_5 .input-daterange').datepicker({
            dateFormat: 'mm/dd/yy',
            keyboardNavigation: false,
            forceParse: false,
            autoclose: true
    });

    var config = {
                '.chosen-select'           : {},
                '.chosen-select-deselect'  : {allow_single_deselect:true},
                '.chosen-select-no-single' : {disable_search_threshold:10},
                '.chosen-select-no-results': {no_results_text:'Oops, nothing found!'},
                '.chosen-select-width'     : {width:"95%"}
            };
    for (var selector in config) {
        $(selector).chosen(config[selector]);
    }

</script>
{% endblock %}
{% block self_footer_js %}
    <script src="/static/js/cropper/cropper.min.js"></script>
    <script src="/static/js/datapicker/bootstrap-datepicker.js"></script>
{% endblock %}