52 lines
2.1 KiB
HTML
52 lines
2.1 KiB
HTML
{% include "korektury/korekturovatko/__edit_komentar.html" %}
|
|
|
|
{% include "korektury/korekturovatko/__stranky.html" %}
|
|
|
|
{# {% for o in opravy %} {% include "korektury/korekturovatko/__oprava.html" %} {% endfor %} #}
|
|
{% include "korektury/korekturovatko/__oprava.html" %}
|
|
{% include "korektury/korekturovatko/__komentar.html" %}
|
|
|
|
{% include "korektury/korekturovatko/__dalsi_korektura.html" %}
|
|
|
|
<button type="button" id="korektury-aktualizace">Aktualizuj korektury.</button>
|
|
|
|
<script>
|
|
/**
|
|
*
|
|
* @param {RequestInit} data
|
|
* @param {Boolean} catchError
|
|
* @param pri_uspechu Akce, která se má provést při úspěchu (speciálně zavřít formulář)
|
|
*/
|
|
function update_all(data={}, catchError=true, pri_uspechu=null) { // FIXME není mi jasné, zda v {} nemá být `cache: "no-store"`, aby prohlížeč necachoval GET.
|
|
fetch('{% url "korektury_api_opravy_a_komentare" pdf.id %}', data)
|
|
.then(response => {
|
|
if (!response.ok && catchError) {alert('Něco se nepovedlo:' + response.statusText);}
|
|
else response.json().then(data => {
|
|
if (pri_uspechu) pri_uspechu();
|
|
for (const oprava_data of data["context"]) {
|
|
const oprava = Oprava.update_or_create(oprava_data);
|
|
for (const komentar_data of oprava_data["komentare"]) {
|
|
Komentar.update_or_create(komentar_data, oprava);
|
|
}
|
|
}
|
|
|
|
place_comments();
|
|
});
|
|
})
|
|
.catch(error => {if (catchError) alert('Něco se nepovedlo:' + error);});
|
|
}
|
|
|
|
update_all();
|
|
|
|
// FIXME není mi jasné, zda v {} nemá být `cache: "no-store"`, aby prohlížeč necachoval GET.
|
|
document.getElementById("korektury-aktualizace").addEventListener("click", _ => update_all({}, false));
|
|
|
|
// FIXME není mi jasné, zda v {} nemá být `cache: "no-store"`, aby prohlížeč necachoval GET.
|
|
setInterval(() => update_all({}, false), 120000); // Každý dvě minuty fetchni korektury
|
|
</script>
|
|
|
|
<form id='CSRF_form' style='display: none'>{% csrf_token %}</form>
|
|
|
|
<script>
|
|
const CSRF_FORM = document.getElementById('CSRF_form');
|
|
</script>
|