Current Path : /data/web/virtuals/51568/virtual/www/www/plany/ |
Current File : /data/web/virtuals/51568/virtual/www/www/plany/roky.js |
function rokDetail(rokID) { $('[id^="trRok"]').css("background-color", "transparent"); $("#trRok" + rokID).css("background-color", "#dee2e6"); $.ajax({ url: "www/plany/roky-detail.php", type: 'POST', dataType: 'HTML', data: { 'rokID': rokID, }, success: function(result) { let det = document.getElementById("detailRokForma"), rokyInfo = result; if ((det === undefined) || (det == null)) { $.ajax({ url: "www/plany/roky-forma.php", success: function(result) { $("#rokyVpravo").html(result); dosadTydny(rokID); dosadTridy(rokID) $("#rokyInfo").html(rokyInfo); $("#rokTitulek").html("Parametry roku"); } }) } else { $("#rokTitulek").html("Parametry roku"); $("#rokyInfo").html(rokyInfo); dosadTydny(rokID); dosadTridy(rokID) } } }); } function rokNastavAktualni(id) { $.ajax({ url: "www/plany/roky-seznam.php", type: 'POST', dataType: 'HTML', data: { 'data': JSON.stringify({ command: 'rokNastavAktualni', id: id }) }, success: function(result) { $("#rokySeznam").html(result); } }) } function dosadTridy(rokID) { $.ajax({ url: "www/plany/roky-tridy.php", type: 'POST', dataType: 'HTML', data: { 'rokID': rokID, }, success: function(result) { $("#rokyTridy").html(result); } }) } function dosadTydny(rokID) { $.ajax({ url: "www/plany/roky-tydny.php", type: 'POST', dataType: 'HTML', data: { 'rokID': rokID, }, success: function(result) { $("#rokyTydny").html(result); } }) } class TridniUcitel { constructor() { this.id = 0; } setTridniUcitel(id, idtridni, tridniJmeno) { this.id = id; this.idtridni = idtridni; this.tridniJmeno = tridniJmeno; } } tridniUcitel = new TridniUcitel(); function stornoEditace() { $("#trErrMsg").remove(); let idOld = tridniUcitel.id; if (idOld > 0) { $("#trUcitel" + idOld).html(tridniUcitel.tridniJmeno); $("#trEdit" + idOld).html(`<span class="text-primary"><i class="far fa-edit"></i></span>`); $("#trSave" + idOld).html(``); document.getElementById("trUcitel" + idOld).onclick = new Function(`editujTridniho('${idOld}', '${tridniUcitel.idtridni}', '${tridniUcitel.tridniJmeno}')`); document.getElementById("trEdit" + idOld).onclick = new Function(`editujTridniho('${idOld}', '${tridniUcitel.idtridni}', '${tridniUcitel.tridniJmeno}')`); tridniUcitel.setTridniUcitel(0, 0, ''); } } function editujTridniho(id, idtridni, tridniJmeno) { stornoEditace(); tridniUcitel.setTridniUcitel(id, idtridni, tridniJmeno); $.ajax({ url: "www/plany/roky-tridni-combo.php", type: 'POST', dataType: 'HTML', data: { 'idtridni': idtridni }, success: function(result) { $("#trUcitel" + id).html(result); $("#trEdit" + id).html(`<span class="text-warning"><i class="fas fa-undo"></i></span>`); $("#trSave" + id).html(`<span class="text-success"><i class="far fa-save"></i></span>`); document.getElementById("trEdit" + id).onclick = new Function(`stornoEditace()`); document.getElementById("trSave" + id).onclick = new Function(`ulozEditace()`); document.getElementById("trUcitel" + id).onclick = ""; } }) } function ulozEditace() { $("#trErrMsg").remove(); let newidtridni = $("#newTrUcitel").val(); if (newidtridni == 0) { let errMsg = `<tr id="trErrMsg"><td colspan="4"><div class="alert alert-danger">Třídního musíš vybrat.</div></td></tr>`; $("#rowTrida" + tridniUcitel.id).after(errMsg); } else { tridniUcitel.setTridniUcitel(tridniUcitel.id, newidtridni, ""); $.ajax({ url: "www/plany/roky-tridni-uloz.php", type: 'POST', dataType: 'HTML', data: { 'tridni': JSON.stringify(tridniUcitel), }, success: function(result) { let id = tridniUcitel.id; tridniUcitel.setTridniUcitel(tridniUcitel.id, newidtridni, result); stornoEditace(result); $("#trUcitel" + id).html(result); } }) } } function zalozTridy(rokID) { $.ajax({ url: "www/plany/roky-zaloz-tridy.php", type: 'POST', dataType: 'HTML', data: { 'rokID': rokID, }, success: function(result) { console.log(result); if (result == '0') { $("#tridyNejsou").html(`<div class="alert alert-warning rounded-0"> Třídy nebyly vytvořeny ani v předchozím školním roce - nebylo z čeho kopírovat do nastaveného. </div>`) } else { dosadTridy(rokID); } } }) } $(document).ready(function() { $('[id^="btnSave"]').on('click', function() { var id = this.id, akce = id.substr(8, 1), rokSkolni = $('#rok').val(), zacatek = $('#zacatek').val(), konec = $('#konec').val() rok1 = 0, rok2 = 5; console.log(rokSkolni); rok1 = rokSkolni.substr(0, 4); rok1 = parseInt(rok1, 0); jeErr = false; if ((rokSkolni.length != 9) || (rokSkolni.substr(4, 1) != '/')) { jeErr = true; msgErr = 'Školní rok není v požadovaném tvaru.'; } else { if (rok1 < 2019) { msgX = 'První rok školního roku musí být alespoň 2019.'; if (jeErr) msgErr = msgErr + '<br>' + msgX else msgErr = msgX; jeErr = true; } else { rok2 = rokSkolni.substr(5, 4); rok2 = parseInt(rok2, 0); if (rok2 != rok1 + 1) { msgX = 'Nezadal jsi dva po sobě jdoucí kalendářní roky.'; if (jeErr) msgErr = msgErr + '<br>' + msgX else msgErr = msgX; jeErr = true; } } } if (zacatek.length < 10) { msgX = 'Datum prvního pondělí je divné.'; if (jeErr) msgErr = msgErr + '<br>' + msgX else msgErr = msgX; jeErr = true; } else { var datum = new Date(zacatek); denTydne = datum.getDay(); den = datum.getDate(); mesic = datum.getMonth() + 1; rok = datum.getFullYear(); var rokOK = rok == rok1; if (!rokOK) { msgX = 'Rok v datu pondělí prvního týdne nekoresponduje s označením školního roku.'; if (jeErr) msgErr = msgErr + '<br>' + msgX else msgErr = msgX; jeErr = true; } else { var datumOK = ((mesic == 8) && (den >= 28)) || ((mesic == 9) && (den <= 6)); if (!datumOK) { msgX = 'Pondělí prvního týdne by mělo být z konce srpna nebo začátku září.'; if (jeErr) msgErr = msgErr + '<br>' + msgX else msgErr = msgX; jeErr = true; } else { if (denTydne != 1) { msgX = 'Datum prvního týdne není pondělí.'; if (jeErr) msgErr = msgErr + '<br>' + msgX else msgErr = msgX; jeErr = true; } } } } /* konec pitvani datum zacatek */ if (konec.length < 10) { msgX = 'Datum posledního pondělí je divné.'; if (jeErr) msgErr = msgErr + '<br>' + msgX else msgErr = msgX; jeErr = true; } else { var datum = new Date(konec); denTydne = datum.getDay(); den = datum.getDate(); mesic = datum.getMonth() + 1; rok = datum.getFullYear(); var rokOK = rok == rok2; if (!rokOK) { msgX = 'Rok v datu pondělí posledního týdne nekoresponduje s označením školního roku.'; if (jeErr) msgErr = msgErr + '<br>' + msgX else msgErr = msgX; jeErr = true; } else { var datumOK = (mesic == 6) && (den >= 20); if (!datumOK) { msgX = 'Pondělí posledního týdne by mělo být z konce června.'; if (jeErr) msgErr = msgErr + '<br>' + msgX else msgErr = msgX; jeErr = true; } else { if (denTydne != 1) { msgX = 'Datum posledního týdne není pondělí.'; if (jeErr) msgErr = msgErr + '<br>' + msgX else msgErr = msgX; jeErr = true; } } } } /* konec pitvani datum konec */ if (!jeErr) { $.ajax({ /* ajax 1 */ url: "www/plany/rokyExistuje.php", type: 'POST', dataType: 'HTML', data: { 'rok': rokSkolni }, success: function(result) { /* suc 1 */ if (result > 0) { $('#msgErr').removeClass('d-none').html('Rok s tímto značením je již existuje.'); } else { /* zalozim rok */ $('#msgErr').addClass('d-none').html(''); $('#msgOK').removeClass('d-none').html('Zakládám rok ' + rokSkolni + ' ...'); $.ajax({ /* ajax 2 */ url: "rokyZaloz.php", type: 'POST', dataType: 'HTML', data: { 'rok': rokSkolni, 'zacatek': zacatek, 'konec': konec }, success: function(result) { /* suc 2 */ $('#msgOK').addClass('d-none').html(''); $.redirect('indexspravce.php?m=roky.php', { 'akce': '', 'rokID': 0 }); } /* end suc 2 */ }) /* end ajax 2 */ } } /* end suc 1 */ }) /* end ajax 1 */ } else { $('#msgErr').removeClass('d-none').html(msgErr); } }) /* $('[id^="roEd"]').on('click', function () { var id = this.id, kod = id.substr(4, 50); $.redirect('indexspravce.php?m=roky.php', { 'akce': 'e', 'rokID': kod }); }) */ $('[id^="btnNovy"]').on('click', function() { $.redirect('indexspravce.php?m=roky.php', { 'akce': 'n' }); }) $('#btnStorno').on('click', function() { $.redirect('indexspravce.php?m=roky.php', { 'akce': '', 'rokID': 0 }); }) })