Current Path : /data/web/virtuals/51568/virtual/www/subdom/agenda.1/php/ |
Current File : /data/web/virtuals/51568/virtual/www/subdom/agenda.1/php/Doucovani.js |
function mojeSkupiny() { $.ajax({ url: 'php/ajaxDoucovani.php', type: 'POST', dataType: 'HTML', data: { 'data': JSON.stringify({ command: 'mojeSkupiny', }) }, success: function(result) { $('#div-supliky-table').html(result); $('#div-dialogy').html(""); } }); } function zaciDialog(skupinaId) { $.ajax({ url: 'php/ajaxDoucovani.php', type: 'POST', dataType: 'HTML', data: { 'data': JSON.stringify({ command: 'zaciDialog', skupinaId: skupinaId, }) }, success: function(result) { $("#div-dialog").html(result); $("#zaci-dialog").modal("show"); } }); } function zaciVyber(skupinaId) { $('[id^="skupina-radek"]').css("background-color", "initial"); $("#skupina-radek" + skupinaId).css("background-color", "#cadefc"); $.ajax({ url: 'php/ajaxDoucovani.php', type: 'POST', dataType: 'HTML', data: { 'data': JSON.stringify({ command: 'zaciVyber', skupinaId: skupinaId, }) }, success: function(result) { $("#div-dialogy").html(result); } }); } function tridaZaci(skupinaId) { $("#zaci-err-msg").addClass("d-none"); let trida = $("#tridy-select").val(); $.ajax({ url: 'php/ajaxDoucovani.php', type: 'POST', dataType: 'HTML', data: { 'data': JSON.stringify({ command: 'tridaZaci', skupinaId: skupinaId, trida: trida, }) }, success: function(result) { $("#trida-zaci").html(result); } }); } function zaciOznac(akce) { $("#zaci-err-msg").addClass("d-none"); switch (akce) { case 1: $("[id^=zak-vse]").prop("checked", true); break; case 0: $("[id^=zak-vse]").prop("checked", false); break; case 2: $("[id^=zak-vse]").each(function() { this.checked = !this.checked; }); break; } zaciSpocitej(); } function zaciSpocitej() { $("#zaci-err-msg").addClass("d-none"); let pocet = 0; $("[id^=zak-vse]").each(function() { pocet += (this.checked) ? 1 : 0; }); $("#zaci-pocet").html(`: ${pocet} <i class="fas fa-angle-double-right"></i>`); } function zaciDoSkupiny(skupinaId) { let zaciKody = []; $("[id^=zak-vse]").each(function() { if (this.checked) { zaciKody.push(this.id.substr(7, 50)); this.checked = false; } }); if (zaciKody.length == 0) { $("#zaci-err-msg").removeClass("d-none").html("není koho přiřazovat"); } else { $.ajax({ url: 'php/ajaxDoucovani.php', type: 'POST', dataType: 'HTML', data: { 'data': JSON.stringify({ command: 'zaciDoSkupiny', skupinaId: skupinaId, zaciKody: zaciKody, }) }, success: function(result) { zaciSpocitej(); $("#skupina-zaci").html(result); $.ajax({ url: 'php/ajaxDoucovani.php', type: 'POST', dataType: 'HTML', data: { 'data': JSON.stringify({ command: 'pocetVeSkupine', skupinaId: skupinaId, }) }, success: function(result) { $("#pocet-ve-skupine" + skupinaId).html(result); } }); } }); } } function smazatZeSkupiny(skupinaid, id) { $("#mazaci-radek").remove(); $("#zak-radek-veskupine" + id).after(` <tr class="" id="mazaci-radek"> <td colspan="3" class="pb-2 pt-0 px-0"> <div class="d-flex alert alert-danger rounded-0 py-1"> <div class="pt-2">Smaže se i účast na schůzkách! </div> <div class="ms-auto"><button class="btn btn-primary rounded-0 " onclick="nemazatZeSkupiny()">Nemazat</button></div> <div class="flex-column-spacer"></div> <div><button class="btn btn-danger rounded-0 " onclick="definitivneSmazatZeSkupiny('${skupinaid}', '${id}')">Smazat</button></div> </div> </td> </tr> `); } function nemazatZeSkupiny() { $("#mazaci-radek").remove(); } function definitivneSmazatZeSkupiny(skupinaId, id) { $.ajax({ url: 'php/ajaxDoucovani.php', type: 'POST', dataType: 'HTML', data: { 'data': JSON.stringify({ command: 'smazatZeSkupiny', skupinaId: skupinaId, id: id, }) }, success: function(result) { $("#mazaci-radek").remove(); $("#zak-radek-veskupine" + id).remove(); $("#pocet-ve-skupine" + skupinaId).html(result); $("#jsou-ve-skupine-pocet").html(result); } }); } function hodinyTelo(skupinaId) { $('[id^="skupina-radek"]').css("background-color", "initial"); $("#skupina-radek" + skupinaId).css("background-color", "#cadefc"); $.ajax({ url: 'php/ajaxDoucovani.php', type: 'POST', dataType: 'HTML', data: { 'data': JSON.stringify({ command: 'hodinyTelo', skupinaId: skupinaId, }) }, success: function(result) { $("#div-dialogy").html(result); } }); } function hodinaEdituj(id) { $('[id^="hodina-radek"]').css("background-color", "initial"); $("#hodina-radek" + id).css("background-color", "#cadefc"); $.ajax({ url: 'php/ajaxDoucovani.php', type: 'POST', dataType: 'HTML', data: { 'data': JSON.stringify({ command: 'hodinaEdituj', id: id, }) }, success: function(result) { $("#div-dialog").html(result); $("#hodina-editace-dialog").modal("show"); } }); } function schovejErr() { $("#hodina-err").addClass("d-none"); } function hodinaEditujUloz(id) { let datum = $("#datum-edit").val(), obsah = $("#obsah-edit").val(), trvani = $("#trvani-edit").val(), skupinaId = $("#polozky-top").attr("skupina-id"), typhodiny = $("input:radio[name=typhodiny]:checked").val(), err = []; if (!datum) { err.push('datum je divné') } else { [datumDatum, datumCas] = datum.split('T'); [rok, mesic, den] = datumDatum.split('-'); [hodina, minuta] = datumCas.split(':'); let JSdatum = new Date(rok, mesic - 1, den); if (rok < 2022) { err.push('rok z minulosti nelze'); } if ((hodina < 7) || (hodina > 18)) { err.push('hodina je podivná'); } if ((JSdatum.getDay() == 0) || (JSdatum.getDay() == 6)) { err.push('víkendové přesčasy se proplácet nebudou :('); } } if (!obsah) { err.push('obsah hodiny musíš napsat'); } else { obsah = obsah.trim(); if (!obsah) { err.push('obsah hodiny musíš napsat'); } } if ((trvani < 15) || (trvani > 90)) { err.push('délka trvání je nějaká neobvyklá'); } if (err.length > 0) { let message = `<div class="alert alert-danger rounded-0 py-0 mb-1 "><ul class="mb-0">`; err.forEach(element => { message += `<li>${element}</li>`; }); message += '</ul></div>'; $("#hodina-err").html(message).removeClass('d-none'); } else { let pocetHodin = $("#pocet-hodin" + skupinaId).text(); obsah = obsah.replace(/<br ?\/?>/g, "\n"); $.ajax({ url: 'php/ajaxDoucovani.php', type: 'POST', dataType: 'HTML', data: { 'data': JSON.stringify({ command: 'hodinaEditujUloz', id: id, datum: datumDatum + ' ' + datumCas, obsah: obsah, trvani: trvani, skupinaId: skupinaId, typhodiny: typhodiny, pocetHodin: pocetHodin, }) }, success: function(result) { if (id > 0) { $("#hodina-radek" + id).html(result); } else { data = JSON.parse(result); pocetHodin++; $("#pocet-hodin" + skupinaId).html(pocetHodin); $("#hodina-nova").html(""); if (pocetHodin > 1) { $("#hodiny-body").prepend(data.html); } else { $("#card-hodiny").html(data.html); } $("#hodina-radek" + data.hodinaId).css("background-color", "#cadefc"); } $("#hodina-editace-dialog").modal("hide"); } }); } } function dnesDatum() { let today = new Date(), dd = today.getDate(), mm = today.getMonth() + 1, yyyy = today.getFullYear(); if (dd < 10) { dd = '0' + dd; } if (mm < 10) { mm = '0' + mm; } return yyyy + '-' + mm + '-' + dd + 'T12:00'; } function hodinaNova() { hodinaEdituj(0); } function hodinaUcast(id) { $('[id^="hodina-radek"]').css("background-color", "initial"); $("#hodina-radek" + id).css("background-color", "#cadefc"); $.ajax({ url: 'php/ajaxDoucovani.php', type: 'POST', dataType: 'HTML', data: { 'data': JSON.stringify({ command: 'hodinaUcast', id: id }) }, success: function(result) { $("#div-dialog").html(result); $("#ucast-dialog").modal("show"); } }); } function zaciPritomnostOznac(akce) { switch (akce) { case 1: $("[id^=zak-pritomnost]").prop("checked", true); break; case 0: $("[id^=zak-pritomnost]").prop("checked", false); break; case 2: $("[id^=zak-pritomnost]").each(function() { this.checked = !this.checked; }); break; } zaciPritomnostSpocitej(); } function zaciPritomnostSpocitej() { let pocet = 0; $("[id^=zak-pritomnost]").each(function() { pocet += (this.checked) ? 1 : 0; }); $("#zaci-pritomnost-pocet").html(`Označeno: ${pocet}`); return pocet; } function ulozUcast(hodinaId) { let kody = [], pocet = zaciPritomnostSpocitej(), barva = (pocet > 0) ? "text-success" : "text-danger", id = 0; $("[id^=zak-pritomnost]").each(function() { if (this.checked) { id = this.id.substr(14, 50); kody.push(id); } }); $.ajax({ url: 'php/ajaxDoucovani.php', type: 'POST', dataType: 'HTML', data: { 'data': JSON.stringify({ command: 'ulozUcast', kody: kody, hodinaId: hodinaId, }) }, success: function(result) { $("#hodina-ucast" + hodinaId).html(`${pocet} <i class="fas fa-users ${barva}"></i>`) $("#ucast-dialog").modal("hide"); } }); } function hodinaSmazat(id) { $("#hodina-err" + id).html(`<div class="d-flex alert alert-danger rounded-0 py-1"> <div class="pt-2">Smazání hodiny je nevratné! </div> <div class="ms-auto"><button class="btn btn-primary rounded-0 " onclick="nemazatHodina(${id})">Nemazat</button></div> <div class="flex-column-spacer"></div> <div><button class="btn btn-danger rounded-0 " onclick="definitivneHodinaSmazat(${id})">Smazat</button></div> </div>`).removeClass('d-none'); } function nemazatHodina(id) { $("#hodina-err" + id).html(``).addClass('d-none'); } function definitivneHodinaSmazat(id) { $.ajax({ url: 'php/ajaxDoucovani.php', type: 'POST', dataType: 'HTML', data: { 'data': JSON.stringify({ command: 'definitivneHodinaSmazat', id: id, }) }, success: function(result) { $("#hodina-radek" + id).remove(); $("#hodina-err" + id).remove(); let skupinaId = $("#polozky-top").attr("skupina-id"), hodin = $("#pocet-hodin" + skupinaId).text(); hodin--; $("#pocet-hodin" + skupinaId).html(hodin); } }); }