MoK: Falsch interpretierte Serverrückmeldung beim Speichern der Einzelunterschrift behoben. Es wird geprüft, ob eine Oid beim Speichern der Einzelunterschfrift zum Client geschickt wird, um sicherzustellen, dass unterschrieben wurde.

This commit is contained in:
2024-01-17 15:45:16 +01:00
parent 6bae04422b
commit c3a739bdcb
16 changed files with 314 additions and 246 deletions

View File

@@ -458,7 +458,7 @@ namespace BeWoPlanerMobil.Controllers
}
[Authorize]
public string UnselectBargeldkasse()
public string DeselectBargeldkasse()
{
if(Model is null)
{
@@ -471,60 +471,14 @@ namespace BeWoPlanerMobil.Controllers
return LeerzeichenFuerGetMethoden;
}
[Authorize]
public string GetBargeldkassenName(long oid)
{
if(Model is null)
{
Logout();
return LeerzeichenFuerGetMethoden;
}
var bargeldkassenname = Model.Bargeldkassen.FirstOrDefault(bargeldkasse => bargeldkasse.BargeldkassenOid.HasValue && bargeldkasse.BargeldkassenOid.Value.Equals(oid))?.Kassenname;
return bargeldkassenname ?? LeerzeichenFuerGetMethoden;
}
[Authorize]
public ActionResult LoadFormPartial()
{
Model.SelectedBargeldkasse = null;
return PartialView("CustomerBargeldkassenFormPartial", Model);
}
// ToDo: Erstmal durch Get
[Authorize]
public string SaveBargeldkassenName(string newName, long oid)
{
if(Model is null)
{
Logout();
return LeerzeichenFuerGetMethoden;
}
var bargeldkasse = Model.Bargeldkassen.FirstOrDefault(bk => bk.BargeldkassenOid.HasValue && bk.BargeldkassenOid.Value.Equals(oid));
if(bargeldkasse is null || string.IsNullOrWhiteSpace(newName) || newName.Equals(bargeldkasse.Kassenname) || Model.SelectedCustomerOid is null)
{
return LeerzeichenFuerGetMethoden;
}
bargeldkasse.Kassenname = newName;
OperationsService.UpdateBargeldkasse(bargeldkasse);
Model.Bargeldkassen = OperationsService.LoadBargeldkassenForObject(TableID.Customer, Model.SelectedCustomerOid.Value);
return LeerzeichenFuerGetMethoden;
}
[Authorize]
[HttpPost]
public ActionResult DeleteBargeldkasse(FormCollection formCollection)
@@ -550,9 +504,6 @@ namespace BeWoPlanerMobil.Controllers
return RedirectToActionPermanent("Customer");
}
[Authorize]
[HttpPost]
public ActionResult CreateOrUpdateBargeldkasse(FormCollection formCollection)
@@ -565,18 +516,26 @@ namespace BeWoPlanerMobil.Controllers
var name = formCollection["bargeldkassenname"];
var rawAnfangsbestand = formCollection["bargeldkassenanfangsbestand"];
var isSuccessful = decimal.TryParse(rawAnfangsbestand, out var anfangsbestand);
decimal.TryParse(rawAnfangsbestand, out var anfangsbestand);
if(Model.SelectedBargeldkasse is null)
{
var rawAuszahlungsintervall = formCollection["auszahlungsintervall-select"];
var auszahlungsintervall = int.TryParse(rawAuszahlungsintervall, out var parsedAuszahlungsintervall) ? (Auszahlungsintervall)parsedAuszahlungsintervall : Auszahlungsintervall.Kein;
var newBargeldkasse = new BargeldkassenDC
{
Anfangsbestand = anfangsbestand,
Kassenname = name
Kassenname = name,
Auszahlungsintervall = auszahlungsintervall,
ObjectOid = Model.SelectedCustomerOid,
ObjectTid = TableID.Customer
};
OperationsService.InsertNewBargeldkasse(newBargeldkasse);
LoadCustomerToModel(Model.SelectedCustomerOid);
}
else
{
@@ -590,6 +549,8 @@ namespace BeWoPlanerMobil.Controllers
bargeldkasse.Anfangsbestand = anfangsbestand;
OperationsService.UpdateBargeldkasse(bargeldkasse);
LoadCustomerToModel(Model.SelectedCustomerOid);
}
Model.SelectedBargeldkasse = null;

