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:
@@ -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;
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<button type="button" class="btn btn-primary mb-3" onclick="addNewBargeldkasse()">Neue Kasse hinzufü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ü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">×</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">×</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">
|
||||
|
||||
@@ -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öchentlich</option>
|
||||
<option value="3">Tä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öchentlich</option>
|
||||
<option value="3">Tä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>
|
||||
}
|
||||
}
|
||||
@@ -114,7 +114,7 @@
|
||||
|
||||
$.get(getLoadServiceCategoriesUrl(), { pServiceCategoryOid: selectedCategoryOid })
|
||||
.done(function (data) {
|
||||
var serviceDescriptions = $.parseJSON(data);
|
||||
var serviceDescriptions = parseJason(data);
|
||||
var serviceDescriptionsSelect = $("#" + leistungSelectId);
|
||||
|
||||
serviceDescriptionsSelect.empty();
|
||||
|
||||
@@ -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-");
|
||||
|
||||
@@ -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];
|
||||
|
||||
@@ -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];
|
||||
|
||||
@@ -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">
|
||||
|
||||
Reference in New Issue
Block a user