2023-05-02 13:03:46 +02:00
function initializeReportView ( ) {
2020-11-09 17:55:01 +01:00
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 } ) ;
}
2021-03-17 18:44:40 +01:00
function hideSigningParts ( canSign ) {
try {
if ( ! isUndefinedOrNull ( canSign ) ) {
if ( canSign === false ) {
$ ( ".signingContent" ) . hide ( ) ;
} else {
$ ( ".signingContent" ) . show ( ) ;
}
}
2023-03-08 20:17:19 +01:00
} catch ( error ) {
showErrorPopup ( error ) ;
2021-02-17 16:59:26 +01:00
}
2020-09-21 11:57:10 +02:00
}
2020-09-23 16:00:51 +02:00
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" ) ;
context . clearRect ( 0 , 0 , canvas . width , canvas . height ) ;
2020-09-14 19:07:23 +02:00
2020-09-23 16:00:51 +02:00
} , false ) ;
2020-11-09 17:55:01 +01:00
}
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 ( ) ;
2021-01-14 16:30:28 +01:00
2020-11-09 17:55:01 +01:00
$ . get ( changeDateSelectionUrl ,
2021-01-14 16:30:28 +01:00
{
startDayString : startDay ,
endDayString : endDay ,
monthString : month ,
yearString : year
2020-11-09 17:55:01 +01:00
} ) ;
}
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 } ) ;
}
2021-02-17 16:59:26 +01:00
function onCustomerSelectionChange ( ) {
var url = getSetCustomerUrl ( ) ;
var selectedCustomerOid = $ ( "#customers-drop-down option:selected" ) . val ( ) ;
$ . get ( url , { customerOid : selectedCustomerOid } ) . done ( function ( ) {
checkForExistingSignature ( ) ;
} ) ;
}
2021-03-17 18:44:40 +01:00
// Lädt die bisher geleisteten Unterschriften
2023-05-02 13:03:46 +02:00
//function getSignatures(signatureOidStrings, containerId) {
// alert("löschen?");
// logInfo3("Lade vorhandene Unterschriften für Container '" + containerId + "' mit veralteter Methode");
// try {
// showSpinner();
// var container = $(containerId);
// container.html("");
// $.get(getLoadConfirmationReceiptSignaturesUrl(), { oidsAsString: signatureOidStrings }).done(function(json) {
// if(isUndefinedOrNull(json) || !checkJson(json)) {
// if(!checkJson(json)) {
// hideSpinner();
// }
// }
// if(isEmptyOrSpaces(json)) {
// hideSpinner();
// return;
// }
// var signatureList = $.parseJSON(json);
// var newHtml = "";
// $.each(signatureList, function(index, signature) {
// newHtml +=
// '<div class="row justify-content-md-center mt-2">' +
// '<div class="col">' +
// "<div>Unterschrift vom " + signature.InsTsStr + "</div>" +
// '<img src="' + signature.ImageStr + '" class="img-fluid mx-auto d-block"/>' +
// "</div>" +
// "</div>";
// });
// container.append(newHtml);
// hideSpinner();
// });
// } catch(error) {
// showErrorPopup(error);
// }
//}
2021-02-17 16:59:26 +01:00
2023-04-24 19:22:09 +02:00
function cancelSignature ( canSign , signaturePad , canvasId , signatureContainer , overridingAlertId ) {
2021-03-17 18:44:40 +01:00
try {
if ( canSign === false ) {
2023-04-24 19:22:09 +02:00
hideSignatureContainer ( signatureContainer , overridingAlertId ) ;
signaturePad . clear ( ) ;
return ;
}
var canvas = document . getElementById ( canvasId ) ;
var twoDContext = canvas . getContext ( "2d" ) ;
var width = canvas . getBoundingClientRect ( ) . width ;
var height = canvas . getBoundingClientRect ( ) . height ;
2021-02-17 16:59:26 +01:00
2023-04-24 19:22:09 +02:00
if ( width === 0 || height === 0 ) {
hideSignatureContainer ( signatureContainer , overridingAlertId ) ;
2021-03-17 18:44:40 +01:00
signaturePad . clear ( ) ;
2021-02-17 16:59:26 +01:00
2021-03-17 18:44:40 +01:00
return ;
}
2021-02-17 16:59:26 +01:00
2023-04-24 19:22:09 +02:00
var isEmpty = signaturePad . isEmpty ( ) ;
if ( isEmpty === true ) {
hideSignatureContainer ( signatureContainer , overridingAlertId ) ;
signaturePad . clear ( ) ;
return ;
}
2021-03-17 18:44:40 +01:00
showMessagePopupWithCallback ( "Unterschrift" ,
"Sind Sie sicher, dass Sie die Unterschrift nicht speichern möchten?" ,
2021-02-17 16:59:26 +01:00
function ( ) {
2023-04-24 19:22:09 +02:00
hideSignatureContainer ( signatureContainer , overridingAlertId ) ;
2021-02-17 16:59:26 +01:00
signaturePad . clear ( ) ;
2021-03-17 18:44:40 +01:00
} ,
false ) ;
2023-03-08 20:17:19 +01:00
} catch ( error ) {
showErrorPopup ( error ) ;
2021-03-17 18:44:40 +01:00
}
2021-02-17 16:59:26 +01:00
}
2023-04-24 19:22:09 +02:00
function hideSignatureContainer ( signatureContainer , overridingAlertId ) {
$ ( "#" + signatureContainer + ", #" + overridingAlertId ) . removeClass ( "d-block" ) ;
2021-03-17 18:44:40 +01:00
$ ( "#report-form-container" ) . show ( ) ;
2021-02-17 16:59:26 +01:00
}
2023-05-02 13:03:46 +02:00
//function showSignaturePad(overwrite, signatureOidsString, canSign, cardBodyId, customerOid, numberOfEntries, customerName, timeSpan, isEmployeeSignature, employeeName) {
// try {
// alert("Kann das gelöscht werden?");
// cardHeaderButtonClick(cardBodyId);
2022-08-10 14:13:29 +02:00
2023-05-02 13:03:46 +02:00
// $("#report-form-container").hide();
// $("#report-signature-container-div").addClass("d-block");
2021-03-17 18:44:40 +01:00
2023-05-02 13:03:46 +02:00
// var plural = "";
// if(!isEmptyOrSpaces(signatureOidsString) && signatureOidsString.includes(",")) {
// plural = "en";
// }
2021-03-17 18:44:40 +01:00
2023-05-02 13:03:46 +02:00
// var entryCount = parseInt(numberOfEntries, 10);
2021-03-17 18:44:40 +01:00
2023-05-02 13:03:46 +02:00
// var leistungPlural = entryCount > 1 ? "en" : "";
2021-03-17 18:44:40 +01:00
2023-05-02 13:03:46 +02:00
// var signatureGiverName = isEmployeeSignature ? employeeName : customerName;
2022-08-10 14:13:29 +02:00
2023-05-02 13:03:46 +02:00
// $("#report-info-column-h4").html("Unterschrift" + plural + " von " + signatureGiverName + " für " + numberOfEntries + " erbrachte Leistung" + leistungPlural + " von " + customerName + " (" + timeSpan + ")");
2021-03-17 18:44:40 +01:00
2023-05-02 13:03:46 +02:00
// if(overwrite) {
// $("#overwriting-signature-alert").addClass("d-block");
// }
2021-03-17 18:44:40 +01:00
2023-05-02 13:03:46 +02:00
// getSignatures(signatureOidsString, "#signature-container-div");
2021-03-17 18:44:40 +01:00
2023-05-02 13:03:46 +02:00
// hideSigningParts(canSign);
2021-03-17 18:44:40 +01:00
2023-05-02 13:03:46 +02:00
// resizeCanvas("#report-sketch-pad-canvas", "#report-canvas-row-div");
2021-03-17 18:44:40 +01:00
2023-05-02 13:03:46 +02:00
// var canvas = document.getElementById("report-sketch-pad-canvas");
2021-02-17 16:59:26 +01:00
2023-05-02 13:03:46 +02:00
// var signaturePad = new SignaturePad(canvas, { backgroundColor: "rgba(255, 255, 255, 0)" });
2021-03-17 18:44:40 +01:00
2023-05-02 13:03:46 +02:00
// var cancelButton = document.getElementById("cancel-report-signature-button");
// var saveButton = document.getElementById("save-report-signature-button");
// var clearButton = document.getElementById("clear-report-canvas-button");
2021-03-17 18:44:40 +01:00
2023-05-02 13:03:46 +02:00
// cancelButton.addEventListener("click", function() {
// cancelSignature(canSign, signaturePad, "report-sketch-pad-canvas", "report-signature-container-div", "overwriting-signature-alert");
// });
2021-03-17 18:44:40 +01:00
2023-05-02 13:03:46 +02:00
// saveButton.addEventListener("click", function() {
// saveSignature(customerOid, isEmployeeSignature, overwrite, signaturePad, "report-sketch-pad-canvas");
// });
2021-03-17 18:44:40 +01:00
2023-05-02 13:03:46 +02:00
// clearButton.addEventListener("click", function() {
// signaturePad.clear();
// });
// } catch(error) {
// showErrorPopup(error);
// }
//}
2021-02-17 16:59:26 +01:00
2023-04-24 19:22:09 +02:00
function saveSignature ( customerOid , isEmployeeSignature , overwrite , signaturePad , canvasId ) {
2021-03-17 18:44:40 +01:00
try {
2023-04-24 19:22:09 +02:00
var canvas = document . getElementById ( canvasId ) ;
var clonedCanvas = cloneCanvas ( canvas ) ;
var trimmedCanvas = trimCanvas ( clonedCanvas ) ;
2021-03-17 18:44:40 +01:00
2023-04-24 19:22:09 +02:00
var context = trimmedCanvas . getContext ( "2d" ) ;
2021-03-17 18:44:40 +01:00
context . globalCompositeOperation = "destination-over" ;
context . fillStyle = "white" ;
2023-04-24 19:22:09 +02:00
logInfo3 ( trimmedCanvas . width + " x " + trimmedCanvas . height ) ;
context . fillRect ( 0 , 0 , trimmedCanvas . width , trimmedCanvas . height ) ;
var dataUrl = trimmedCanvas . toDataURL ( "image/png" ) ;
2021-03-17 18:44:40 +01:00
2023-05-02 13:03:46 +02:00
showSpinner ( ) ;
var url = getCreateSignatureForServiceOverviewUrl ( ) ;
2021-03-17 18:44:40 +01:00
2023-05-02 13:03:46 +02:00
$ . post ( url , { base64SignatureString : dataUrl , customerOidString : customerOid , isCustomerSignature : ! isEmployeeSignature , overwrite : overwrite } ) . done ( function ( json ) {
hideSpinner ( ) ;
if ( isEmptyOrSpaces ( json ) ) {
showMessagePopupWithHtmlAndCallback ( "Unterschrift" ,
"Die Unterschrift wurde erfolgreich gespeichert.<br/><br/>Verändern Sie jedoch Einträge der Zeiterfassung in dem ausgewählten Zeitraum, muss die Unterschrift erneut geleistet werden." , false ,
function ( ) {
showSpinner ( ) ;
location . reload ( ) ;
} ,
true ) ;
} else {
showMessagePopup ( "Fehler" , json ) ;
signaturePad . clear ( ) ;
}
} ) ;
2021-03-17 18:44:40 +01:00
} catch ( ex ) {
2023-03-08 20:17:19 +01:00
showErrorPopup ( ex ) ;
2021-03-17 18:44:40 +01:00
}
2020-09-14 19:07:23 +02:00
}