View File

@@ -35,47 +35,67 @@
}
function updateGroupBookingCb2ScList(result) {
var list = $("#selected-cb2sc-list");
try {
var list = $("#selected-cb2sc-list");
if(isEmptyOrSpaces(result) || result === "SessionTimeout") {
window.location.href = getRedirectLink();
return;
if(isEmptyOrSpaces(result) || result === "SessionTimeout") {
window.location.href = getRedirectLink();
return;
}
var groupBookingSelectionObject = $.parseJSON(result);
var resultList = groupBookingSelectionObject.SelectedRelations;
list.empty();
$.each(resultList,
function (index, customListItem) {
var html = '<div class="list-group-item" id="relation-item-' + customListItem.Value + '"><div class="row"><div class="col"><span>' + customListItem.Text1 + '<br /><span class="' + customListItem.TextColor + '">' + customListItem.Text2 + '</span></span></div><div class="col-auto my-auto"><button type="button" class="btn btn-primary" onclick="removeCb2ScRelation(' + customListItem.Value + ')"><span class="fas fa-times-circle"></span></button></div></div>';
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 = '<div class="list-group-item" id="relation-item-' + customListItem.Value + '"><div class="row"><div class="col"><span>' + customListItem.Text1 + '<br /><span class="' + customListItem.TextColor + '">' + customListItem.Text2 + '</span></span></div><div class="col-auto my-auto"><button type="button" class="btn btn-primary" onclick="removeCb2ScRelation(' + customListItem.Value + ')"><span class="fas fa-times-circle"></span></button></div></div>';
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) {

View File

@@ -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);
}
}
}

View File

@@ -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();
}

View File

@@ -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();

View File

@@ -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();

View File

@@ -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 =
"<div class=\"list-group-item my-auto\" id=\"" + listItemId + "\">" +
"<div class=\"row\">" +
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 =
"<div class=\"list-group-item my-auto\" id=\"" + listItemId + "\">" +
"<div class=\"row\">" +
"<div class=\"input-group\">" +
"<div class=\"input-group-prepend\">" +
"<i class=\"fas fa-cubes text-bewo-resource h-100\"></i>" +
"</div>" +
"<p class=\"form-control border-0 bg-transparent text-truncate\" id=\"p-" + customListItem.ResourceOid + "\" >" + customListItem.Name + "<p>" +
"<div class=\"input-group-append\">" +
"<button class=\"btn btn-primary\" type=\"button\" onclick=\"removeSelectedResource('" + listItemId + "', '" + checkBoxId + "', '" + popupId + "', '" + url + "', '" + listId + "', '" + filterAppointmentsUrl + "', '" + listItemIdPrefix + "', '" + checkBoxIdPrefix + "', '" + selectAllCheckBoxId + "')\"><span class=\"fas fa-times-circle\"></span></button>" +
"</div>" +
"<div class=\"input-group-prepend\">" +
"<i class=\"fas fa-cubes text-bewo-resource h-100\"></i>" +
"</div>" +
"</div>" +
"</div>";
"<p class=\"form-control border-0 bg-transparent text-truncate\" id=\"p-" + customListItem.ResourceOid + "\" >" + customListItem.Name + "<p>" +
"<div class=\"input-group-append\">" +
"<button class=\"btn btn-primary\" type=\"button\" onclick=\"removeSelectedResource('" + listItemId + "', '" + checkBoxId + "', '" + popupId + "', '" + url + "', '" + listId + "', '" + filterAppointmentsUrl + "', '" + listItemIdPrefix + "', '" + checkBoxIdPrefix + "', '" + selectAllCheckBoxId + "')\"><span class=\"fas fa-times-circle\"></span></button>" +
"</div>" +
"</div>" +
"</div>" +
"</div>";
list.append(html);
});
list.append(html);
});
} catch (error) {
showErrorPopup(error);
}
}
function removeSelectedResource(listItemId, checkBoxId, popupId, url, listId, fetchAppointmentsUrl, listItemIdPrefix, checkBoxIdPrefix, selectAllCheckBoxId) {

View File

@@ -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);

