function initializeReportView() { window.checkForExistingSignature(); window.qbFilterSelectionChange(); } function calculateDays() { const month = $("#month-select option:selected").val(); const year = $("#year-select option:selected").val(); const monthInt = parseInt(month, 10) - 1; const begin = window.moment(new Date(year, monthInt, 1)).date(); const end = window.moment(new Date(year, monthInt, 1)).add(1, "months").add(-1, "days").date(); $("#start-day-select").empty(); $("#end-day-select").empty(); for(let i = begin; i <= end; i++) { const option = new Option(i, i); const option2 = new Option(i, i); $("#start-day-select").append(option); $("#end-day-select").append(option2); } $("#start-day-select").val(1); $("#end-day-select").val(end); const startDay = $("#start-day-select option:selected").val(); const endDay = $("#end-day-select option:selected").val(); if(startDay === 0 || endDay === 0 || year === 0 || month === 0 || areUndefinedOrNull([month, year, startDay, endDay])) { return; } const changeDateSelectionUrl = window.getChangeDateSelectionUrl(); $.get(changeDateSelectionUrl, { startDayString: startDay, endDayString: endDay, monthString: month, yearString: year}); } function hideSigningParts(canSign) { try { if(!isUndefinedOrNull(canSign)) { if(canSign === false) { $(".signingContent").hide(); } else { $(".signingContent").show(); } } } catch(error) { window.showErrorPopup(error); } } function confirmReportSignatureCancellation() { showMessagePopupWithCallback("Unterschrift", "Sind Sie sicher, dass Sie die Unterschrift nicht speichern möchten?", function() { $("#report-signature-container").removeClass("d-block"); $("#report-form-container").show(); const canvas = document.getElementById("sketch-pad"); const context = canvas.getContext("2d", {willReadFrequently: true}); context.clearRect(0, 0, canvas.width, canvas.height); }, false); } function onMonthOrYearChange() { calculateDays(); window.checkForExistingSignature(); } function cancelSignature(canSign, signaturePad, canvasId, signatureContainer, overridingAlertId) { try { if(canSign === false) { hideSignatureContainer(signatureContainer, overridingAlertId); signaturePad.clear(); return; } const canvas = document.getElementById(canvasId); const twoDContext = canvas.getContext("2d", {willReadFrequently: true}); const width = canvas.getBoundingClientRect().width; const height = canvas.getBoundingClientRect().height; if (width === 0 || height === 0) { hideSignatureContainer(signatureContainer, overridingAlertId); signaturePad.clear(); return; } const isEmpty = signaturePad.isEmpty(); if(isEmpty === true) { hideSignatureContainer(signatureContainer, overridingAlertId); signaturePad.clear(); return; } showMessagePopupWithCallback("Unterschrift", "Sind Sie sicher, dass Sie die Unterschrift nicht speichern möchten?", function() { hideSignatureContainer(signatureContainer, overridingAlertId); signaturePad.clear(); }, false); } catch (error) { window.showErrorPopup(error); } } function hideSignatureContainer(signatureContainer, overridingAlertId) { $(`#${signatureContainer}, #${overridingAlertId}`).removeClass("d-block"); $("#report-form-container").show(); } function saveSignature(customerOid, isEmployeeSignature, overwrite, signaturePad, canvasId) { try { const canvas = document.getElementById(canvasId); const clonedCanvas = cloneCanvas(canvas); const trimmedCanvas = trimCanvas(clonedCanvas); const context = trimmedCanvas.getContext("2d", {willReadFrequently: true}); context.globalCompositeOperation = "destination-over"; context.fillStyle = "white"; context.fillRect(0, 0, trimmedCanvas.width, trimmedCanvas.height); const dataUrl = trimmedCanvas.toDataURL("image/png"); showSpinner(); const url = window.getCreateSignatureForServiceOverviewUrl(); $.post(url, { base64SignatureString: dataUrl, customerOidString: customerOid, isCustomerSignature: !isEmployeeSignature, overwrite: overwrite }).done(function (json) { hideSpinner(); if (isEmptyOrSpaces(json)) { showMessagePopupWithHtmlAndCallback("Unterschrift", "Die Unterschrift wurde erfolgreich gespeichert.

Verändern Sie jedoch Einträge der Zeiterfassung in dem ausgewählten Zeitraum, muss die Unterschrift erneut geleistet werden.", false, function () { showSpinner(); // ToDo: Seite neuladen und Quittierungsbelegsobjekt neuerstellen! location.reload(); }, true); } else { showMessagePopup("Fehler", json); signaturePad.clear(); } }); } catch (ex) { window.showErrorPopup(ex); } }