' + customListItem.Text1 + '
' + customListItem.Text2 + '
';
-
- list.append(html);
- });
-
- updateGroupBookingGroupList(groupBookingSelectionObject);
- } catch (error) {
- if (stringContainsDoctype(result)) {
- showErrorPopup(error, result);
- } else {
- showErrorPopup(error);
- }
- }
-}
-
-function removeCb2ScRelation(relOid) {
- try {
- $("#relation-item-" + relOid).remove();
-
- if($("#cb2sc-checkbox-" + relOid).length) {
- $("#cb2sc-checkbox-" + relOid).prop("checked", false);
- }
-
- if($("#selected-cb2sc-list").find(".list-group-item").length === 0) {
- deactivateGroupBookingForm();
-
- $("#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);
- }
-}
-
-function updateGroupBookingGroupList(groupBookingSelectionObject) {
- var groupOids = groupBookingSelectionObject.GroupOids === undefined ? [] : groupBookingSelectionObject.GroupOids;
- var relOids = [];
-
- if(groupBookingSelectionObject.SelectedRelations !== undefined){
- for(var i = 0; i < groupBookingSelectionObject.SelectedRelations.length; i++) {
- var oidStringValue = groupBookingSelectionObject.SelectedRelations[i].Value;
- var oidIntValue = parseInt(oidStringValue, 10);
-
- relOids.push(oidIntValue);
- }
- }
-
- $("#group-booking-supportconcepts input").each(function() {
- var value = $(this).val();
-
- $(this).prop("checked", isInArray(value, relOids));
- });
-
- $("#group-booking-groups input").each(function() {
- var value = $(this).val();
-
- $(this).prop("checked", isInArray(value, groupOids));
- });
-
- if(relOids.length === 0 && groupOids.length === 0) {
- deactivateGroupBookingForm();
- } else {
- activateGroupBookingForm();
- }
-}
-
-function addEmployeeToGroupBooking() {
- var url = getAddEmployeesToGroupBookingUrl();
-
- var selectedEmployees = [];
-
- var oidString = "";
-
- $("#group-booking-employee-selection-popup input:checked").each(function() {
- var oid = $(this).val();
-
- selectedEmployees.push(oid);
- });
-
- for(var i = 0; i < selectedEmployees.length; i++) {
- oidString += selectedEmployees[i];
-
- if(i < selectedEmployees.length - 1) {
- oidString += ",";
- }
- }
-
- $.get(url, { pEmployeeOids: oidString }).done(function(numberOfSelectedEmployees) {
- $("#selected-employees-count-badge").text(numberOfSelectedEmployees);
-
- $("#create-button").prop("disabled", numberOfSelectedEmployees === "0" ? true : false);
- });
-}
\ No newline at end of file
diff --git a/BeWoPlanerMobil/Scripts/ownSoft-Scripts/signature.js b/BeWoPlanerMobil/Scripts/ownSoft-Scripts/signature.js
index cc7867828..037fc5259 100644
--- a/BeWoPlanerMobil/Scripts/ownSoft-Scripts/signature.js
+++ b/BeWoPlanerMobil/Scripts/ownSoft-Scripts/signature.js
@@ -77,6 +77,12 @@ function initializeSignature(selectedServiceRecordOid) {
return;
}
+ if(false === checkJson(jsonServiceRecord2Monatsunterschrift)) {
+ logWarning("initializeSignature: Der zurückgegebene Wert ist kein gültiges JSON!");
+ hideSpinner();
+ return;
+ }
+
var serviceRecord2Monatsunterschrift = parseJason(jsonServiceRecord2Monatsunterschrift);
var hasMonatsunterschrift = serviceRecord2Monatsunterschrift.HasMonatsunterschrift;
diff --git a/BeWoPlanerMobil/Scripts/ownSoft-Scripts/support-concept-statistics.js b/BeWoPlanerMobil/Scripts/ownSoft-Scripts/support-concept-statistics.js
index 0e2a3249d..b73f5ba0d 100644
--- a/BeWoPlanerMobil/Scripts/ownSoft-Scripts/support-concept-statistics.js
+++ b/BeWoPlanerMobil/Scripts/ownSoft-Scripts/support-concept-statistics.js
@@ -18,6 +18,12 @@ function getSupportConceptStatistics(cb2ScRRelOid) {
$.get(url, { oid: cb2ScRRelOid }).done(function(jsonObject) {
try {
+ if(false === checkJson(jsonObject)) {
+ logWarning("getSupportConceptStatistics: Der zurückgegebene Wert ist kein gültiges JSON!");
+ hideSpinner();
+ return;
+ }
+
var scStatistics = parseJason(jsonObject);
$("#period-statistics-container").empty();
diff --git a/BeWoPlanerMobil/Scripts/ownSoft-Scripts/utils/password-security.js b/BeWoPlanerMobil/Scripts/ownSoft-Scripts/utils/MoKPasswordSecurity.js
similarity index 100%
rename from BeWoPlanerMobil/Scripts/ownSoft-Scripts/utils/password-security.js
rename to BeWoPlanerMobil/Scripts/ownSoft-Scripts/utils/MoKPasswordSecurity.js
diff --git a/BeWoPlanerMobil/Scripts/ownSoft-Scripts/utils/js-helper.js b/BeWoPlanerMobil/Scripts/ownSoft-Scripts/utils/js-helper.js
index ea594d5ca..51e6fa587 100644
--- a/BeWoPlanerMobil/Scripts/ownSoft-Scripts/utils/js-helper.js
+++ b/BeWoPlanerMobil/Scripts/ownSoft-Scripts/utils/js-helper.js
@@ -67,4 +67,13 @@ function checkArraysForEquality(a1, a2) {
} finally {
return false;
}
+}
+
+function checkJson(jsonToParse) {
+ try {
+ $.parseJSON(jsonToParse);
+ return true;
+ } catch(parsingError) {
+ return false;
+ }
}
\ No newline at end of file
diff --git a/BeWoPlanerMobil/Scripts/ownSoft-Scripts/utils/list-utils.js b/BeWoPlanerMobil/Scripts/ownSoft-Scripts/utils/list-utils.js
index 5072a40d8..c6cb3782a 100644
--- a/BeWoPlanerMobil/Scripts/ownSoft-Scripts/utils/list-utils.js
+++ b/BeWoPlanerMobil/Scripts/ownSoft-Scripts/utils/list-utils.js
@@ -28,7 +28,9 @@ function changeItemListSelection(url, popupId, listId, itemIdPrefix, isCustomer,
// Wird aufgerufen, um die Liste mit den ausgewählten Objekten zu aktualisieren
function updateSelectedList(jsonResult, listId, itemIdPrefix, isCustomer, popupId, checkBoxIdSuffix, url, filterAppointmentsUrl, allItemsCheckBoxSuffix, teamMemberOids, allItemsCheckBoxId) {
try {
- if(isEmptyOrSpaces(jsonResult)) {
+ if(false === checkJson(jsonResult)) {
+ logWarning("updateSelectedList: Der zurückgegebene Wert ist kein gültiges JSON!");
+ hideSpinner();
return;
}
diff --git a/BeWoPlanerMobil/Scripts/ownSoft-Scripts/utils/resources-list-utils.js b/BeWoPlanerMobil/Scripts/ownSoft-Scripts/utils/resources-list-utils.js
index d3a1e4943..651331013 100644
--- a/BeWoPlanerMobil/Scripts/ownSoft-Scripts/utils/resources-list-utils.js
+++ b/BeWoPlanerMobil/Scripts/ownSoft-Scripts/utils/resources-list-utils.js
@@ -34,7 +34,9 @@ function updateSelectedResourceList(jsonResult, listId, listItemIdPrefix, popupI
list.empty();
- if(isEmptyOrSpaces(jsonResult)) {
+ if(false === checkJson(jsonResult)) {
+ logWarning("updateSelectedResourceList: Der zurückgegebene Wert ist kein gültiges JSON!");
+ hideSpinner();
return;
}
diff --git a/BeWoPlanerMobil/Scripts/ownSoft-Scripts/view-scripts/main.js b/BeWoPlanerMobil/Scripts/ownSoft-Scripts/view-scripts/main.js
index 84a1bc502..20d53f72f 100644
--- a/BeWoPlanerMobil/Scripts/ownSoft-Scripts/view-scripts/main.js
+++ b/BeWoPlanerMobil/Scripts/ownSoft-Scripts/view-scripts/main.js
@@ -91,11 +91,18 @@ function deleteServiceRecord(serviceRecordOid) {
var url = getValidateServiceRecordDeletionUrl();
$.get(url, { serviceRecordOidString: serviceRecordOid }).done(function(result) {
- if (result === "Error") {
+ if(result === "Error") {
+ hideSpinner();
showAlertMessageBox("Fehler", "Es ist ein Fehler aufgetreten", null, false);
return;
}
+ if(false === checkJson(result)) {
+ logWarning("deleteServiceRecord: Der zurückgegebene Wert ist kein gültiges JSON!");
+ hideSpinner();
+ return;
+ }
+
var form = $("#deletion-form");
if(result.length === 0) {
@@ -291,26 +298,7 @@ function hideGoalRatingPopup() {
}
}
-function rateGoal(ratingTypeOid) {
- try {
- var url = getRateSelectedGoalUrl();
- var goalOid = $("#goal-to-rate-oid").val();
-
- $.get(url, { ratingTypeOid: ratingTypeOid, goalOid: goalOid }).done(
- function (result) {
- var obj = parseJason(result);
-
- $("#goal-rating-" + goalOid).text(obj.RatingName);
-
- hideGoalRatingPopup();
- $("#goal-to-rate-oid").val("");
- }
- );
- } catch(error) {
- showErrorPopup(error);
- }
-}
function checkChildNodes(parentOid) {
var rootElement = $("#c-" + parentOid);
diff --git a/BeWoPlanerMobil/Scripts/ownSoft-Scripts/view-scripts/scheduler.js b/BeWoPlanerMobil/Scripts/ownSoft-Scripts/view-scripts/scheduler.js
index 02aaab2bf..588c528d7 100644
--- a/BeWoPlanerMobil/Scripts/ownSoft-Scripts/view-scripts/scheduler.js
+++ b/BeWoPlanerMobil/Scripts/ownSoft-Scripts/view-scripts/scheduler.js
@@ -191,6 +191,11 @@ function insertOrUpdateAppointment(formattedStartDate, formattedEndDate, formatt
endTimeRaw: formattedEndTime
}
).done(function(result) {
+ if(false === checkJson(result)) {
+ logWarning("insertOrUpdateAppointment: Der zurückgegebene Wert ist kein gültiges JSON!");
+ return;
+ }
+
var isOverlapping = parseJason(result);
if(isOverlapping === true) {
diff --git a/BeWoPlanerMobil/Util/FormCollectionConstants.cs b/BeWoPlanerMobil/Util/FormCollectionConstants.cs
index 9140e5781..864b5eb10 100644
--- a/BeWoPlanerMobil/Util/FormCollectionConstants.cs
+++ b/BeWoPlanerMobil/Util/FormCollectionConstants.cs
@@ -75,5 +75,6 @@
public static string AutoEndOfSessionLogoutMessageKey => "ein_schluessel";
public static string HasWarningMessageKey => "HasWarningMessage";
public static string ErrorMessageKey => "ErrorMessage";
+ public static string DoLogoutKey => "DoLogout";
}
}
\ No newline at end of file
diff --git a/BeWoPlanerMobil/Util/GroupBookingSelectionObject.cs b/BeWoPlanerMobil/Util/GroupBookingSelectionObject.cs
index 5ba637b52..c1967077b 100644
--- a/BeWoPlanerMobil/Util/GroupBookingSelectionObject.cs
+++ b/BeWoPlanerMobil/Util/GroupBookingSelectionObject.cs
@@ -8,6 +8,7 @@ namespace BeWoPlanerMobil.Util
{
public List
SelectedRelations { get; set; } = new List();
public IEnumerable GroupOids { get; set; }
+
public GroupBookingSelectionObject(IEnumerable selectedConceptCostBearerRelations, IEnumerable groupOids)
{
@@ -26,7 +27,7 @@ namespace BeWoPlanerMobil.Util
"text-bewo-expires-in-three-months" :
"text-dark";
- var listItem = new CustomSelectListItem(text1, text2, value, textColor);
+ var listItem = new CustomSelectListItem(text1, text2, value, textColor, rel.SupportConcept?.SupportConceptOid, rel.CostBearer2SupportConceptOid);
SelectedRelations.Add(listItem);
}
diff --git a/BeWoPlanerMobil/Views/Login/Index.cshtml b/BeWoPlanerMobil/Views/Login/Index.cshtml
index f4e56f2ff..10b95a04d 100644
--- a/BeWoPlanerMobil/Views/Login/Index.cshtml
+++ b/BeWoPlanerMobil/Views/Login/Index.cshtml
@@ -80,4 +80,20 @@
$("#login-btn").click();
}
});
-
\ No newline at end of file
+
+
+@if(Html.IsInDebugMode())
+{
+ if(!(TempData[TempDataConstants.ErrorMessageKey] is null))
+ {
+
+
+
+
+ @TempData[TempDataConstants.ErrorMessageKey]
+
+
+
+
+ }
+}
diff --git a/BeWoPlanerMobil/Views/Main/Category2ServiceDescriptionPartial.cshtml b/BeWoPlanerMobil/Views/Main/Category2ServiceDescriptionPartial.cshtml
index d0f999cc0..67d394a65 100644
--- a/BeWoPlanerMobil/Views/Main/Category2ServiceDescriptionPartial.cshtml
+++ b/BeWoPlanerMobil/Views/Main/Category2ServiceDescriptionPartial.cshtml
@@ -1,4 +1,16 @@
-@model BeWoPlanerMobil.Models.MainModel
+@using BeWoPlanerMobil.Util
+@model BeWoPlanerMobil.Models.MainModel
+
+@{
+ if(TempData[TempDataConstants.DoLogoutKey] is bool doLogout && doLogout)
+ {
+
+
+
+ }
+}
+@{
+ var selectedServiceDescription = Model.GetSelectedOrFirstServiceDescription();
+ var selectedCategory = selectedServiceDescription?.Category;
+}
+