View File

@@ -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();

View File

@@ -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&ouml;schen", "M&ouml;chten Sie die Bargeldkasse \"" + bargeldkassenname + "\" wirklich l&ouml;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);
}
}
</script>
<button type="button" class="btn btn-primary mb-3" onclick="addNewBargeldkasse()">Neue Kasse hinzuf&uuml;gen</button>
<div class="row">
<div class="col-sm-12">
<button type="button" class="btn btn-primary w-100 mb-3" onclick="addNewBargeldkasse()">Neue Kasse hinzuf&uuml;gen</button>
</div>
</div>
<div class="row row-cols-1 row-cols-md-2 row-cols-lg-3 row-cols-xl-4">
@foreach(var bargeldkasse in Model.Bargeldkassen)
@@ -131,61 +132,72 @@
@bargeldkasse.Kassenname
</button>
</div>
<div class="d-inline d-inline-flex float-right">
<button class="btn btn-primary" type="button" modal="#customer-bargeldkassen-form-popup" onclick="editBtnClickTest(@bargeldkasse.BargeldkassenOid, '@bargeldkasse.Kassenname')">
<i class="fas fa-edit"></i>
</button>
<button class="btn btn-danger ml-1" type="button" onclick="deleteBtnClickTest(@bargeldkasse.BargeldkassenOid, '@bargeldkasse.Kassenname')">
<i class="fas fa-trash-alt"></i>
</button>
</div>
</div>
<div class="card-body">
@{
<div class="collapse">
<div class="card-body">
@{
var anfangsbestand = bargeldkasse.Anfangsbestand?.ToString("0.00 €") ?? "0,00 €";
var anfangsbestand = bargeldkasse.Anfangsbestand?.ToString("0.00 €") ?? "0,00 €";
var einzahlungen = bargeldkasse.Bargeldtransaktionen.Where(bkt => bkt.Zahlungstyp == Zahlungstyp.Einzahlung).Sum(bkt => bkt.Betrag) ?? 0m;
var auszahlungen = bargeldkasse.Bargeldtransaktionen.Where(bkt => bkt.Zahlungstyp == Zahlungstyp.Auszahlung).Sum(bkt => bkt.Betrag) ?? 0m;
var einzahlungen = bargeldkasse.Bargeldtransaktionen.Where(bkt => bkt.Zahlungstyp == Zahlungstyp.Einzahlung).Sum(bkt => bkt.Betrag) ?? 0m;
var auszahlungen = bargeldkasse.Bargeldtransaktionen.Where(bkt => bkt.Zahlungstyp == Zahlungstyp.Auszahlung).Sum(bkt => bkt.Betrag) ?? 0m;
var kassenbestand = ((bargeldkasse.Anfangsbestand ?? 0m) + einzahlungen - auszahlungen).ToString("0.00 €");
}
<div class="w-100">
<table class="w-100">
<tbody>
<tr>
<td class="text-secondary">
Kassenbestand:
</td>
<td class="text-primary float-right">
@kassenbestand
</td>
</tr>
<tr>
<td class="text-secondary">
Anfangsbestand:
</td>
<td class="text-primary float-right">
@anfangsbestand
</td>
</tr>
<tr>
<td class="text-secondary">
Startdatum:
</td>
<td class="text-primary">
</td>
</tr>
<tr>
<td class="text-secondary">
Enddatum:
</td>
<td class="text-primary">
</td>
</tr>
</tbody>
</table>
var kassenbestand = ((bargeldkasse.Anfangsbestand ?? 0m) + einzahlungen - auszahlungen).ToString("0.00 €");
}
<div class="row">
<div class="col">
<button class="btn btn-primary" type="button" modal="#customer-bargeldtransaktions-form-popup">
<i class="fas fa-money-bill"></i>
</button>
</div>
<div class="col">
<button class="btn btn-primary ml-1" type="button" modal="#customer-bargeldkassen-form-popup" onclick="editBtnClickTest(@bargeldkasse.BargeldkassenOid, '@bargeldkasse.Kassenname')">
<i class="fas fa-edit"></i>
</button>
</div>
<div class="col">
<button class="btn btn-danger ml-1" type="button" onclick="deleteBtnClickTest(@bargeldkasse.BargeldkassenOid, '@bargeldkasse.Kassenname')">
<i class="fas fa-trash-alt"></i>
</button>
</div>
</div>
<div class="w-100">
<table class="w-100">
<tbody>
<tr>
<td class="text-secondary">
Kassenbestand:
</td>
<td class="text-primary float-right">
@kassenbestand
</td>
</tr>
<tr>
<td class="text-secondary">
Anfangsbestand:
</td>
<td class="text-primary float-right">
@anfangsbestand
</td>
</tr>
<tr>
<td class="text-secondary">
Startdatum:
</td>
<td class="text-primary">
</td>
</tr>
<tr>
<td class="text-secondary">
Enddatum:
</td>
<td class="text-primary">
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
@@ -216,8 +228,8 @@
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body" id="customer-absence-time-modal-body">
@Html.Partial("CustomerBargeldkassenFormPartial", Model)
<div class="modal-body" id="customer-bargeldkassen-modal-body">
@*@Html.Partial("CustomerBargeldkassenFormPartial", Model)*@
</div>
<div class="modal-footer">
<button class="btn btn-primary" type="button" onclick="submitCustomerBargeldkassenForm()">OK</button>
@@ -236,7 +248,7 @@
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body" id="customer-absence-time-modal-body">
<div class="modal-body" id="customer-bargeldkassentransaktion-modal-body">
@Html.Partial("CustomerBargeldtransaktionenFormPartial", Model)
</div>
<div class="modal-footer">

