mirror of https://github.com/jumpserver/jumpserver
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
152 lines
6.8 KiB
152 lines
6.8 KiB
{% extends 'base.html' %}
|
|
{% load mytags %}
|
|
{% block content %}
|
|
{% include 'nav_cat_bar.html' %}
|
|
|
|
<div class="wrapper wrapper-content animated fadeInRight">
|
|
<div class="row">
|
|
<div class="col-lg-12">
|
|
<div class="ibox float-e-margins">
|
|
<div class="ibox-title">
|
|
<h5> 查看用户 </h5>
|
|
<div class="ibox-tools">
|
|
<a class="collapise-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="">
|
|
<a target="_blank" href="/juser/user_add/" class="btn btn-sm btn-primary "> 添加用户 </a>
|
|
<a id="del_btn" class="btn btn-sm btn-danger "> 删除所选 </a>
|
|
<form id="search_form" method="get" action="" class="pull-right mail-search">
|
|
<div class="input-group">
|
|
<input type="text" class="form-control input-sm" id="search_input" name="keyword" placeholder="Search">
|
|
<div class="input-group-btn">
|
|
<button id='search_btn' type="submit" class="btn btn-sm btn-primary">
|
|
-搜索-
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
|
|
<table class="table table-striped table-bordered table-hover " id="editable" >
|
|
<thead>
|
|
<tr>
|
|
<th class="text-center">
|
|
<input type="checkbox" id="check_all" onclick="checkAll()">
|
|
</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>
|
|
<th class="text-center">下载密钥</th>
|
|
<th class="text-center">操作</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for user in users.object_list %}
|
|
<tr class="gradeX">
|
|
<td class="text-center">
|
|
<input type="checkbox" name="checked" value="{{ user.id }}">
|
|
</td>
|
|
<td class="text-center"> {{ user.username }} </td>
|
|
<td class="text-center"> {{ user.name }} </td>
|
|
<td class="text-center" title="{% for user_group in user.group.all %} {{ user_group.name }} {% endfor %}"> {{ user.group.all | groups2str }} </td>
|
|
<td class="text-center"> {{ user.id | get_role }}</td>
|
|
<td class="text-center">{{ user.is_active | bool2str }}</td>
|
|
<td class="text-center">
|
|
{% if user.username|key_exist %}
|
|
<a href="/juser/down_key/?id={{ user.id }}" >下载</a>
|
|
{% else %}
|
|
<span style="color: #586b7d">下载</span>
|
|
{% endif %}
|
|
</td>
|
|
<td class="text-center">
|
|
<a href="../user_detail/?id={{ user.id }}" class="btn btn-xs btn-primary">详情</a>
|
|
<a href="../user_edit/?id={{ user.id }}" class="btn btn-xs btn-info">编辑</a>
|
|
<a value="{{ user.uuid }}" class="btn btn-xs btn-warning email">Email</a>
|
|
<a value="../user_del/?id={{ user.id }}" class="btn btn-xs btn-danger del {% if user.username == 'admin' %} disabled {% endif %}">删除</a>
|
|
</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
<div class="row">
|
|
<div class="col-sm-6">
|
|
<div class="dataTables_info" id="editable_info" role="status" aria-live="polite">
|
|
Showing {{ users.start_index }} to {{ users.end_index }} of {{ p.count }} entries
|
|
</div>
|
|
</div>
|
|
{% include 'paginator.html' %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{% endblock %}
|
|
{% block self_head_css_js %}
|
|
{% load staticfiles %}
|
|
<script src="{% static 'js/jquery.shiftcheckbox.js' %}"></script>
|
|
{% endblock %}
|
|
{% block self_footer_js %}
|
|
<script>
|
|
$(document).ready(function(){
|
|
$('.del').click(function(){
|
|
var row = $(this).closest('tr');
|
|
if (confirm("确定删除")) {
|
|
$.get(
|
|
$(this).attr('value'),
|
|
{},
|
|
function(data){
|
|
row.remove();
|
|
alert(data);
|
|
}
|
|
)}
|
|
});
|
|
|
|
$('#del_btn').click(function(){
|
|
var check_array = [];
|
|
if (confirm("确定删除")) {
|
|
$(".gradeX input:checked").each(function() {
|
|
check_array.push($(this).attr("value"))
|
|
});
|
|
$.post("/juser/user_del/",
|
|
{id: check_array.join(",")},
|
|
function(data){
|
|
$(".gradeX input:checked").closest("tr").remove();
|
|
alert(data);
|
|
}
|
|
)
|
|
}
|
|
|
|
});
|
|
|
|
$('.email').click(function(){
|
|
$.get('/juser/send_mail_retry/?uuid=' + $(this).attr('value'),
|
|
{},
|
|
function(data){
|
|
alert(data)
|
|
}
|
|
)
|
|
});
|
|
$("tbody tr").shiftcheckbox({
|
|
checkboxSelector: 'input:checkbox',
|
|
selectAll: $('#select_all'),
|
|
ignoreClick: 'a'
|
|
});
|
|
$('.shiftCheckbox').shiftcheckbox();
|
|
});
|
|
</script>
|
|
{% endblock %} |