113 lines
5.1 KiB
HTML
113 lines
5.1 KiB
HTML
{% extends "base.html" %}
|
|
|
|
{% block content %}
|
|
<section class="section">
|
|
<div class="container content">
|
|
<h1 class="title">{{ object.name }}</h1>
|
|
<div class="field is-grouped">
|
|
<div class="control">
|
|
<a class="button is-link" href="/object/download/tar/{{ object.id }}">Télécharger les données de l'objet (archive TAR)</a>
|
|
</div>
|
|
<div class="control">
|
|
<a class="button is-link" href="/object/download/zip/{{ object.id }}">Télécharger les données de l'objet (archive ZIP)</a>
|
|
</div>
|
|
</div>
|
|
{% if object.acquisitions %}
|
|
<div class="fixed-grid has-6-cols">
|
|
<div class="grid">
|
|
{% for acquisition in object.acquisitions %}
|
|
<a class="cell" href="/acquisition/rescan/{{ acquisition.id }}">
|
|
<div class="has-text-centered p-3" style="border-radius: 15px; border-width: 1px; border-color: {% if acquisition.validated %}green{% else %}red{% endif %}; border-style: solid;">
|
|
<div>
|
|
<img src="/data/objects/{{ object.id }}/{{ acquisition.id }}/{{ leds[0] }}.jpg">
|
|
</div>
|
|
<p>
|
|
{{ acquisition.get_pretty_date() }}
|
|
</p>
|
|
</div>
|
|
</a>
|
|
{% endfor %}
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
|
|
<div class="field is-grouped">
|
|
{% if calibration.state == CalibrationState.IsValidated %}
|
|
<div class="control">
|
|
<a href="/acquisition/scan/{{ object.id }}" class="button is-link">Faire un scan</a>
|
|
</div>
|
|
{% else %}
|
|
<div class="control">
|
|
<button class="button is-link" id="scan">Faire un scan</button>
|
|
</div>
|
|
{% endif %}
|
|
<div class="control">
|
|
<span id="delete-object" class="button is-danger">Supprimer cet objet</a>
|
|
</div>
|
|
</div>
|
|
|
|
{% if calibration.state != CalibrationState.IsValidated %}
|
|
<div id="calibration-modal" class="modal">
|
|
<div class="modal-background"></div>
|
|
<div class="modal-content">
|
|
<div class="has-text-centered mb-3">Le scanner n'est pas étalonné.</div>
|
|
|
|
<div class="field is-grouped is-grouped-centered">
|
|
<div class="control">
|
|
<a href="/calibration/calibrate" class="button is-link">Étalonner le scanner</a>
|
|
</div>
|
|
<div class="control">
|
|
<button id="use-last-calibration-button" href="/calibration/use-last/" class="button is-link">Réutiliser le dernier étalonnage</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<button class="modal-close is-large" aria-label="close"></button>
|
|
</div>
|
|
{% endif %}
|
|
<div id="delete-modal" class="modal">
|
|
<div class="modal-background"></div>
|
|
<div class="modal-content">
|
|
<div class="has-text-centered mb-3">Voulez-vous vraiment supprimer l'objet ?</div>
|
|
<div class="field is-grouped is-grouped-centered">
|
|
<div class="control">
|
|
<button class="button custom-modal-close">Annuler</button>
|
|
</div>
|
|
<div class="control">
|
|
<a href="/object/delete/{{ object.id }}" class="button is-danger">Supprimer cet objet</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<button class="modal-close is-large" aria-label="close"></button>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
{% endblock content %}
|
|
|
|
{% block extrajs %}{% if calibration.state < CalibrationState.IsValidated %}
|
|
<script>
|
|
document.getElementById('scan').addEventListener('click', () => {
|
|
let modal = document.getElementById('calibration-modal');
|
|
modal.classList.add('is-active');
|
|
});
|
|
|
|
document.getElementById('delete-object').addEventListener('click', () => {
|
|
let modal = document.getElementById('delete-modal');
|
|
modal.classList.add('is-active');
|
|
});
|
|
|
|
document.getElementById('use-last-calibration-button').addEventListener('click', async () => {
|
|
let resp = await fetch('/api/use-last-calibration');
|
|
await resp.text();
|
|
window.location.href = '/scan/{{ object.id }}';
|
|
});
|
|
|
|
(document.querySelectorAll('.modal-background, .modal-close, .custom-modal-close, .modal-card-head .delete, .modal-card-foot .button') || []).forEach((close) => {
|
|
close.addEventListener('click', () => {
|
|
for (let modal of document.querySelectorAll('#calibration-modal, #delete-modal')) {
|
|
modal.classList.remove('is-active');
|
|
}
|
|
});
|
|
});
|
|
</script>
|
|
{% endif %}{% endblock %}
|