2022-05-11 14:59:36 +00:00
|
|
|
|
{% extends "ereuse_devicehub/base_site.html" %}
|
|
|
|
|
{% block main %}
|
|
|
|
|
|
|
|
|
|
<div class="pagetitle">
|
|
|
|
|
<h1>Inventory</h1>
|
|
|
|
|
<nav>
|
|
|
|
|
<ol class="breadcrumb">
|
2022-05-18 09:01:23 +00:00
|
|
|
|
<li class="breadcrumb-item"><a href="{{ url_for('inventory.devicelist')}}">Inventory</a></li>
|
|
|
|
|
<li class="breadcrumb-item active">Snapshots</li>
|
2022-05-11 14:59:36 +00:00
|
|
|
|
</ol>
|
|
|
|
|
</nav>
|
|
|
|
|
</div><!-- End Page Title -->
|
|
|
|
|
|
|
|
|
|
<section class="section profile">
|
|
|
|
|
<div class="row">
|
|
|
|
|
|
|
|
|
|
<div class="col-xl-12">
|
|
|
|
|
|
|
|
|
|
<div class="card">
|
2022-05-18 09:01:23 +00:00
|
|
|
|
<div class="card-body pt-3" style="min-height: 650px;">
|
2022-05-11 14:59:36 +00:00
|
|
|
|
<!-- Bordered Tabs -->
|
2022-05-18 09:01:23 +00:00
|
|
|
|
<div class="tab-content pt-5">
|
|
|
|
|
<div id="devices-list" class="tab-pane fade devices-list active show">
|
|
|
|
|
<div class="tab-content pt-2">
|
2022-11-28 10:58:42 +00:00
|
|
|
|
<div class="dataTable-top" style="float: left;">
|
|
|
|
|
<div class="dataTable-dropdown">
|
|
|
|
|
<label>
|
|
|
|
|
<select class="dataTable-selector">
|
|
|
|
|
<option value="5"{% if snapshots_log.per_page == 5 %} selected="selected"{% endif %}>
|
|
|
|
|
5
|
|
|
|
|
</option>
|
|
|
|
|
<option value="10"{% if snapshots_log.per_page == 10 %} selected="selected"{% endif %}>
|
|
|
|
|
10
|
|
|
|
|
</option>
|
|
|
|
|
<option value="15"{% if snapshots_log.per_page == 15 %} selected="selected"{% endif %}>
|
|
|
|
|
15
|
|
|
|
|
</option>
|
|
|
|
|
<option value="20"{% if snapshots_log.per_page == 20 %} selected="selected"{% endif %}>
|
|
|
|
|
20
|
|
|
|
|
</option>
|
|
|
|
|
<option value="25"{% if snapshots_log.per_page == 25 %} selected="selected"{% endif %}>
|
|
|
|
|
25
|
|
|
|
|
</option>
|
|
|
|
|
<option value="50"{% if snapshots_log.per_page == 50 %} selected="selected"{% endif %}>
|
|
|
|
|
50
|
|
|
|
|
</option>
|
|
|
|
|
<option value="100"{% if snapshots_log.per_page == 100 %} selected="selected"{% endif %}>
|
|
|
|
|
100
|
|
|
|
|
</option>
|
|
|
|
|
</select> entries per page
|
|
|
|
|
</label>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="dataTable-search">
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="dataTable-container">
|
2022-05-11 14:59:36 +00:00
|
|
|
|
<table class="table">
|
|
|
|
|
<thead>
|
|
|
|
|
<tr>
|
2022-05-18 09:01:23 +00:00
|
|
|
|
<th scope="col">SID</th>
|
2022-10-18 07:49:54 +00:00
|
|
|
|
<th scope="col">Snapshot UUID</th>
|
2022-05-18 09:01:23 +00:00
|
|
|
|
<th scope="col">Version</th>
|
2022-06-03 09:06:49 +00:00
|
|
|
|
<th scope="col">DHID</th>
|
2022-05-18 09:01:23 +00:00
|
|
|
|
<th scope="col">Status</th>
|
2022-09-22 17:14:11 +00:00
|
|
|
|
<th scope="col">Type Upload</th>
|
|
|
|
|
<th scope="col">Type Device</th>
|
|
|
|
|
<th scope="col">Original DHID</th>
|
2022-10-10 11:24:31 +00:00
|
|
|
|
<th scope="col" data-type="date" data-format="YYYY-MM-DD hh:mm">Time</th>
|
2022-06-24 13:05:38 +00:00
|
|
|
|
<th scope="col"></th>
|
2022-05-11 14:59:36 +00:00
|
|
|
|
</tr>
|
|
|
|
|
</thead>
|
|
|
|
|
<tbody>
|
2022-11-28 10:58:42 +00:00
|
|
|
|
{% for snap in snapshots_log.items %}
|
2022-05-11 14:59:36 +00:00
|
|
|
|
<tr>
|
2022-05-11 16:00:18 +00:00
|
|
|
|
<td>
|
2022-06-07 13:12:13 +00:00
|
|
|
|
{% if snap.sid and snap.snapshot_uuid %}
|
2022-05-19 16:16:47 +00:00
|
|
|
|
<a href="{{ url_for('inventory.snapshot_detail', snapshot_uuid=snap.snapshot_uuid) }}">
|
2022-05-18 09:01:23 +00:00
|
|
|
|
{{ snap.sid }}
|
2022-05-19 16:16:47 +00:00
|
|
|
|
</a>
|
|
|
|
|
{% endif %}
|
2022-05-18 09:01:23 +00:00
|
|
|
|
</td>
|
|
|
|
|
<td>
|
2022-06-07 13:12:13 +00:00
|
|
|
|
{% if snap.snapshot_uuid %}
|
2022-05-19 16:16:47 +00:00
|
|
|
|
<a href="{{ url_for('inventory.snapshot_detail', snapshot_uuid=snap.snapshot_uuid) }}">
|
2022-05-18 09:01:23 +00:00
|
|
|
|
{{ snap.snapshot_uuid }}
|
2022-05-19 16:16:47 +00:00
|
|
|
|
</a>
|
2022-06-07 13:12:13 +00:00
|
|
|
|
{% endif %}
|
2022-05-18 09:01:23 +00:00
|
|
|
|
</td>
|
|
|
|
|
<td>
|
2022-11-30 15:46:10 +00:00
|
|
|
|
{{ snap.get_version() }}
|
2022-05-18 09:01:23 +00:00
|
|
|
|
</td>
|
|
|
|
|
<td>
|
2022-11-28 10:58:42 +00:00
|
|
|
|
{% if snap.get_device() %}
|
2022-12-05 09:05:12 +00:00
|
|
|
|
<a href="{{ url_for('inventory.device_details', id=snap.get_device()) }}">
|
2022-11-28 10:58:42 +00:00
|
|
|
|
{{ snap.get_device() }}
|
2022-05-18 09:01:23 +00:00
|
|
|
|
</a>
|
|
|
|
|
{% endif %}
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
2022-11-28 10:58:42 +00:00
|
|
|
|
{{ snap.get_status() }}
|
2022-05-11 16:00:18 +00:00
|
|
|
|
</td>
|
2022-09-22 17:14:11 +00:00
|
|
|
|
<td>
|
2022-11-28 10:58:42 +00:00
|
|
|
|
{{ snap.get_new_device() }}
|
2022-09-22 17:14:11 +00:00
|
|
|
|
</td>
|
|
|
|
|
<td>
|
2022-11-28 10:58:42 +00:00
|
|
|
|
{{ snap.get_type_device() }}
|
2022-09-22 17:14:11 +00:00
|
|
|
|
</td>
|
|
|
|
|
<td>
|
2022-11-28 10:58:42 +00:00
|
|
|
|
{{ snap.get_original_dhid() }}
|
2022-09-22 17:14:11 +00:00
|
|
|
|
</td>
|
2022-10-10 11:24:31 +00:00
|
|
|
|
<td>{{ snap.created.strftime('%Y-%m-%d %H:%M') }}</td>
|
2022-06-24 13:05:38 +00:00
|
|
|
|
<td>
|
|
|
|
|
{% if snap.snapshot_uuid %}
|
|
|
|
|
<a href="{{ url_for('inventory.export', export_id='snapshot') }}?id={{ snap.snapshot_uuid }}" target="_blank">
|
|
|
|
|
<i class="bi bi-box-arrow-up-right"></i>
|
|
|
|
|
</a>
|
|
|
|
|
{% endif %}
|
|
|
|
|
</td>
|
2022-05-11 14:59:36 +00:00
|
|
|
|
</tr>
|
|
|
|
|
{% endfor %}
|
|
|
|
|
</tbody>
|
|
|
|
|
</table>
|
|
|
|
|
|
2022-11-28 10:58:42 +00:00
|
|
|
|
<div class="dataTable-bottom">
|
|
|
|
|
<div class="dataTable-info">
|
|
|
|
|
Showing {{ snapshots_log.first }} to {{ snapshots_log.last }} of {{ snapshots_log.total }} entries
|
|
|
|
|
</div>
|
|
|
|
|
<nav class="dataTable-pagination">
|
|
|
|
|
<ul class="dataTable-pagination-list">
|
|
|
|
|
{% if snapshots_log.has_prev %}
|
|
|
|
|
<li class="pager">
|
|
|
|
|
<a href="{{ url_for('inventory.snapshotslist', page=snapshots_log.prev_num, per_page=snapshots_log.per_page) }}">‹</a>
|
|
|
|
|
</li>
|
|
|
|
|
{% endif %}
|
|
|
|
|
{% for page in snapshots_log.iter_pages() %}
|
|
|
|
|
{% if page %}
|
|
|
|
|
{% if page == snapshots_log.page %}
|
|
|
|
|
<li class="active"><a href="javascript:void()">{{ page }}</a></li>
|
|
|
|
|
{% else %}
|
|
|
|
|
<li class="">
|
|
|
|
|
<a href="{{ url_for('inventory.snapshotslist', page=page, per_page=snapshots_log.per_page) }}">
|
|
|
|
|
{{ page }}
|
|
|
|
|
</a>
|
|
|
|
|
</li>
|
|
|
|
|
{% endif %}
|
|
|
|
|
{% endif %}
|
|
|
|
|
{% endfor %}
|
|
|
|
|
{% if snapshots_log.has_next %}
|
|
|
|
|
<li class="pager">
|
|
|
|
|
<a href="{{ url_for('inventory.snapshotslist', page=snapshots_log.next_num, per_page=snapshots_log.per_page) }}">›</a>
|
|
|
|
|
</li>
|
|
|
|
|
{% endif %}
|
|
|
|
|
</ul>
|
|
|
|
|
</nav>
|
|
|
|
|
</div>
|
2022-05-18 09:01:23 +00:00
|
|
|
|
</div>
|
|
|
|
|
</div>
|
2022-05-11 14:59:36 +00:00
|
|
|
|
|
2022-05-18 09:01:23 +00:00
|
|
|
|
</div><!-- End Bordered Tabs -->
|
|
|
|
|
</div>
|
2022-05-11 14:59:36 +00:00
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
2022-05-18 09:01:23 +00:00
|
|
|
|
<div id="NotificationsContainer" style="position: absolute; bottom: 0; right: 0; margin: 10px; margin-top: 70px; width: calc(100% - 310px);"></div>
|
|
|
|
|
|
2022-05-11 14:59:36 +00:00
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
<!-- Custom Code -->
|
|
|
|
|
<script>
|
2022-11-28 10:58:42 +00:00
|
|
|
|
$(document).ready(() => {
|
|
|
|
|
$(".dataTable-selector").on("change", function() {
|
|
|
|
|
const per_page = $('.dataTable-selector').val();
|
|
|
|
|
window.location.href = "{{ url_for('inventory.snapshotslist', page=1) }}&per_page="+per_page;
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
</script>
|
|
|
|
|
<script>
|
|
|
|
|
let table = new simpleDatatables.DataTable("table", {
|
|
|
|
|
footer: false,
|
|
|
|
|
paging: false,
|
|
|
|
|
|
|
|
|
|
})
|
2022-05-11 14:59:36 +00:00
|
|
|
|
</script>
|
|
|
|
|
{% endblock main %}
|