diff --git a/BeWoPlanerMobil/Controllers/CustomerController.cs b/BeWoPlanerMobil/Controllers/CustomerController.cs
index 754d31a9f..94dd0d629 100644
--- a/BeWoPlanerMobil/Controllers/CustomerController.cs
+++ b/BeWoPlanerMobil/Controllers/CustomerController.cs
@@ -422,6 +422,7 @@ namespace BeWoPlanerMobil.Controllers
#region Bargeldkassen
+ [Authorize]
private void ReloadBargeldkassen()
{
if(Model?.SelectedCustomer?.CustomerOid is null)
@@ -817,6 +818,7 @@ namespace BeWoPlanerMobil.Controllers
return PartialView("CustomerBargeldkassen", Model);
}
+ [Authorize]
public ActionResult DeleteTransactionSignature(long transactionOid)
{
if(Model is null)
@@ -861,6 +863,7 @@ namespace BeWoPlanerMobil.Controllers
return PartialView("CustomerBargeldkassen", Model);
}
+ [Authorize]
public ActionResult LoadHistoryEntries(long transactionOid)
{
if(Model is null)
@@ -877,12 +880,19 @@ namespace BeWoPlanerMobil.Controllers
return PartialView("CustomerBargeldtransaktionshistorienPartial", Model);
}
+ [Authorize]
public string ClearHistoryEntries()
{
Model?.BargeldtransaktionshistoryEntries.Clear();
return LeerzeichenFuerGetMethoden;
}
+
+ [Authorize]
+ public string CheckForExistingSignature()
+ {
+ return (Model?.SelectedBargeldtransaktion?.SignatureOid.HasValue ?? false) ? "1" : "0";
+ }
#endregion
#region Abwesenheiten
diff --git a/BeWoPlanerMobil/Controllers/LoginController.cs b/BeWoPlanerMobil/Controllers/LoginController.cs
index 65ceb95fc..ed9b48f70 100644
--- a/BeWoPlanerMobil/Controllers/LoginController.cs
+++ b/BeWoPlanerMobil/Controllers/LoginController.cs
@@ -17,7 +17,7 @@ namespace BeWoPlanerMobil.Controllers
{
public class LoginController : AbstractBaseController
{
- private String GETSERVER_URL = "https://support.bewoplaner.de/api/getserver.php?k={0}&t=0";
+ private String GETSERVER_URL = "https://support.bewoplaner.de/api/getserver.php?k={0}&type=1";
public static string LoginErrorIndex => "LoginErrorIndex";
diff --git a/BeWoPlanerMobil/Scripts/ownSoft-Scripts/mobileUtils.js b/BeWoPlanerMobil/Scripts/ownSoft-Scripts/mobileUtils.js
index d34a08db2..8f7562510 100644
--- a/BeWoPlanerMobil/Scripts/ownSoft-Scripts/mobileUtils.js
+++ b/BeWoPlanerMobil/Scripts/ownSoft-Scripts/mobileUtils.js
@@ -461,9 +461,11 @@ function showMessagePopupWithHtmlAndCallback(title, messageAsHtml, hasCloseButto
$("#message-popup-ok-btn").off("click");
- $("#message-popup-ok-btn").on("click", function () {
- callback();
- });
+ if(typeof callback === "function") {
+ $("#message-popup-ok-btn").on("click", function () {
+ callback();
+ });
+ }
if (hasCloseButton === false) {
$("#message-popup-close-btn").hide();
@@ -471,7 +473,7 @@ function showMessagePopupWithHtmlAndCallback(title, messageAsHtml, hasCloseButto
$("#message-popup-close-btn").show();
}
- if(executeCallbackByBothButtons === true) {
+ if(executeCallbackByBothButtons === true && typeof callback === "function") {
$("#message-popup-close-btn, #message-popup-esc-btn").off("click");
$("#message-popup-close-btn, #message-popup-esc-btn").on("click",
function () {
@@ -495,8 +497,8 @@ function parseJason(jsonToParse) {
try {
return $.parseJSON(jsonToParse);
} catch (error) {
- if(stringContainsDoctype(jsonResult)) {
- showErrorPopup(error, jsonResult);
+ if(stringContainsDoctype(jsonToParse)) {
+ showErrorPopup(error, jsonToParse);
} else {
showErrorPopup(error);
}
diff --git a/BeWoPlanerMobil/Scripts/ownSoft-Scripts/signature.js b/BeWoPlanerMobil/Scripts/ownSoft-Scripts/signature.js
index d0a49efe5..cc044c573 100644
--- a/BeWoPlanerMobil/Scripts/ownSoft-Scripts/signature.js
+++ b/BeWoPlanerMobil/Scripts/ownSoft-Scripts/signature.js
@@ -129,57 +129,95 @@ function initializeSignature(selectedServiceRecordOid) {
var clearButton = document.getElementById("clear-canvas-btn");
var cancelButton = document.getElementById("cancel-signature-btn");
- saveButton.addEventListener("click", function(event) {
- var url = getSetSelectedSignatureUrl();
- var date = moment(new Date());
+ var saveButtonClone = saveButton.cloneNode(true);
+ var clearButtonClone = clearButton.cloneNode(true);
+ var cancelButtonClone = cancelButton.cloneNode(true);
- var clonedCanvas = trimCanvas(cloneCanvas(document.getElementById("sketch-pad")));
+ saveButton.parentNode.replaceChild(saveButtonClone, saveButton);
+ clearButton.parentNode.replaceChild(clearButtonClone, clearButton);
+ cancelButton.parentNode.replaceChild(cancelButtonClone, cancelButton);
- var context = clonedCanvas.getContext("2d", { willReadFrequently: true });
- context.globalCompositeOperation = "destination-over";
- context.fillStyle = "white";
- context.fillRect(0, 0, clonedCanvas.width, clonedCanvas.height);
+ function saveBtnListener(event) {
+ saveButtonClick(selectedServiceRecordOid);
+ }
- var dataUrl = clonedCanvas.toDataURL("image/png");
+ function clearBtnListener(event) {
+ clearButtonClick(signaturePad);
+ }
- var formattedDate = date.format("DD.MM.YYYY HH:mm:ss");
+ function cancelBtnListener(event) {
+ cancelButtonClick(signaturePad)
+ }
- showSpinner();
+ saveButtonClone.addEventListener("click", saveBtnListener);
- $.post(url, { blob: dataUrl, timeStamp: formattedDate, serviceRecordOid: selectedServiceRecordOid }).done(function(json) {
- hideSpinner();
-
- if(json === "1") {
- $("#signature-container").removeClass("d-block");
- $("#main-container, #checkbox-container").show();
- showMessagePopupWithCallback("Unterschrift", "Die Unterschrift wurde erfolgreich gespeichert.", function() {
- showSpinner();
- $("#signature-alert").addClass("d-none");
- location.reload();
- }, true);
- } else {
- var errorMessage = json === "0" ? "Es ist ein Fehler beim Speichern der Unterschrift aufgetreten. Bitte wenden Sie sich an Ihren Administrator." : json;
+ clearButtonClone.addEventListener("click", clearBtnListener);
- showMessagePopup("Fehler", errorMessage);
- $("#signature-alert").addClass("d-none");
- signaturePad.clear();
- }
- });
- });
-
- clearButton.addEventListener("click", function (event) {
- signaturePad.clear();
- });
-
- cancelButton.addEventListener("click", function(event) {
- showMessagePopupWithCallback("Unterschrift", "Sind Sie sicher, dass Sie die Unterschrift nicht speichern möchten?",
- function() {
- $("#signature-container, #checkbox-container").removeClass("d-block");
- $("#signature-alert").addClass("d-none");
- $("#main-container").show();
-
- signaturePad.clear();
- }, false);
- });
+ cancelButtonClone.addEventListener("click", cancelBtnListener);
});
}
+
+function saveButtonClick(selectedServiceRecordOid) {
+ try {
+ var url = getSetSelectedSignatureUrl();
+ var date = moment(new Date());
+
+ var clonedCanvas = trimCanvas(cloneCanvas(document.getElementById("sketch-pad")));
+
+ var context = clonedCanvas.getContext("2d", {willReadFrequently: true});
+ context.globalCompositeOperation = "destination-over";
+ context.fillStyle = "white";
+ context.fillRect(0, 0, clonedCanvas.width, clonedCanvas.height);
+
+ var dataUrl = clonedCanvas.toDataURL("image/png");
+
+ var formattedDate = date.format("DD.MM.YYYY HH:mm:ss");
+
+ showSpinner();
+
+ $.post(url, {blob: dataUrl, timeStamp: formattedDate, serviceRecordOid: selectedServiceRecordOid}).done(function (json) {
+ hideSpinner();
+
+ if(json === "1") {
+ $("#signature-container").removeClass("d-block");
+ $("#main-container, #checkbox-container").show();
+ showMessagePopupWithCallback("Unterschrift", "Die Unterschrift wurde erfolgreich gespeichert.", function () {
+ showSpinner();
+ $("#signature-alert").addClass("d-none");
+ location.reload();
+ }, true);
+ } else {
+ var errorMessage = json === "0" ? "Es ist ein Fehler beim Speichern der Unterschrift aufgetreten. Bitte wenden Sie sich an Ihren Administrator." : json;
+
+ showMessagePopup("Fehler", errorMessage);
+ $("#signature-alert").addClass("d-none");
+ signaturePad.clear();
+ }
+ });
+ } catch (error) {
+ showErrorPopup(error);
+ }
+}
+
+function cancelButtonClick(signaturePad) {
+ try {
+ showMessagePopupWithCallback("Unterschrift", "Sind Sie sicher, dass Sie die Unterschrift nicht speichern möchten?",
+ function () {
+ $("#signature-container, #checkbox-container").removeClass("d-block");
+ $("#signature-alert").addClass("d-none");
+ $("#main-container").show();
+
+ signaturePad.clear();
+ }, false);
+ } catch(error) {
+ showErrorPopup(error);
+ }
+}
+
+function clearButtonClick(signaturePad) {
+ try {
+ signaturePad.clear();
+ } catch(error) {
+ showErrorPopup(error);
+ }
+}
diff --git a/BeWoPlanerMobil/Views/Customer/CustomerBargeldkassen.cshtml b/BeWoPlanerMobil/Views/Customer/CustomerBargeldkassen.cshtml
index 224de04ae..0b521c2fe 100644
--- a/BeWoPlanerMobil/Views/Customer/CustomerBargeldkassen.cshtml
+++ b/BeWoPlanerMobil/Views/Customer/CustomerBargeldkassen.cshtml
@@ -43,7 +43,7 @@
$("#customer-bargeldkassen-modal-body").load("@Url.Action("LoadEditFormPartial")", {bargeldkassenOid: bargeldkassenOid}, function () {
hideSpinner();
- $("#customer-bargeldkassen-form-popup-title").text(bargeldkassenname + " bearbeiten");
+ $("#customer-bargeldkassen-form-popup-title").text(`${bargeldkassenname} bearbeiten`);
$("#customer-bargeldkassen-form-popup").modal("show");
calcBargeldkassenFormPrependWidth();
});
@@ -54,7 +54,8 @@
function deleteBtnClickTest(bargeldkassenOid, bargeldkassenname) {
try {
- showMessagePopupWithHtmlAndCallback("Bargeldkasse löschen", "Möchten Sie die Bargeldkasse \"" + bargeldkassenname + "\" wirklich löschen?", function () {
+
+ showMessagePopupWithHtmlAndCallback(`Bargeldkasse löschen`, `Möchten Sie die Bargeldkasse "${bargeldkassenname}" wirklich löschen?`, true, function () {
showSpinner();
$("#bk-to-delete-oid").val(bargeldkassenOid);
document.getElementById("bargeldkassendeleteform").submit();
@@ -152,6 +153,7 @@
}
function signZahlungsbeleg(transaktionsOid) {
+ logInfo(`Transaktion mit Oid ${transaktionsOid} wird unterschrieben`);
try {
$("#customer-container").hide();
$("#transaktionsunterschriftencontainer").addClass("d-block");
@@ -167,68 +169,27 @@
var saveButton = document.getElementById("transaktionsunterschriften-save-btn");
var clearButton = document.getElementById("transaktionsunterschriften-clear-canvas-btn");
- cancelButton.addEventListener("click",
+ var cancelButtonClone = cancelButton.cloneNode(true);
+ var saveButtonClone = saveButton.cloneNode(true);
+ var clearButtonClone = clearButton.cloneNode(true);
+
+ cancelButton.parentNode.replaceChild(cancelButtonClone, cancelButton);
+ saveButton.parentNode.replaceChild(saveButtonClone, saveButton);
+ clearButton.parentNode.replaceChild(clearButtonClone, clearButton);
+
+ cancelButtonClone.addEventListener("click",
function () {
- var canvas = document.getElementById("transaktionsunterschriftencanvas");
- var width = canvas.getBoundingClientRect().width;
- var height = canvas.getBoundingClientRect().height;
-
- if(width === 0 || height === 0 || signaturePad.isEmpty()) {
- logInfo("width oder height sind 0 oder das SignaturePad ist leer");
-
- $("#customer-container").show();
- $("#transaktionsunterschriftencontainer").removeClass("d-block");
- $("#transaktionsunterschriftencontainer").addClass("d-none");
-
- signaturePad.clear();
-
- return;
- }
-
- showMessagePopupWithCallback("Unterschrift",
- "Sind Sie sicher, dass Sie die Unterschrift nicht speichern möchten?",
- function () {
- $("#customer-container").show();
- $("#transaktionsunterschriftencontainer").removeClass("d-block");
- $("#transaktionsunterschriftencontainer").addClass("d-none");
-
- signaturePad.clear();
- },
- false);
+ cancelButtonEvent(signaturePad);
});
- saveButton.addEventListener("click",
+ saveButtonClone.addEventListener("click",
function () {
- var canvas = document.getElementById("transaktionsunterschriftencanvas");
- 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();
-
- $("#bargeldkassen-container").load("@Url.Action("SaveTransaktionsunterschrift")",
- {
- transaktionsOid: transaktionsOid,
- signatureAsBase64: dataUrl
- },
- function () {
- $("#transaktionsunterschriftencontainer").removeClass("d-block");
- $("#transaktionsunterschriftencontainer").addClass("d-none");
- $("#customer-container").show();
-
- hideSpinner();
- });
+ saveButtonEvent(transaktionsOid);
});
- clearButton.addEventListener("click",
+ clearButtonClone.addEventListener("click",
function () {
- signaturePad.clear();
+ clearButtonEvent(signaturePad);
});
} catch(error) {
$("#transaktionsunterschriftencontainer").removeClass("d-block");
@@ -236,6 +197,89 @@
$("#customer-container").show();
showErrorPopup(error);
}
+
+ function clearButtonEvent(signaturePad) {
+ try {
+ signaturePad.clear();
+ } catch (error) {
+ showErrorPopup(error);
+ }
+ }
+
+ function saveButtonEvent(transaktionsOid) {
+ var canvas = document.getElementById("transaktionsunterschriftencanvas");
+ 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");
+ logInfo(`Unterschrift für Transaktion mit Oid ${transaktionsOid} wird zu SaveTransaktionsunterschrift geschickt`);
+ showSpinner();
+
+ $("#bargeldkassen-container").load("@Url.Action("SaveTransaktionsunterschrift")",
+ {
+ transaktionsOid: transaktionsOid,
+ signatureAsBase64: dataUrl
+ },
+ function () {
+ $("#transaktionsunterschriftencontainer").removeClass("d-block");
+ $("#transaktionsunterschriftencontainer").addClass("d-none");
+ $("#customer-container").show();
+
+ hideSpinner();
+ });
+ }
+
+ function cancelButtonEvent(signaturePad) {
+ try {
+ var canvas = document.getElementById("transaktionsunterschriftencanvas");
+ var width = canvas.getBoundingClientRect().width;
+ var height = canvas.getBoundingClientRect().height;
+
+ if(width === 0 || height === 0 || signaturePad.isEmpty()) {
+ logInfo("width oder height sind 0 oder das SignaturePad ist leer");
+
+ $("#customer-container").show();
+ $("#transaktionsunterschriftencontainer").removeClass("d-block");
+ $("#transaktionsunterschriftencontainer").addClass("d-none");
+
+ signaturePad.clear();
+
+ return;
+ }
+
+ showMessagePopupWithCallback("Unterschrift",
+ "Sind Sie sicher, dass Sie die Unterschrift nicht speichern möchten?",
+ function () {
+ $("#customer-container").show();
+ $("#transaktionsunterschriftencontainer").removeClass("d-block");
+ $("#transaktionsunterschriftencontainer").addClass("d-none");
+
+ signaturePad.clear();
+ },
+ false);
+ } catch (error) {
+ showErrorPopup(error);
+ }
+ }
+ }
+
+ function clearCustomerBargeldtransaktionsForm() {
+ try {
+ $("#bargeldtransaktionsbetragsinput").val("");
+ $("#bargeldtransaktionsnotizinput").val("");
+ $("#bargeldtransaktionsbelegnummerinput").val("");
+
+ if($("#bargeldtransaktionsarten-select-input").length) {
+ $("#bargeldtransaktionsarten-select-input select").val("0");
+ }
+ } catch(error) {
+ showErrorPopup(error);
+ }
}
function deleteZahlungsbelegsunterschrift(transaktionsOid, zahlungsdatum, betrag, zahlungstyp) {
@@ -382,13 +426,13 @@
Transaktion
-