mirror of https://github.com/jumpserver/jumpserver
247 lines
14 KiB
HTML
247 lines
14 KiB
HTML
{% extends 'base.html' %}
|
|
{% load common_tags %}
|
|
{% load users_tags %}
|
|
{% load static %}
|
|
{% load i18n %}
|
|
|
|
{% block custom_head_css_js %}
|
|
<link href="{% static "css/plugins/select2/select2.min.css" %}" rel="stylesheet">
|
|
<script src="{% static "js/plugins/select2/select2.full.min.js" %}"></script>
|
|
{% endblock %}
|
|
{% 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="panel-options">
|
|
<ul class="nav nav-tabs">
|
|
<li class="active"><a href="" class="text-center"><i class="fa fa-laptop"></i> {% trans 'User detail' %} </a>
|
|
</li>
|
|
<li><a href="" class="text-center"><i class="fa fa-bar-chart-o"></i> {% trans 'User assets' %}</a></li>
|
|
<li><a href="" class="text-center"><i class="fa fa-bar-chart-o"></i> {% trans 'User log' %}</a></li>
|
|
<div class="" style="float: right">
|
|
<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="keyword" name="keyword"
|
|
value="{{ keyword }}" placeholder="Search">
|
|
<div class="input-group-btn">
|
|
<button id='search_btn' type="submit" class="btn btn-sm btn-primary">
|
|
{% trans 'Search' %}
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</ul>
|
|
</div>
|
|
<div class="tab-content">
|
|
<div class="col-sm-7" style="padding-left: 0px;">
|
|
<div class="ibox float-e-margins">
|
|
<div class="ibox-title">
|
|
<span class="label"><b>{{ user.name }}</b></span>
|
|
<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>
|
|
<ul class="dropdown-menu dropdown-user">
|
|
<li><a href="#"></a>
|
|
</li>
|
|
<li><a href="#"></a>
|
|
</li>
|
|
</ul>
|
|
<a class="close-link">
|
|
<i class="fa fa-times"></i>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
<div class="ibox-content">
|
|
<table class="table">
|
|
<tbody>
|
|
<tr class="no-borders-tr">
|
|
<td colspan="2">
|
|
<img src="{{ user | user_avatar_url }}" class="img-circle" width="64" height="64">
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="20%">{% trans 'Name' %}:</td>
|
|
<td><b>{{ user.name }}</b></td>
|
|
</tr>
|
|
<tr>
|
|
<td>{% trans 'Username' %}:</td>
|
|
<td><b>{{ user.username }}</b></td>
|
|
</tr>
|
|
<tr>
|
|
<td>{% trans 'Email' %}:</td>
|
|
<td><b>{{ user.email }}</b></td>
|
|
</tr>
|
|
{% if user.phone %}
|
|
<tr>
|
|
<td>{% trans 'Phone' %}:</td>
|
|
<td><b>{{ user.phone }}</b></td>
|
|
</tr>
|
|
{% endif %}
|
|
{% if user.wechat %}
|
|
<tr>
|
|
<td>{% trans 'Wechat' %}:</td>
|
|
<td><b>{{ user.wechat }}</b></td>
|
|
</tr>
|
|
{% endif %}
|
|
<tr>
|
|
<td>{% trans 'Role' %}:</td>
|
|
<td><b>{{ user.get_role_display }}</b></td>
|
|
</tr>
|
|
<tr>
|
|
<td>{% trans 'Date expired' %}:</td>
|
|
<td><b>{{ user.date_expired|date:"Y-m-j H:i:s" }}</b></td>
|
|
</tr>
|
|
<tr>
|
|
<td>{% trans 'Created by' %}:</td>
|
|
<td><b>{{ user.created_by }}</b></td>
|
|
</tr>
|
|
<tr>
|
|
<td>{% trans 'Date joined' %}:</td>
|
|
<td><b>{{ user.date_joined|date:"Y-m-j H:i:s" }}</b></td>
|
|
</tr>
|
|
<tr>
|
|
<td>{% trans 'Last login' %}:</td>
|
|
<td><b>{{ user.last_login|date:"Y-m-j H:i:s" }}</b></td>
|
|
</tr>
|
|
<tr>
|
|
<td>{% trans 'Comment' %}:</td>
|
|
<td><b>{{ user.comment }}</b></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-sm-5" style="padding-left: 0px;">
|
|
<div class="panel panel-primary">
|
|
<div class="panel-heading">
|
|
<i class="fa fa-info-circle"></i> {% trans 'Quick modify' %}
|
|
</div>
|
|
<div class="panel-body">
|
|
<table class="table">
|
|
<tbody>
|
|
<tr class="no-borders-tr">
|
|
<td width="50%">Active:</td>
|
|
<td><span style="float: right">
|
|
<div class="switch">
|
|
<div class="onoffswitch">
|
|
<input type="checkbox" {% if user.is_active %} checked {% endif %} class="onoffswitch-checkbox" id="is_active" onchange="switch_user_status(this)">
|
|
<label class="onoffswitch-label" for="is_active">
|
|
<span class="onoffswitch-inner"></span>
|
|
<span class="onoffswitch-switch"></span>
|
|
</label>
|
|
</div>
|
|
</div>
|
|
</span></td>
|
|
</tr>
|
|
<tr>
|
|
<td>二次验证:</td>
|
|
<td><span style="float: right">
|
|
<div class="switch">
|
|
<div class="onoffswitch">
|
|
<input type="checkbox" class="onoffswitch-checkbox"
|
|
id="example2">
|
|
<label class="onoffswitch-label" for="example2">
|
|
<span class="onoffswitch-inner"></span>
|
|
<span class="onoffswitch-switch"></span>
|
|
</label>
|
|
</div>
|
|
</div>
|
|
</span></td>
|
|
</tr>
|
|
<tr>
|
|
<td>{% trans 'Reset password' %}:</td>
|
|
<td>
|
|
<span style="float: right">
|
|
<button type="button" class="btn btn-primary btn-xs" style="width: 54px">{% trans 'Reset' %}</button>
|
|
</span>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>{% trans 'Reset ssh key' %}:</td>
|
|
<td>
|
|
<span style="float: right">
|
|
<button type="button" class="btn btn-primary btn-xs" style="width: 54px;">{% trans 'Reset' %}</button>
|
|
</span>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="panel panel-info">
|
|
<div class="panel-heading">
|
|
<i class="fa fa-info-circle"></i> {% trans 'User group' %}
|
|
</div>
|
|
<div class="panel-body">
|
|
<table class="table">
|
|
<tbody>
|
|
<form>
|
|
<tr>
|
|
<td colspan="2" class="no-borders">
|
|
<select data-placeholder="{% trans 'Join user groups' %}" class="select2" style="width: 100%" multiple="" tabindex="4">
|
|
{% for group in groups %}
|
|
<option value="{{ group.id }}">{{ group.name }}</option>
|
|
{% endfor %}
|
|
</select>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2" class="no-borders">
|
|
<button type="button" class="btn btn-info btn-small">{% trans 'Join' %}</button>
|
|
</td>
|
|
</tr>
|
|
</form>
|
|
|
|
{% for group in user.groups.all %}
|
|
<tr>
|
|
<td ><b>{{ group.name }}</b></td>
|
|
<td>
|
|
<button class="btn btn-danger btn-sm" type="button" style="float: right;"><i class="fa fa-minus"></i></button>
|
|
</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{% endblock %}
|
|
{% block custom_foot_js %}
|
|
<script>
|
|
function switch_user_status(obj) {
|
|
var status = $(obj).prop('checked');
|
|
|
|
$.ajax({
|
|
url: "{% url 'users:user-active-api' pk=user.id %}",
|
|
type: "PUT",
|
|
data: {
|
|
'is_active': status
|
|
},
|
|
success: function (data, status) {
|
|
console.log(data)
|
|
},
|
|
error: function () {
|
|
console.log('error')
|
|
}
|
|
})
|
|
}
|
|
$(document).ready(function () {
|
|
$('.select2').select2();
|
|
})
|
|
</script>
|
|
{% endblock %} |