diff --git a/templates/index_cu.html b/templates/index_cu.html index bfc8ef0301a0decf871a966371c03186a322c89e..5130338d7d8ae85d2cfd809dcf47c1c0d4940de4 100644 --- a/templates/index_cu.html +++ b/templates/index_cu.html @@ -5,197 +5,84 @@ <div class="wrapper wrapper-content" xmlns="http://www.w3.org/1999/html"> <div class="row"> - <div class="col-lg-8"> - <div class="ibox float-e-margins"> - <div 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 class="col-sm-8"> + <div class="col-lg-12"> + <div class="ibox float-e-margins"> + <div 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> - <div class="ibox-content" style="line-height: 26px"> - <span style="font-size: large">欢</span>迎使用<span class="text-navy"><b>Jumpserver</b></span>è·³æ¿æœºç³»ç»Ÿï¼Œ - é¦–å…ˆéœ€è¦ <b><a href="/juser/down_key/?id={{ user.id }}">下载</a></b> ç™»å½•è·³æ¿æœºçš„SSH密钥文件,然åŽå¯¼å…¥åˆ°å·¥å…·æˆ–者ssh命令指定密钥文件(ç¡®ä¿å¯†é’¥æ–‡ä»¶æƒé™600),输入收到的密钥密ç ï¼Œç™»å½•è·³æ¿æœºã€‚ - ç™»å½•åŽæ ¹æ®æç¤ºè¿›è¡Œæ“ä½œã€‚è·³æ¿æœºwebç•Œé¢æ”¯æŒä¿®æ”¹å¯†ç ã€ä¸ªäººä¿¡æ¯å’Œä¸Šä¼ 下载文件ç‰åŠŸèƒ½ï¼Œå¯ä»¥å‘管ç†å‘˜ç”³è¯·æƒé™ã€‚ - </div> - </div> - - <div class="ibox float-e-margins"> - <div class="ibox-title"> - <h5> 已授æƒä¸»æœº </h5> - <div class="ibox-tools"> - <div class="label label-primary float-left"><b>总共:{{ host_count }}</b></div> - <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> - <ul class="dropdown-menu dropdown-user"> - <li><a href="#">未å¯ç”¨ 1</a> - </li> - <li><a href="#">未å¯ç”¨ 2</a> - </li> - </ul> - <a class="close-link"> - <i class="fa fa-times"></i> - </a> + <div class="ibox-content" style="line-height: 26px"> + <span style="font-size: large">欢</span>迎使用<span class="text-navy"><b>Jumpserver</b></span>è·³æ¿æœºç³»ç»Ÿï¼Œ + é¦–å…ˆéœ€è¦ <b><a href="/juser/down_key/?id={{ user.id }}">下载</a></b> ç™»å½•è·³æ¿æœºçš„SSH密钥文件,然åŽå¯¼å…¥åˆ°å·¥å…·æˆ–者ssh命令指定密钥文件(ç¡®ä¿å¯†é’¥æ–‡ä»¶æƒé™600),输入收到的密钥密ç ï¼Œç™»å½•è·³æ¿æœºã€‚ + ç™»å½•åŽæ ¹æ®æç¤ºè¿›è¡Œæ“ä½œã€‚è·³æ¿æœºwebç•Œé¢æ”¯æŒä¿®æ”¹å¯†ç ã€ä¸ªäººä¿¡æ¯å’Œä¸Šä¼ 下载文件ç‰åŠŸèƒ½ï¼Œå¯ä»¥å‘管ç†å‘˜ç”³è¯·æƒé™ã€‚ </div> </div> - - <div class="ibox-content"> - <form id="asset_form"> - <div class="col-sm-2" style="padding-left: 0px"> - <label> - <select name="idc" class="form-control m-b" onchange="change_info()"> - <option value="">IDC机房</option> - {% for idc in idc_all %} - {% ifequal idc.name idc_name %} - <option value="{{ idc.name }}" selected> {{ idc.name }}</option> - {% else %} - <option value="{{ idc.name }}"> {{ idc.name }}</option> - {% endifequal %} - {% endfor %} - </select> - </label> - </div> - <div class="col-sm-2"> - <label> - <select name="group" class="form-control m-b" onchange="change_info()"> - <option value="">主机组</option> - {% for asset_group in asset_group_all %} - {% ifequal asset_group.name group_name %} - <option value="{{ asset_group.name }}" - selected> {{ asset_group.name }} </option> - {% else %} - <option value="{{ asset_group.name }}"> {{ asset_group.name }} </option> - {% endifequal %} - {% endfor %} - </select> - </label> - </div> - - <div class="col-sm-2"> - <label> - <select name="asset_type" class="form-control m-b" onchange="change_info()"> - <option value="">所有类型</option> - {% for type in asset_types %} - {% ifequal type.0|int2str asset_type %} - <option value="{{ type.0 }}" selected> {{ type.1 }}</option> - {% else %} - <option value="{{ type.0 }}"> {{ type.1 }}</option> - {% endifequal %} - {% endfor %} - </select> - </label> + </div> + <div class="col-lg-12"> + <div class="ibox float-e-margins"> + <div class="ibox-title"> + <h5>登录记录</h5> + <div class="ibox-tools"> + <span class="label label-warning-light">最近登录</span> + </div> </div> - <div class="col-sm-2"> - <label> - <select name="status" class="form-control m-b" onchange="change_info()"> - <option value="">所有状æ€</option> - {% for s in asset_status %} - {% ifequal s.0|int2str status %} - <option value="{{ s.0 }}" selected> {{ s.1 }}</option> - {% else %} - <option value="{{ s.0 }}"> {{ s.1 }}</option> - {% endifequal %} + <div class="ibox-content"> + <div id="last"> + <div class="feed-activity-list" > + {% for log in logs_last %} + <div class="feed-element"> + <a href="profile.html" class="pull-left"> + <img alt="image" class="img-circle" src="/static/img/{{ session_role_id | to_avatar }}.png"> + </a> + <div class="media-body "> +{# <small class="pull-right">{{ log.start_time|time_delta }}</small>#} + <small class="pull-right">{{ log.start_time }}</small> + <strong>{{ log.user }}</strong> 登录了 <span class="text-navy">{{ log.host }}. </span><br> + <small class="text-muted">{{ log.start_time|date:"Y-m-d H:i:s" }}</small> + </div> + </div> {% endfor %} - </select> - </label> - </div> - <div class="col-sm-4"> - <div class="input-group"> - <input type="text" class="form-control m-b" id="search_input" name="keyword" - value="{{ keyword }}" placeholder="Search"> - <input type="text" style="display: none"> - - <div class="input-group-btn"> - <button id='search_btn' href="/jasset/asset_list/?search=true" type="button" - class="btn btn-xm btn-primary search-btn" onclick="change_info()"> - - æœç´¢ - - </button> - <button type="button" href="/jasset/asset_list/?export=true" name="export" - class="btn btn-xm btn-success search-btn-excel" onclick="return false"> - - 导出 - - </button> + {% if not logs_last %} + (æš‚æ— ) + {% endif %} </div> + {% if logs_num > 10 %} + <button id="show" class="btn btn-primary btn-block m-t"><i class="fa fa-arrow-down"></i> Show All</button> + {% endif %} </div> - </div> - <div id="export"></div> - <table class="table table-striped table-bordered table-hover " id="editable" name="editable"> - <thead> - <tr> - <th class="text-center"> - <input id="checkall" type="checkbox" class="i-checks" name="checkall" - value="checkall" data-editable='false' onclick="check_all('asset_form')"> - </th> - <th class="text-center"> 主机å</th> - <th class="text-center" name="ip"> IP地å€</th> - <th class="text-center"> IDC</th> - <th class="text-center"> 所属主机组</th> - {# <th class="text-center"> é…ç½®ä¿¡æ¯ </th>#} - <th class="text-center"> æ“作系统</th> - <th class="text-center"> 使用默认管ç†</th> - <th class="text-center"> æ“作</th> - </tr> - </thead> - <tbody> - {% for asset in assets %} - <tr class="gradeX"> - <td class="text-center" name="id" value="{{ asset.id }}" data-editable='false'> - <input name="id" value="{{ asset.id }}" type="checkbox" class="i-checks"> - </td> - <td class="text-center"> {{ asset.hostname|default_if_none:"" }} </td> - <td class="text-center"> {{ asset.ip|default_if_none:"" }} </td> - <td class="text-center"> {{ asset.idc.name|default_if_none:"" }} </td> - <td class="text-center">{{ asset.group.all|group_str2 }}</td> - {# <td class="text-center">{{ asset.cpu }}|{{ asset.memory }}|{{ asset.disk }}</td>#} - <td class="text-center"> - {{ asset.system_type|default_if_none:"" }}{{ asset.system_version|default_if_none:"" }}</td> - <td class="text-center"> {{ asset.use_default_auth|bool2str }} </td> - <td class="text-center" data-editable='false'> - <a href="/jasset/asset_detail/?id={{ asset.id }}" - class="btn btn-xs btn-primary">详情</a> - {% ifnotequal session_role_id 0 %} - {% if user.role == 'admin' %} - - <a href="/jasset/asset_edit/?id={{ asset.id }}" - class="btn btn-xs btn-info">编辑</a> - <a href="/jasset/asset_update/?id={{ asset.id }}" - class="btn btn-xs btn-info">æ›´æ–°</a> - <a value="/jasset/asset_del/?id={{ asset.id }}" - class="btn btn-xs btn-danger asset_del">åˆ é™¤</a> - {% endif %} - {% endifnotequal %} - </td> - </tr> - {% endfor %} - </tbody> - </table> - <div class="row"> - <div class="col-sm-6"> - {% if user.role == 'admin' %} - <input type="button" id="asset_del" class="btn btn-danger btn-sm" name="del_button" - value="åˆ é™¤"/> - <a value="/jasset/asset_edit_batch/" type="button" - class="btn btn-sm btn-warning iframe">修改</a> - {% endif %} + <div id="all" style="display: none"> + <div class="feed-activity-list" > + {% for log in logs_all %} + <div class="feed-element"> + <a href="profile.html" class="pull-left"> + <img alt="image" class="img-circle" src="/static/img/{{ session_role_id | to_avatar }}.png"> + </a> + <div class="media-body "> + <small class="pull-right">{{ log.start_time }}</small> +{# <small class="pull-right">{{ log.start_time|time_delta }}</small>#} + <strong>{{ log.user }}</strong> 登录了 <span class="text-navy">{{ log.host }}. </span><br> + <small class="text-muted">{{ log.start_time|date:"Y-m-d H:i:s" }}</small> + </div> + </div> + {% endfor %} + </div> </div> - {% include 'paginator.html' %} </div> - </form> + </div> </div> - </div> </div> <div class="col-lg-4"> diff --git a/templates/nav.html b/templates/nav.html index 61bd8fe363f453f9420505cfe91970af34edc3ed..27c2a675e284cce9f932a575eb75c1dfd3de9f86 100644 --- a/templates/nav.html +++ b/templates/nav.html @@ -51,58 +51,6 @@ </div> </nav> {% endif %} -{% if request.session.role_id == 1 %} -<nav class="navbar-default navbar-static-side" role="navigation"> - <div class="sidebar-collapse"> - <ul class="nav" id="side-menu"> - {% include 'nav_li_profile.html' %} - <li id="index"> - <a href="/"><i class="fa fa-th-large"></i> <span class="nav-label">仪表盘</span><span class="label label-info pull-right"></span></a> - </li> - <li id="juser"> - <a href="#"><i class="fa fa-rebel"></i> <span class="nav-label">用户管ç†</span><span class="fa arrow"></span></a> - <ul class="nav nav-second-level"> - <li class="dept_list dept_edit"><a href="/juser/dept_list/">查看部门</a></li> - <li class="group_list group_edit"><a href="/juser/group_list/">查看å°ç»„</a></li> - <li class="group_add"><a href="/juser/group_add/">æ·»åŠ å°ç»„</a></li> - <li class="user_list user_detail"><a href="/juser/user_list/">查看用户<span class="label {% ifequal user_active_num user_total_num %}label-primary {% else %}label-warning {% endifequal %}pull-right">{{ user_active_num }}/{{ user_total_num }}</span></a></li> - <li class="user_add"><a href="/juser/user_add/">æ·»åŠ ç”¨æˆ·</a></li> - </ul> - </li> - <li id="jasset"> - <a><i class="fa fa-cube"></i> <span class="nav-label">资产管ç†</span><span class="fa arrow"></span></a> - <ul class="nav nav-second-level"> -{# <li class="host_add host_add_multi"><a href="/jasset/host_add/">æ·»åŠ èµ„äº§</a></li>#} - <li class="asset_list asset_detail asset_edit"><a href="/jasset/asset_list/">查看资产<span class="label label-info pull-right">{{ host_active_num }}/{{ host_total_num}}</span></a></li> - <li class="idc_list idc_detail idc_edit"><a href="/jasset/idc_list/">查看IDC</a></li> - <li class="group_add"><a href="/jasset/group_add/">æ·»åŠ ä¸»æœºç»„</a></li> - <li class="group_list group_detail group_edit"><a href="/jasset/group_list/">查看主机组</a></li> - </ul> - </li> - <li id="jperm"> - <a href="#"><i class="fa fa-edit"></i> <span class="nav-label">授æƒç®¡ç†</span><span class="fa arrow"></span></a> - <ul class="nav nav-second-level"> - <li class="perm_list perm_edit perm_detail"> - <a href="/jperm/perm_list/">å°ç»„授æƒ</a> - </li> - - <li class="sudo_list sudo_edit sudo_add cmd_list cmd_edit cmd_add sudo_detail"> - <a href="/jperm/sudo_list/">Sudo授æƒ</a> - </li> - <li class="apply_show online"><a href="/jperm/apply_show/online/">æƒé™å®¡æ‰¹</a></li> - </ul> - </li> - <li id="jlog"> - <a href="/jlog/log_list/online/"><i class="fa fa-files-o"></i> <span class="nav-label">日志审计</span><span class="label label-info pull-right"></span></a> - </li> - - <li class="special_link"> - <a href="http://www.jumpserver.org" target="_blank"><i class="fa fa-database"></i> <span class="nav-label">访问官网</span></a> - </li> - </ul> - </div> -</nav> -{% endif %} {% if request.session.role_id == 0 %} <nav class="navbar-default navbar-static-side" role="navigation"> @@ -110,28 +58,11 @@ <ul class="nav" id="side-menu"> {% include 'nav_li_profile.html' %} <li id="index"> - <a href="/"><i class="fa fa-th-large"></i> <span class="nav-label">仪表盘</span><span class="label label-info pull-right"></span></a> - </li> - <li class="user_detail"> - <a href="/juser/user_detail/?id={{ session_user_id }}"><i class="fa fa-rebel"></i> <span class="nav-label">个人信æ¯</span><span class="label label-info pull-right"></span></a> + <a href="/"><i class="fa fa-dashboard"></i> <span class="nav-label">仪表盘</span><span class="label label-info pull-right"></span></a> </li> <li id="jasset"> - <a href="/jasset/asset_list/"><i class="fa fa-cube"></i> <span class="nav-label">查看主机</span><span class="label label-info pull-right"></span></a> - </li> - <li id="jperm"> - <a><i class="fa fa-cube"></i> <span class="nav-label">æƒé™ç”³è¯·</span><span class="fa arrow"></span></a> - <ul class="nav nav-second-level"> - <li class="apply"><a href="/jperm/apply/">申请主机</a></li> - <li class="apply_show online"><a href="/jperm/apply_show/online/">申请记录</a></li> - </ul> - </li> - <li id="command"> - <a href="/juser/runcommand/"><span>æ‰¹é‡æ‰§è¡Œå‘½ä»¤</span></a> + <a href="/jasset/asset_list/"><i class="fa fa-inbox"></i> <span class="nav-label">查看主机</span><span class="label label-info pull-right"></span></a> </li> - <li id="jlog"> - <a href="/jlog/log_list/online/"><i class="fa fa-files-o"></i> <span class="nav-label">登录历å²</span><span class="label label-info pull-right"></span></a> - </li> - <li id="file"> <a href="#"><i class="fa fa-download"></i> <span class="nav-label">ä¸Šä¼ ä¸‹è½½</span><span class="fa arrow"></span></a> <ul class="nav nav-second-level">