';
+
+ list.append(html);
+ });
+
+ updateGroupBookingGroupList(groupBookingSelectionObject);
+ } catch (error) {
+ if (stringContainsDoctype(result)) {
+ showErrorPopup(error, result);
+ } else {
+ showErrorPopup(error);
+ }
}
-
- var groupBookingSelectionObject = $.parseJSON(result);
-
- var resultList = groupBookingSelectionObject.SelectedRelations;
-
- list.empty();
-
- $.each(resultList,
- function(index, customListItem) {
- var html = '
' + customListItem.Text1 + '
' + customListItem.Text2 + '
';
-
- list.append(html);
- });
-
- updateGroupBookingGroupList(groupBookingSelectionObject);
}
function removeCb2ScRelation(relOid) {
- $("#relation-item-" + relOid).remove();
+ try {
+ $("#relation-item-" + relOid).remove();
- if($("#cb2sc-checkbox-"+ relOid).length) {
- $("#cb2sc-checkbox-" + relOid).prop("checked", false);
- }
+ if($("#cb2sc-checkbox-" + relOid).length) {
+ $("#cb2sc-checkbox-" + relOid).prop("checked", false);
+ }
- if($("#selected-cb2sc-list").find(".list-group-item").length === 0) {
- deactivateGroupBookingForm();
+ if($("#selected-cb2sc-list").find(".list-group-item").length === 0) {
+ deactivateGroupBookingForm();
- $("#group-booking-supportconcepts input:checked").each(function() {
- $(this).prop("checked", false);
+ $("#group-booking-supportconcepts input:checked").each(function () {
+ $(this).prop("checked", false);
+ });
+ }
+
+ $.get(getRemoveCb2ScRelFromGroupBookingUrl(), {pRelOid: relOid}).done(function (result) {
+ try {
+ updateGroupBookingGroupList($.parseJSON(result));
+ } catch (error) {
+ if(stringContainsDoctype(result)) {
+ showErrorPopup(error, result);
+ } else {
+ showErrorPopup(error);
+ }
+ }
});
+ } catch (error) {
+ showErrorPopup(error);
}
-
- $.get(getRemoveCb2ScRelFromGroupBookingUrl(), { pRelOid: relOid }).done(function(result) {
- updateGroupBookingGroupList($.parseJSON(result));
- });
}
function updateGroupBookingGroupList(groupBookingSelectionObject) {
diff --git a/BeWoPlanerMobil/Scripts/ownSoft-Scripts/mobileUtils.js b/BeWoPlanerMobil/Scripts/ownSoft-Scripts/mobileUtils.js
index 51246abab..df1a631cd 100644
--- a/BeWoPlanerMobil/Scripts/ownSoft-Scripts/mobileUtils.js
+++ b/BeWoPlanerMobil/Scripts/ownSoft-Scripts/mobileUtils.js
@@ -284,7 +284,7 @@ function cardHeaderClick(chevronId, cardBodyId) {
function cardHeaderClick2(element, callback) {
try {
- if (element === undefined || element === null) {
+ if(element === undefined || element === null) {
return;
}
@@ -485,4 +485,20 @@ function showMessagePopupWithHtmlAndCallback(title, messageAsHtml, hasCloseButto
keyboard: false
}
);
+}
+
+function stringContainsDoctype(strValue) {
+ return strValue !== undefined && strValue !== null && (typeof strValue === "string" || strValue instanceof String) && strValue.length > 0 && strValue.includes("DOCTYPE");
+}
+
+function parseJason(jsonToParse) {
+ try {
+ return $.parseJSON(jsonToParse);
+ } catch (error) {
+ if(stringContainsDoctype(jsonResult)) {
+ showErrorPopup(error, jsonResult);
+ } else {
+ showErrorPopup(error);
+ }
+ }
}
\ No newline at end of file
diff --git a/BeWoPlanerMobil/Scripts/ownSoft-Scripts/signature.js b/BeWoPlanerMobil/Scripts/ownSoft-Scripts/signature.js
index 5c45ddb89..d0a49efe5 100644
--- a/BeWoPlanerMobil/Scripts/ownSoft-Scripts/signature.js
+++ b/BeWoPlanerMobil/Scripts/ownSoft-Scripts/signature.js
@@ -77,20 +77,20 @@ function initializeSignature(selectedServiceRecordOid) {
return;
}
- var serviceRecord2Monatsunterschrift = $.parseJSON(jsonServiceRecord2Monatsunterschrift);
+ var serviceRecord2Monatsunterschrift = parseJason(jsonServiceRecord2Monatsunterschrift);
var hasMonatsunterschrift = serviceRecord2Monatsunterschrift.HasMonatsunterschrift;
var record = serviceRecord2Monatsunterschrift.ServiceRecord;
- var startDate = record.Start[18] === "1" ? "" : record.Start.slice(11, 16);
- var endDate = record.End[18] === "1" ? "" : record.End.slice(11, 16);
- var jahr = record.Start.slice(0, 4);
- var monat = record.Start.slice(5, 7);
- var tag = record.Start.slice(8, 10);
- var datum = tag + "." + monat + "." + jahr;
+ var startDate = record.Start[18] === "1" ? "" : record.Start.slice(11, 16);
+ var endDate = record.End[18] === "1" ? "" : record.End.slice(11, 16);
+ var jahr = record.Start.slice(0, 4);
+ var monat = record.Start.slice(5, 7);
+ var tag = record.Start.slice(8, 10);
+ var datum = tag + "." + monat + "." + jahr;
var serviceDescriptionName = record.ServiceDescription.Name;
- var serviceCategoryName = record.ServiceDescription.Category.Name;
+ var serviceCategoryName = record.ServiceDescription.Category.Name;
var nameAndDateOfBirth = $("#selectedSupportConceptCustomerInfo").text();
var supportConceptInterval = $("#selectedSupportConceptInfo").text();
@@ -148,8 +148,8 @@ function initializeSignature(selectedServiceRecordOid) {
$.post(url, { blob: dataUrl, timeStamp: formattedDate, serviceRecordOid: selectedServiceRecordOid }).done(function(json) {
hideSpinner();
-
- if(isEmptyOrSpaces(json)) {
+
+ if(json === "1") {
$("#signature-container").removeClass("d-block");
$("#main-container, #checkbox-container").show();
showMessagePopupWithCallback("Unterschrift", "Die Unterschrift wurde erfolgreich gespeichert.", function() {
@@ -158,7 +158,9 @@ function initializeSignature(selectedServiceRecordOid) {
location.reload();
}, true);
} else {
- showMessagePopup("Fehler", json);
+ 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();
}
diff --git a/BeWoPlanerMobil/Scripts/ownSoft-Scripts/support-concept-statistics.js b/BeWoPlanerMobil/Scripts/ownSoft-Scripts/support-concept-statistics.js
index 4d0e7b468..0e2a3249d 100644
--- a/BeWoPlanerMobil/Scripts/ownSoft-Scripts/support-concept-statistics.js
+++ b/BeWoPlanerMobil/Scripts/ownSoft-Scripts/support-concept-statistics.js
@@ -18,7 +18,7 @@ function getSupportConceptStatistics(cb2ScRRelOid) {
$.get(url, { oid: cb2ScRRelOid }).done(function(jsonObject) {
try {
- var scStatistics = $.parseJSON(jsonObject);
+ var scStatistics = parseJason(jsonObject);
$("#period-statistics-container").empty();
diff --git a/BeWoPlanerMobil/Scripts/ownSoft-Scripts/utils/list-utils.js b/BeWoPlanerMobil/Scripts/ownSoft-Scripts/utils/list-utils.js
index 6a13cebbb..5072a40d8 100644
--- a/BeWoPlanerMobil/Scripts/ownSoft-Scripts/utils/list-utils.js
+++ b/BeWoPlanerMobil/Scripts/ownSoft-Scripts/utils/list-utils.js
@@ -32,7 +32,7 @@ function updateSelectedList(jsonResult, listId, itemIdPrefix, isCustomer, popupI
return;
}
- var listItems = $.parseJSON(jsonResult);
+ var listItems = parseJason(jsonResult);
var list = $("#" + listId);
list.empty();
diff --git a/BeWoPlanerMobil/Scripts/ownSoft-Scripts/utils/resources-list-utils.js b/BeWoPlanerMobil/Scripts/ownSoft-Scripts/utils/resources-list-utils.js
index 9485b6abe..d3a1e4943 100644
--- a/BeWoPlanerMobil/Scripts/ownSoft-Scripts/utils/resources-list-utils.js
+++ b/BeWoPlanerMobil/Scripts/ownSoft-Scripts/utils/resources-list-utils.js
@@ -29,38 +29,43 @@
}
function updateSelectedResourceList(jsonResult, listId, listItemIdPrefix, popupId, checkBoxIdPrefix, url, filterAppointmentsUrl, selectAllCheckBoxId) {
- var list = $("#" + listId);
-
- list.empty();
+ try {
+ var list = $("#" + listId);
- if(isEmptyOrSpaces(jsonResult)) {
- return;
- }
+ list.empty();
- var resourceList = $.parseJSON(jsonResult);
-
- $.each(resourceList, function(index, customListItem) {
- var listItemId = listItemIdPrefix + "" + customListItem.ResourceOid;
- var checkBoxId = "resource-" + customListItem.ResourceOid + "" + checkBoxIdPrefix + "";
-
- // Liste mit den ausgewählten Ressourcen
- var html =
- "
" +
- "
" +
+ if(isEmptyOrSpaces(jsonResult)) {
+ return;
+ }
+
+ var resourceList = parseJason(jsonResult);
+
+ $.each(resourceList, function (index, customListItem) {
+ var listItemId = listItemIdPrefix + "" + customListItem.ResourceOid;
+ var checkBoxId = "resource-" + customListItem.ResourceOid + "" + checkBoxIdPrefix + "";
+
+ // Liste mit den ausgewählten Ressourcen
+ var html =
+ "
" +
+ "
";
+ "
" + customListItem.Name + "
" +
+ "
" +
+ "" +
+ "
" +
+ "
" +
+ "
" +
+ "
";
- list.append(html);
- });
+ list.append(html);
+ });
+
+ } catch (error) {
+ showErrorPopup(error);
+ }
}
function removeSelectedResource(listItemId, checkBoxId, popupId, url, listId, fetchAppointmentsUrl, listItemIdPrefix, checkBoxIdPrefix, selectAllCheckBoxId) {
diff --git a/BeWoPlanerMobil/Scripts/ownSoft-Scripts/view-scripts/main.js b/BeWoPlanerMobil/Scripts/ownSoft-Scripts/view-scripts/main.js
index bd71397ef..5b2c74618 100644
--- a/BeWoPlanerMobil/Scripts/ownSoft-Scripts/view-scripts/main.js
+++ b/BeWoPlanerMobil/Scripts/ownSoft-Scripts/view-scripts/main.js
@@ -131,7 +131,7 @@ function deleteServiceRecord(serviceRecordOid) {
} else { // Meldungen
hideSpinner();
- var validationResult = $.parseJSON(result);
+ var validationResult = parseJason(result);
if(validationResult.Message === null) {
$("#oidHolder").val(serviceRecordOid);
@@ -229,7 +229,7 @@ function validateForm(form, prefix) {
var [doku1, doku2, doku3, doku4, doku5] = getDokuTexte();
$.get(getCheckRightsUrl(), {von: start.format("DD.MM.YYYY"), bis: end.format("DD.MM.YYYY"), inEditMode: isInEditingMode, dateString: start.format("DD.MM.YYYY"), startString: start.format("HH:mm"), endString: end.format("HH:mm"), doku1, doku2, doku3, doku4, doku5 }).done(function (result) {
- var message = $.parseJSON(result);
+ var message = parseJason(result);
if(message.Message === null) {
form.submit();
@@ -322,7 +322,7 @@ function rateGoal(ratingTypeOid) {
$.get(url, { ratingTypeOid: ratingTypeOid, goalOid: goalOid }).done(
function (result) {
- var obj = $.parseJSON(result);
+ var obj = parseJason(result);
$("#goal-rating-" + goalOid).text(obj.RatingName);
diff --git a/BeWoPlanerMobil/Scripts/ownSoft-Scripts/view-scripts/scheduler.js b/BeWoPlanerMobil/Scripts/ownSoft-Scripts/view-scripts/scheduler.js
index 865eb94c8..02aaab2bf 100644
--- a/BeWoPlanerMobil/Scripts/ownSoft-Scripts/view-scripts/scheduler.js
+++ b/BeWoPlanerMobil/Scripts/ownSoft-Scripts/view-scripts/scheduler.js
@@ -138,7 +138,7 @@ function validateAppointmentForm() {
}
// ALT!
- //var unavailableResources = $.parseJSON(result);
+ //var unavailableResources = parseJason(result);
//var resourceCount = 0;
//var names = "";
@@ -191,7 +191,7 @@ function insertOrUpdateAppointment(formattedStartDate, formattedEndDate, formatt
endTimeRaw: formattedEndTime
}
).done(function(result) {
- var isOverlapping = $.parseJSON(result);
+ var isOverlapping = parseJason(result);
if(isOverlapping === true) {
hideSpinner();
diff --git a/BeWoPlanerMobil/Views/Customer/CustomerBargeldkassen.cshtml b/BeWoPlanerMobil/Views/Customer/CustomerBargeldkassen.cshtml
index 12ace523f..32aac8bed 100644
--- a/BeWoPlanerMobil/Views/Customer/CustomerBargeldkassen.cshtml
+++ b/BeWoPlanerMobil/Views/Customer/CustomerBargeldkassen.cshtml
@@ -64,7 +64,7 @@
function deselectBargeldkasse() {
try {
- $.get("@Url.Action("UnselectBargeldkasse")");
+ $.get("@Url.Action("DeselectBargeldkasse")");
} catch(error) {
showErrorPopup(error);
}
@@ -73,14 +73,11 @@
function editBtnClickTest(bargeldkassenOid, bargeldkassenname) {
try {
event.stopPropagation();
-
- $.get("@Url.Action("SelectBargeldkasse")", {oid: bargeldkassenOid}).success(function () {
- $("#customer-absence-time-modal-body").load("@Url.Action("LoadFormPartial")", function() {
+ $("#customer-bargeldkassen-modal-body").load("@Url.Action("LoadFormPartial")", function() {
$("#customer-bargeldkassen-form-popup-title").text(bargeldkassenname + " bearbeiten");
$("#customer-bargeldkassen-form-popup").modal("show");
calcBargeldkassenFormPrependWidth();
});
- });
} catch(error) {
showErrorPopup(error);
}
@@ -90,7 +87,7 @@
try {
event.stopPropagation();
- 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?", function () {
showSpinner();
$("#bk-to-delete-oid").val(bargeldkassenOid);
document.getElementById("bargeldkassendeleteform").submit();
@@ -102,20 +99,24 @@
function addNewBargeldkasse() {
try {
- $.get("@Url.Action("UnselectBargeldkasse")").success(function () {
- $("#customer-absence-time-modal-body").load("@Url.Action("LoadFormPartial")", function() {
- $("#customer-bargeldkassen-form-popup-title").text("");
+ $("#customer-bargeldkassen-modal-body").load("@Url.Action("LoadFormPartial")",
+ function () {
+ $("#customer-bargeldkassen-form-popup-title").text("Bargeldkasse hinzufügen");
$("#customer-bargeldkassen-form-popup").modal("show");
calcBargeldkassenFormPrependWidth();
});
- });
} catch(error) {
showErrorPopup(error);
}
}
-
+
+
+
+
+
+
@foreach(var bargeldkasse in Model.Bargeldkassen)
@@ -131,61 +132,72 @@
@bargeldkasse.Kassenname
-
-
-
-
- @Html.Partial("CustomerBargeldkassenFormPartial", Model)
+
+ @*@Html.Partial("CustomerBargeldkassenFormPartial", Model)*@
-
+
@Html.Partial("CustomerBargeldtransaktionenFormPartial", Model)
}
-
-}
+}
\ No newline at end of file
diff --git a/BeWoPlanerMobil/Views/Main/Main.cshtml b/BeWoPlanerMobil/Views/Main/Main.cshtml
index c21afd3b2..fc1a3b19a 100644
--- a/BeWoPlanerMobil/Views/Main/Main.cshtml
+++ b/BeWoPlanerMobil/Views/Main/Main.cshtml
@@ -114,7 +114,7 @@
$.get(getLoadServiceCategoriesUrl(), { pServiceCategoryOid: selectedCategoryOid })
.done(function (data) {
- var serviceDescriptions = $.parseJSON(data);
+ var serviceDescriptions = parseJason(data);
var serviceDescriptionsSelect = $("#" + leistungSelectId);
serviceDescriptionsSelect.empty();
diff --git a/BeWoPlanerMobil/Views/Main/MultiBookingPartial.cshtml b/BeWoPlanerMobil/Views/Main/MultiBookingPartial.cshtml
index a419dca9d..c15390540 100644
--- a/BeWoPlanerMobil/Views/Main/MultiBookingPartial.cshtml
+++ b/BeWoPlanerMobil/Views/Main/MultiBookingPartial.cshtml
@@ -80,7 +80,7 @@
return;
}
- var multiBookingSelectionObject = $.parseJSON(result);
+ var multiBookingSelectionObject = parseJason(result);
var resultList = multiBookingSelectionObject.SelectedRelations;
@@ -165,7 +165,7 @@
}
$.get("@Url.Action("RemoveSupportConceptCostBearerRelationFromMultiBooking")", { pRelOid: selectedCb2ScRelOid }).done(function(result) {
- updateMultiBookingGroupList($.parseJSON(result));
+ updateMultiBookingGroupList(parseJason(result));
});
} catch (error) {
showErrorPopup(error);
@@ -225,8 +225,8 @@
$.get("@Url.Action("MultiBookingHasSelectedSupportConcepts")").done(function(result1) {
$.get("@Url.Action("MultiBookingHasSelectedEmployees")").done(function (result2) {
- var hasSupportConcepts = $.parseJSON(result1);
- var hasEmployees = $.parseJSON(result2);
+ var hasSupportConcepts = parseJason(result1);
+ var hasEmployees = parseJason(result2);
if (hasSupportConcepts && hasEmployees) {
validateForm($("#multiBookingForm"), "mb-");
diff --git a/BeWoPlanerMobil/Views/Scheduler/AppointmentFormPartial.cshtml b/BeWoPlanerMobil/Views/Scheduler/AppointmentFormPartial.cshtml
index 049800467..31ed97530 100644
--- a/BeWoPlanerMobil/Views/Scheduler/AppointmentFormPartial.cshtml
+++ b/BeWoPlanerMobil/Views/Scheduler/AppointmentFormPartial.cshtml
@@ -430,7 +430,7 @@
function updateSelectedEmployees(jsonResult) {
try {
- var listItems = $.parseJSON(jsonResult);
+ var listItems = parseJason(jsonResult);
var list = $("#selected-employees-list");
@@ -484,7 +484,7 @@
function selectTeamForAppointment(teamOid) {
try {
$.get('@Url.Action("SelectTeamForAppointment")', { teamOidString: teamOid }).done(function(jsonResult) {
- var oids = $.parseJSON(jsonResult);
+ var oids = parseJason(jsonResult);
$("#employees-popup .employee-input-container input[type=checkbox]").each(function () {
var id = $(this).attr("id").split("-")[1];
diff --git a/BeWoPlanerMobil/Views/Scheduler/AppointmentIntervalFinderPartial.cshtml b/BeWoPlanerMobil/Views/Scheduler/AppointmentIntervalFinderPartial.cshtml
index aeeb6b2b6..f93cc468e 100644
--- a/BeWoPlanerMobil/Views/Scheduler/AppointmentIntervalFinderPartial.cshtml
+++ b/BeWoPlanerMobil/Views/Scheduler/AppointmentIntervalFinderPartial.cshtml
@@ -145,7 +145,7 @@
try {
$.get('@Url.Action("SelectTeamForIntervalFinder")', { teamOidString: teamOid }).done(
function(jsonResult) {
- var employeeOids = $.parseJSON(jsonResult);
+ var employeeOids = parseJason(jsonResult);
$("#employees-interval-finder-popup .popup-list-item-container input[type=checkbox]").map(function() {
var employeeOid = $(this).attr("id").split("-")[1];
diff --git a/BeWoPlanerMobil/Views/Shared/_Layout.cshtml b/BeWoPlanerMobil/Views/Shared/_Layout.cshtml
index a9ebcdb8e..5715eefcc 100644
--- a/BeWoPlanerMobil/Views/Shared/_Layout.cshtml
+++ b/BeWoPlanerMobil/Views/Shared/_Layout.cshtml
@@ -431,22 +431,32 @@
document.execCommand("copy");
}
- function showErrorPopup(error) {
+ function showErrorPopup(error, htmlMessage) {
hideSpinner();
var textToShow = "name: " + error.name + ";\r\nmessage: " + error.message + ";\r\nstack: " + error.stack;
- configureErrorPopup(textToShow);
+ configureErrorPopup(textToShow, htmlMessage);
}
- function showErrorMessagePopup(text) {
+ function showErrorMessagePopup(text, htmlMessage) {
hideSpinner();
- configureErrorPopup(text);
+ configureErrorPopup(text, htmlMessage);
}
- function configureErrorPopup(textToShow) {
- $("#fehlerdetail-textarea").text(textToShow);
- $("#error-message-popup").modal("show");
+ function configureErrorPopup(textToShow, htmlMessage) {
+ try {
+ $("#fehlerdetail-textarea").text(textToShow);
+ $("#error-message-popup").modal("show");
+
+ if (htmlMessage !== undefined && htmlMessage !== null && (typeof htmlMessage === 'string' || htmlMessage instanceof String) && htmlMessage.length > 0) {
+ $("#html-error-container").html(htmlMessage);
+ } else {
+ $("#html-error-container").empty();
+ }
+ } catch (error) {
+ console.logError(error);
+ }
}
@@ -826,6 +836,7 @@