jumpserver/apps/assets/templates/assets/admin_user_detail.html

172 lines
8.3 KiB
HTML
Raw Normal View History

2016-09-08 12:39:06 +00:00
{% extends 'base.html' %}
{% 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>
2016-09-08 12:39:06 +00:00
{% endblock %}
2016-09-08 12:39:06 +00:00
{% 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">
2016-09-16 12:53:10 +00:00
<li class="active">
2017-12-10 16:29:25 +00:00
<a href="{% url 'assets:admin-user-detail' pk=admin_user.pk %}" class="text-center"><i class="fa fa-laptop"></i> {% trans 'Detail' %} </a>
</li>
<li>
<a href="{% url 'assets:admin-user-assets' pk=admin_user.pk %}" class="text-center"><i class="fa fa-laptop"></i> {% trans 'Assets list' %} </a>
2016-09-08 12:39:06 +00:00
</li>
2016-11-03 15:16:16 +00:00
<li class="pull-right">
<a class="btn btn-outline btn-default" href="{% url 'assets:admin-user-update' pk=admin_user.id %}"><i class="fa fa-edit"></i>{% trans 'Update' %}</a>
2016-11-03 15:16:16 +00:00
</li>
2017-01-20 12:13:22 +00:00
<li class="pull-right">
<a class="btn btn-outline btn-danger btn-delete-admin-user">
<i class="fa fa-trash-o"></i>{% trans 'Delete' %}
2017-01-20 12:13:22 +00:00
</a>
</li>
2016-09-08 12:39:06 +00:00
</ul>
</div>
<div class="tab-content">
2018-02-09 07:24:44 +00:00
<div class="col-sm-8" style="padding-left: 0;">
2016-09-08 12:39:06 +00:00
<div class="ibox float-e-margins">
<div class="ibox-title">
<span class="label"><b>{{ admin_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">
</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>{% trans 'Name' %}:</td>
<td><b>{{ admin_user.name }}</b></td>
</tr>
<tr>
<td>{% trans 'Username' %}:</td>
<td><b>{{ admin_user.username }}</b></td>
</tr>
<tr>
<td>{% trans 'Date created' %}:</td>
<td><b>{{ admin_user.date_created }}</b></td>
</tr>
<tr>
<td>{% trans 'Created by' %}:</td>
<td><b>{{ asset_group.created_by }}</b></td>
</tr>
<tr>
<td>{% trans 'Comment' %}:</td>
<td><b>{{ admin_user.comment }}</b></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
2018-02-09 07:24:44 +00:00
<div class="col-sm-4" style="padding-left: 0;padding-right: 0">
<div class="panel panel-primary">
2017-12-13 09:21:08 +00:00
<div class="panel-heading">
2018-02-26 08:57:34 +00:00
<i class="fa fa-info-circle"></i> {% trans 'Replace node assets admin user with this' %}
2017-12-13 09:21:08 +00:00
</div>
<div class="panel-body">
<table class="table group_edit" id="table-clusters">
2017-12-13 09:21:08 +00:00
<tbody>
<form>
<tr>
<td colspan="2" class="no-borders">
2018-02-26 08:57:34 +00:00
<select data-placeholder="{% trans 'Select nodes' %}" id="nodes_selected" class="select2" style="width: 100%" multiple="" tabindex="4">
2018-02-09 07:24:44 +00:00
{% for node in nodes %}
2018-10-10 07:37:20 +00:00
<option value="{{ node.id }}" id="opt_{{ node.id }}" >{{ node }}</option>
2017-12-13 09:21:08 +00:00
{% endfor %}
</select>
</td>
</tr>
<tr>
<td colspan="2" class="no-borders">
2018-02-09 07:24:44 +00:00
<button type="button" class="btn btn-primary btn-sm" id="btn-change-admin-user">{% trans 'Confirm' %}</button>
2017-12-13 09:21:08 +00:00
</td>
</tr>
</form>
</tbody>
</table>
</div>
</div>
2016-09-08 12:39:06 +00:00
</div>
</div>
</div>
</div>
</div>
</div>
</div>
{% endblock %}
{% block custom_foot_js %}
2017-01-06 12:34:24 +00:00
<script>
2018-02-09 07:24:44 +00:00
function replaceNodeAssetsAdminUser(nodes) {
var the_url = "{% url 'api-assets:replace-nodes-admin-user' pk=admin_user.id %}";
var body = {
2018-02-09 07:24:44 +00:00
nodes: nodes
};
var success = function(data) {
// remove all the selected groups from select > option and rendered ul element;
$('.select2-selection__rendered').empty();
2018-02-09 07:24:44 +00:00
$('#nodes_selected').val('');
$.map(jumpserver.nodes_selected, function(value, index) {
$('#opt_' + index).remove();
});
// clear jumpserver.groups_selected
2018-02-09 07:24:44 +00:00
jumpserver.nodes_selected = {};
};
requestApi({
url: the_url,
body: JSON.stringify(body),
success: success
2017-01-06 12:34:24 +00:00
});
}
2018-02-09 07:24:44 +00:00
jumpserver.nodes_selected = {};
2017-01-06 12:34:24 +00:00
$(document).ready(function () {
$('.select2').select2()
.on('select2:select', function(evt) {
var data = evt.params.data;
2018-02-09 07:24:44 +00:00
jumpserver.nodes_selected[data.id] = data.text;
}).on('select2:unselect', function(evt) {
var data = evt.params.data;
2018-02-09 07:24:44 +00:00
delete jumpserver.nodes_selected[data.id]
});
2017-01-06 12:34:24 +00:00
})
.on('click', '.btn-delete-admin-user', function () {
2017-01-20 12:13:22 +00:00
var $this = $(this);
var name = "{{ admin_user.name }}";
var uid = "{{ admin_user.id }}";
var the_url = '{% url "api-assets:admin-user-detail" pk=DEFAULT_PK %}'.replace('{{ DEFAULT_PK }}', uid);
2017-01-20 12:13:22 +00:00
var redirect_url = "{% url 'assets:admin-user-list' %}";
objectDelete($this, name, the_url, redirect_url);
})
2018-02-09 07:24:44 +00:00
.on('click', '#btn-change-admin-user', function () {
if (Object.keys(jumpserver.nodes_selected).length === 0) {
return false;
}
2018-02-09 07:24:44 +00:00
var nodes = [];
$.map(jumpserver.nodes_selected, function(value, index) {
nodes.push(index);
});
2018-02-09 07:24:44 +00:00
replaceNodeAssetsAdminUser(nodes);
})
2017-01-06 12:34:24 +00:00
</script>
{% endblock %}