View File

@@ -1,4 +1,5 @@
@using BeWoPlanerMobil.Models;
@using BeWoPlanerMobil.Util
@model CustomerModel
@@ -20,14 +21,14 @@
}
}(jQuery));
var initialDatePrependWidth = 0;
var initialBargeldkassenDatePrependWidth = 0;
function calcBargeldkassenFormPrependWidth() {
try {
if(initialDatePrependWidth <= 0 && $.isNumeric(getMaxWidth("customer-bargeldkassen-prepend"))) {
initialDatePrependWidth = getMaxWidth("customer-bargeldkassen-prepend");
if(initialBargeldkassenDatePrependWidth <= 0 && $.isNumeric(getMaxWidth("customer-bargeldkassen-prepend"))) {
initialBargeldkassenDatePrependWidth = getMaxWidth("customer-bargeldkassen-prepend");
}
if(initialDatePrependWidth <= 0) {
if(initialBargeldkassenDatePrependWidth <= 0) {
return;
}
@@ -41,6 +42,13 @@
try {
showSpinner();
$("#bargeldkassenname").val($("#bargeldkassennamensinput").val());
$("#bargeldkassenanfangsbestand").val($("#bargeldkassenanfangsbestandsinput").val());
if($("#auszahlungsintervall-select-input").length) {
$("#auszahlungsintervall-select").val($("#auszahlungsintervall-select-input").find(":selected").val());
}
document.getElementById("create-bargeldkasse-form").submit();
} catch(error) {
showErrorPopup(error);
@@ -56,10 +64,10 @@
});
$(document).ready(function () {
setInputFilter();
setAnfangsbestandsinputFilter();
});
function setInputFilter() {
function setAnfangsbestandsinputFilter() {
$("#bargeldkassenanfangsbestand").inputFilter(function (value) {
return /^-?\d*[.,]?\d*$/.test(value);
});
@@ -69,6 +77,13 @@
try {
$("#bargeldkassenname").val("");
$("#bargeldkassenanfangsbestand").val("");
$("#bargeldkassennamensinput").val("");
$("#bargeldkassenanfangsbestandsinput").val("");
if($("#auszahlungsintervall-select-input").length) {
$("#auszahlungsintervall-select-input select").val("0");
}
} catch(error) {
showErrorPopup(error);
}
@@ -78,25 +93,73 @@
@using(Html.BeginForm("CreateOrUpdateBargeldkasse", "Customer", FormMethod.Post, new { id = "create-bargeldkasse-form" }))
{
<input type="hidden" name="customer-bargeldkassen-oid" value="@Model.SelectedBargeldkasse?.BargeldkassenOid" />
<input type="hidden" name="bargeldkassenname" id="bargeldkassenname" />
<input type="hidden" name="auszahlungsintervall-select" id="auszahlungsintervall-select" />
<input type="hidden" name="bargeldkassenanfangsbestand" id="bargeldkassenanfangsbestand" />
}
@{
var kassenname = Model.SelectedBargeldkasse?.Kassenname ?? string.Empty;
var anfangsbestand = Model.SelectedBargeldkasse?.Anfangsbestand?.ToString("0.00") ?? "0.00";
}
<div class="form-row">
<div class="col-md">
<div class="form-group mb-1">
<div class="input-group">
<div class="input-group-prepend">
<div class="input-group-text customer-bargeldkassen-prepend">
Name
</div>
</div>
<input class="form-control" type="text" id="bargeldkassennamensinput" value="@kassenname" />
</div>
</div>
</div>
</div>
@if(Model.SelectedBargeldkasse is null)
{
<div class="form-row">
<div class="col-md">
<div class="form-group mb-1">
<div class="input-group">
<div class="input-group-prepend">
<div class="input-group-text customer-bargeldkassen-prepend">
Name
Auszahlungsintervall
</div>
</div>
<input class="form-control" type="text" name="bargeldkassenname" id="bargeldkassenname" value="@kassenname" />
<select class="form-control" id="auszahlungsintervall-select-input">
<option value="0" selected>Kein</option>
<option value="1">Monatlich</option>
<option value="2">W&ouml;chentlich</option>
<option value="3">T&auml;glich</option>
</select>
</div>
</div>
</div>
</div>
if(Model.SelectedBargeldkasse is null)
}
<div class="form-row">
<div class="col-md">
<div class="form-group mb-1">
<div class="input-group">
<div class="input-group-prepend">
<div class="input-group-text customer-bargeldkassen-prepend">
Anfangsbestand
</div>
</div>
<input class="form-control" type="text" id="bargeldkassenanfangsbestandsinput" value="@anfangsbestand" />
<div class="input-group-append">
<span class="input-group-text">€</span>
</div>
</div>
</div>
</div>
</div>
@if(Html.IsInDebugMode())
{
using(Html.BeginForm("CreateOrUpdateBargeldkasse", "Customer", FormMethod.Post))
{
<div class="form-row">
<div class="col-md">
@@ -104,35 +167,13 @@
<div class="input-group">
<div class="input-group-prepend">
<div class="input-group-text customer-bargeldkassen-prepend">
Auszahlungsintervall
Testinput
</div>
</div>
<select class="form-control" name="auszahlungsintervall-select">
<option value="0" selected>Kein</option>
<option value="1">Monatlich</option>
<option value="2">W&ouml;chentlich</option>
<option value="3">T&auml;glich</option>
</select>
<input class="form-control" type="text" />
</div>
</div>
</div>
</div>
}
<div class="form-row">
<div class="col-md">
<div class="form-group mb-1">
<div class="input-group">
<div class="input-group-prepend">
<div class="input-group-text customer-bargeldkassen-prepend">
Anfangsbestand
</div>
</div>
<input class="form-control" type="text" name="bargeldkassenanfangsbestand" id="bargeldkassenanfangsbestand" value="@anfangsbestand" />
<div class="input-group-append">
<span class="input-group-text">€</span>
</div>
</div>
</div>
</div>
</div>
}
}

View File

@@ -114,7 +114,7 @@
$.get(getLoadServiceCategoriesUrl(), { pServiceCategoryOid: selectedCategoryOid })
.done(function (data) {
var serviceDescriptions = $.parseJSON(data);
var serviceDescriptions = parseJason(data);
var serviceDescriptionsSelect = $("#" + leistungSelectId);
serviceDescriptionsSelect.empty();

View File

@@ -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-");

View File

@@ -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];

View File

@@ -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];

View File

@@ -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 @@
<div class="form-group">
<label for="fehlerdetail-textarea">Fehlerdetails:</label>
<textarea class="form-control font-italic text-monospace" style="height: 20em !important; max-height: 20em !important; scroll-behavior: auto !important;" id="fehlerdetail-textarea"></textarea>
<div id="html-error-container"></div>
</div>
</div>
<div class="modal-footer">