function initializeReportView() { checkForExistingSignature(); qbFilterSelectionChange(); } function calculateDays() { var month = $("#month-select option:selected").val(); var year = $("#year-select option:selected").val(); var monthInt = parseInt(month, 10) - 1; var begin = moment(new Date(year, monthInt, 1)).date(); var end = moment(new Date(year, monthInt, 1)).add(1, "months").add(-1, "days").date(); $("#start-day-select").empty(); $("#end-day-select").empty(); for (var i = begin; i <= end; i++) { var option = new Option(i, i); var 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); var startDay = $("#start-day-select option:selected").val(); var endDay = $("#end-day-select option:selected").val(); if(startDay === 0 || endDay === 0 || year === 0 || month === 0 || areUndefinedOrNull([month, year, startDay, endDay])) { return; } var changeDateSelectionUrl = 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) { 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(); var canvas = document.getElementById("sketch-pad"); var context = canvas.getContext("2d", {willReadFrequently: true}); context.clearRect(0, 0, canvas.width, canvas.height); }, false); } function onMonthOrYearChange() { calculateDays(); checkForExistingSignature(); } function checkForExistingSignature() { var month = $("#month-select option:selected").val(); var year = $("#year-select option:selected").val(); var startDay = $("#start-day-select option:selected").val(); var endDay = $("#end-day-select option:selected").val(); if(startDay === 0 || endDay === 0 || year === 0 || month === 0 || areUndefinedOrNull([month, year, startDay, endDay])) { return; } var changeDateSelectionUrl = getChangeDateSelectionUrl(); $.get(changeDateSelectionUrl, { startDayString: startDay, endDayString: endDay, monthString: month, yearString: year }); } function qbFilterSelectionChange() { var selectedOption = $("#qb-filter-select option:selected").val(); switch(selectedOption) { case "3": $("#team-selection-container").removeClass("d-block"); $("#team-selection-container").addClass("d-none"); $("#customer-selection-container").removeClass("d-none"); $("#customer-selection-container").addClass("d-block"); break; case "4": $("#customer-selection-container").removeClass("d-block"); $("#customer-selection-container").addClass("d-none"); $("#team-selection-container").removeClass("d-none"); $("#team-selection-container").addClass("d-block"); break; default: $("#customer-selection-container, #team-selection-container").removeClass("d-block"); $("#customer-selection-container, #team-selection-container").addClass("d-none"); break; } var selectedFilterEnumUrl = getSetQbFilterEnumUrl(); $.get(selectedFilterEnumUrl, { filterEnumString: selectedOption}); } function onCustomerSelectionChange() { var url = getSetCustomerUrl(); var selectedCustomerOid = $("#customers-drop-down option:selected").val(); $.get(url, { customerOid: selectedCustomerOid}).done(function() { checkForExistingSignature(); }); } function cancelSignature(canSign, signaturePad, canvasId, signatureContainer, overridingAlertId) { try { if (canSign === false) { hideSignatureContainer(signatureContainer, overridingAlertId); signaturePad.clear(); return; } var canvas = document.getElementById(canvasId); var twoDContext = canvas.getContext("2d", {willReadFrequently: true}); var width = canvas.getBoundingClientRect().width; var height = canvas.getBoundingClientRect().height; if (width === 0 || height === 0) { hideSignatureContainer(signatureContainer, overridingAlertId); signaturePad.clear(); return; } var 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) { showErrorPopup(error); } } function hideSignatureContainer(signatureContainer, overridingAlertId) { $("#" + signatureContainer + ", #" + overridingAlertId).removeClass("d-block"); $("#report-form-container").show(); } // ToDo: Löschen. An andere Stelle verlegt! function saveSignature(customerOid, isEmployeeSignature, overwrite, signaturePad, canvasId) { try { var canvas = document.getElementById(canvasId); var clonedCanvas = cloneCanvas(canvas); var trimmedCanvas = trimCanvas(clonedCanvas); var context = trimmedCanvas.getContext("2d", {willReadFrequently: true}); context.globalCompositeOperation = "destination-over"; context.fillStyle = "white"; context.fillRect(0, 0, trimmedCanvas.width, trimmedCanvas.height); var dataUrl = trimmedCanvas.toDataURL("image/png"); showSpinner(); var url = 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) { showErrorPopup(ex); } }