mirror of
https://github.com/retspen/webvirtcloud
synced 2025-03-23 05:23:00 +00:00
82 lines
4.9 KiB
HTML
82 lines
4.9 KiB
HTML
{% load i18n %}
|
|
{% load icons %}
|
|
<div class="tab-pane" id="snapshots" role="tabpanel">
|
|
<!-- Nav tabs -->
|
|
<ul class="nav nav-tabs" role="tablist" aria-label="Instance snapshot menu">
|
|
<li class="nav-item" role="presentation">
|
|
<button class="nav-link active" data-bs-toggle="tab" data-bs-target="#takesnapshot" type="button" role="tab" aria-controls="takesnapshot" aria-selected="true">
|
|
{% trans "Take Snapshot" %}
|
|
</button>
|
|
</li>
|
|
<li class="nav-item" role="presentation">
|
|
<button class="nav-link" data-bs-toggle="tab" data-bs-target="#managesnapshot" type="button" role="tab" aria-controls="managesnapshot" aria-selected="false">
|
|
{% trans "Manage Snapshots" %}
|
|
</button>
|
|
</li>
|
|
</ul>
|
|
<!-- Tab panes -->
|
|
<div class="tab-content">
|
|
<div role="tabpanel" class="tab-pane tab-pane-bordered active" id="takesnapshot">
|
|
<p>{% trans "This may take more than an hour, depending on how much content is on your instance and how large the disk is. It could cause web server timeout.." %}</p>
|
|
<form action="{% url 'instances:snapshot' instance.id %}" method="post" role="form" aria-label="Create snapshot form">
|
|
{% csrf_token %}
|
|
|
|
<div class="input-group mb-3">
|
|
<input type="text" class="form-control form-control-lg" name="name" placeholder="{% trans "Enter Snapshot Name" %}" maxlength="14">
|
|
<input type="submit" class="btn btn-lg btn-success float-end" name="snapshot" value="{% trans "Take Snapshot" %}" onclick="showPleaseWaitDialog();">
|
|
</div>
|
|
|
|
|
|
</form>
|
|
<div class="clearfix"></div>
|
|
</div>
|
|
<div role="tabpanel" class="tab-pane tab-pane-bordered" id="managesnapshot">
|
|
{% if instance.snapshots %}
|
|
<p>{% trans "Choose a snapshot for restore/delete" %}</p>
|
|
<div class="table-responsive">
|
|
<table class="table">
|
|
<thead>
|
|
<th scope="col">{% trans "Name" %}</th>
|
|
<th scope="col">{% trans "Date" %}</th>
|
|
<th scope="colgroup" colspan="2">{% trans "Action" %}</th>
|
|
</thead>
|
|
<tbody>
|
|
{% for snap in instance.snapshots %}
|
|
<tr>
|
|
<td><strong>{{ snap.name }}</strong></td>
|
|
<td>{{ snap.date|date:"M d H:i:s" }}</td>
|
|
<td style="width:30px;">
|
|
<form action="{% url 'instances:revert_snapshot' instance.id %}" method="post" role="form" aria-label="Restore snapshot form">
|
|
{% csrf_token %}
|
|
<input type="hidden" name="name" value="{{ snap.name }}">
|
|
{% if instance.status == 5 %}
|
|
<button type="submit" class="btn btn-sm btn-secondary" name="revert_snapshot" title="{% trans 'Revert to this Snapshot' %}" onclick="return confirm('Are you sure?')">
|
|
<span class="fa fa-download"></span>
|
|
</button>
|
|
{% else %}
|
|
<button type="button" class="btn btn-sm btn-secondary disabled"
|
|
title="{% trans "To restore snapshots you need Power Off the instance." %}">
|
|
<span class="fa fa-download"></span>
|
|
</button>
|
|
{% endif %}
|
|
</form>
|
|
</td>
|
|
<td style="width:30px;">
|
|
<form action="{% url 'instances:delete_snapshot' instance.id %}" method="post" role="form" aria-label="Delete snapshot form">{% csrf_token %}
|
|
<input type="hidden" name="name" value="{{ snap.name }}">
|
|
<button type="submit" class="btn btn-sm btn-danger" title="{% trans 'Delete Snapshot' %}" onclick="return confirm('{% trans "Are you sure?" %}')">
|
|
{% icon 'trash' %}
|
|
</button>
|
|
</form>
|
|
</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
{% else %}
|
|
<p>{% trans "You do not have any snapshots" %}</p>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
</div>
|