Bugs behoben
This commit is contained in:
@@ -61,10 +61,33 @@ function submitGroupBookingForm() {
|
||||
|
||||
function toggleGroupBookingForm() {
|
||||
const isEnabled = $("#selected-cb2sc-list").children().length > 0;
|
||||
|
||||
|
||||
changeGroupBookingFormEnableState(!isEnabled);
|
||||
}
|
||||
|
||||
function changeMultiBookingFormEnableState(enableState) {
|
||||
$(
|
||||
"#multi-booking-employees-button, " +
|
||||
"#category-select, " +
|
||||
"#leistung-select, " +
|
||||
"#mb-start-date-input, " +
|
||||
"#mb-end-date-input, " +
|
||||
"#mb-start-time-input, " +
|
||||
"#mb-end-time-input, " +
|
||||
"#mb-duration-input, " +
|
||||
"#mb-distance-input, " +
|
||||
"textarea, " +
|
||||
"#mb-reset-btn, " +
|
||||
"#mb-create-btn, " +
|
||||
"#mb-betrag," +
|
||||
"#mb-textbausteine-btn, " +
|
||||
"#mb-hours-minutes-dropdown-btn, " +
|
||||
"#mb-marker-cb, " +
|
||||
".bewo-restore-btn").prop("disabled", enableState);
|
||||
}
|
||||
|
||||
function changeGroupBookingFormEnableState(enableState) {
|
||||
$(
|
||||
"#betrag, " +
|
||||
".gb-restore-btn," +
|
||||
"#employees-button, " +
|
||||
"#category-select, " +
|
||||
"#leistung-select, " +
|
||||
@@ -72,15 +95,42 @@ function toggleGroupBookingForm() {
|
||||
"#gb-end-date-input, " +
|
||||
"#gb-start-time-input, " +
|
||||
"#gb-end-time-input, " +
|
||||
"#db-duration-input, " +
|
||||
"#gb-duration-input, " +
|
||||
"#gb-distance-input, " +
|
||||
"textarea, " +
|
||||
"#reset-button, " +
|
||||
"#create-button, " +
|
||||
"#textbausteine-button, " +
|
||||
"#gb-textbausteine-btn, " +
|
||||
"#gb-hours-minutes-dropdown-btn, " +
|
||||
"#marker-cb"
|
||||
).prop("disabled", isEnabled ? false : true);
|
||||
"#gb-marker-cb, " +
|
||||
"#gb-betrag, " +
|
||||
".bewo-restore-btn"
|
||||
).prop("disabled", enableState);
|
||||
}
|
||||
|
||||
function changeSingleBookingFormEnableState(enableState) {
|
||||
$(
|
||||
"#employeesDropDown, " +
|
||||
"#category-select, " +
|
||||
"#leistung-select, " +
|
||||
"#sb-start-date-input, " +
|
||||
"#sb-end-date-input, " +
|
||||
"#sb-start-time-input, " +
|
||||
"#sb-end-time-input, " +
|
||||
"#sb-duration-input, " +
|
||||
"#sb-hours-minutes-dropdown-btn, " +
|
||||
"#sb-distance-input, " +
|
||||
"#sb-textbausteine-btn, " +
|
||||
"#goals-button, " +
|
||||
"textarea, " +
|
||||
"#reset-button, " +
|
||||
"#create-button, " +
|
||||
"#statistics-button, " +
|
||||
"#timeFrameSelect, " +
|
||||
"#sb-marker-cb, " +
|
||||
"#sb-betrag, " +
|
||||
".bewo-restore-btn"
|
||||
).prop("disabled", enableState);
|
||||
}
|
||||
|
||||
function deleteServiceRecord(serviceRecordOid) {
|
||||
@@ -240,7 +290,7 @@ function validateForm(form, prefix) {
|
||||
$("#srv-marker").val($(`#${prefix}-marker-cb`).is(":checked") ? "on" : "off");
|
||||
$("#srv-service-description").val($(`#${prefix}-leistung-select`).find(":selected").val());
|
||||
$("#srv-duration").val($(`#${prefix}-duration-input`).val());
|
||||
$("#srv-betrag").val($("#betrag").val());
|
||||
$("#srv-betrag").val($(`#${prefix}-betrag`).val());
|
||||
|
||||
showSpinner();
|
||||
$("#service-record-validation-form").submit();
|
||||
|
||||
@@ -15,28 +15,6 @@
|
||||
}
|
||||
|
||||
<script type="text/javascript">
|
||||
function toggleForm() {
|
||||
const checkedCheckboxes = $(".cb2sc-input:checkbox:checked");
|
||||
|
||||
$(
|
||||
"#employees-button, " +
|
||||
"#category-select, " +
|
||||
"#leistung-select, " +
|
||||
"#gb-start-date-input, " +
|
||||
"#gb-end-date-input, " +
|
||||
"#gb-start-time-input, " +
|
||||
"#gb-end-time-input, " +
|
||||
"#gb-duration-input, " +
|
||||
"#gb-distance-input, " +
|
||||
"textarea, " +
|
||||
"#reset-button, " +
|
||||
"#create-button, " +
|
||||
"#textbausteine-button, " +
|
||||
"#gb-hours-minutes-dropdown-btn, " +
|
||||
"#marker-cb")
|
||||
.prop("disabled", (checkedCheckboxes.length > 0 ? false : true));
|
||||
}
|
||||
|
||||
function addScCbRelsToGroupBooking() {
|
||||
var selectedGroups = [];
|
||||
var selectedSupportConcepts = [];
|
||||
@@ -51,7 +29,7 @@
|
||||
|
||||
$("#group-booking-sc-cb-rel-tab-content").load("@Url.Action("AddScCbRelsToGroupBooking")", {relOids: selectedSupportConcepts, groupOids: selectedGroups}, function() {
|
||||
$("#groupbooking-selection-container").load("@Url.Action("ReloadGroupBookingForm")", function () {
|
||||
toggleForm();
|
||||
toggleGroupBookingForm();
|
||||
|
||||
$("#goals-tree").load("@Url.Action("ReloadGoals")", function() {
|
||||
$("#tree").load("@Url.Action("LoadUpToDateTextModules")");
|
||||
@@ -67,7 +45,7 @@
|
||||
, function () {
|
||||
$("#goals-tree").load("@Url.Action("ReloadGoals")"
|
||||
, function () {
|
||||
toggleForm();
|
||||
toggleGroupBookingForm();
|
||||
|
||||
$("#tree").load("@Url.Action("LoadUpToDateTextModules")");
|
||||
});
|
||||
@@ -98,7 +76,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
<div class="mt-3">
|
||||
<div class="mt-3 booking-form-container">
|
||||
<div class="form-row">
|
||||
<div class="col-md">
|
||||
<div class="alert alert-danger collapse" role="alert" id="form-alert">
|
||||
@@ -144,7 +122,7 @@
|
||||
Betrag
|
||||
</div>
|
||||
</div>
|
||||
<input class="form-control" type="text" autocomplete="on" id="betrag" name="betrag" value="@betrag" />
|
||||
<input class="form-control" type="text" autocomplete="on" id="gb-betrag" name="betrag" value="@betrag" />
|
||||
<div class="input-group-append">
|
||||
<div class="input-group-text">€</div>
|
||||
</div>
|
||||
@@ -278,7 +256,7 @@
|
||||
{
|
||||
<div class="form-row" id="textmodule-container">
|
||||
<div class="col-md">
|
||||
<button type="button" class="btn btn-primary form-control mt-2" data-toggle="modal" data-target="#textbausteine-popup" id="textbausteine-button">Textbausteine</button>
|
||||
<button type="button" class="btn btn-primary form-control mt-2" data-toggle="modal" data-target="#textbausteine-popup" id="gb-textbausteine-btn">Textbausteine</button>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
@@ -290,9 +268,6 @@
|
||||
{
|
||||
<div class="form-group">
|
||||
<label for="gb-dokufeld-textarea">Dokumentation</label>
|
||||
<button type="button" class="btn btn-outline-bewo-dev btn-sm bg-restore-btn" onclick="restoreField('gb-dokufeld-textarea')">
|
||||
<i class="fas fa-recycle"></i>
|
||||
</button>
|
||||
<textarea class="form-control" autocomplete="on" name="Dokumentation6" id="gb-dokufeld-textarea">@notice0</textarea>
|
||||
</div>
|
||||
}
|
||||
@@ -306,9 +281,6 @@
|
||||
<li class="nav-item">
|
||||
<a href="#gb-doku_@i" id="gb-doku_@i-tab" data-toggle="tab" role="tab" class="nav-link@(i == 0 ? " active" : string.Empty)">
|
||||
@currentDokuType.DisplayName
|
||||
<button type="button" class="btn btn-outline-bewo-dev btn-sm gb-restore-btn" onclick="restoreField('gb-doku-textarea-@i')">
|
||||
<i class="fas fa-recycle"></i>
|
||||
</button>
|
||||
</a>
|
||||
</li>
|
||||
}
|
||||
@@ -328,29 +300,27 @@
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
<div class="d-flex bd-highlight mt-2">
|
||||
<div class="mr-auto bd-highlight">
|
||||
@* dient nur als Abstandshalter *@
|
||||
</div>
|
||||
<div class="ml-3 bd-highlight">
|
||||
@if(Model.IsInTransferMode)
|
||||
{
|
||||
using(Html.BeginForm("ResetTransferMode", "Main", FormMethod.Post))
|
||||
{
|
||||
<button type="submit" class="btn btn-primary" onclick="showSpinner()">Abbrechen</button>
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
using(Html.BeginForm("ResetEditingMode", "Main", FormMethod.Post))
|
||||
{
|
||||
<button type="submit" class="btn btn-primary" onclick="showSpinner()">Abbrechen</button>
|
||||
}
|
||||
}
|
||||
|
||||
</div>
|
||||
<div class="ml-3 bd-highlight">
|
||||
<button type="button" class="btn btn-primary" id="create-button" onclick="submitGroupBookingForm()">@submitButtonText</button>
|
||||
</div>
|
||||
<div class="w-100 mt-2">
|
||||
<button type="button" class="btn btn-primary float-right ml-1" id="create-button" onclick="submitGroupBookingForm()">@submitButtonText</button>
|
||||
|
||||
@if(Model.IsInTransferMode)
|
||||
{
|
||||
using(Html.BeginForm("ResetTransferMode", "Main", FormMethod.Post))
|
||||
{
|
||||
<button type="submit" id="reset-button" class="btn btn-primary float-right" onclick="showSpinner()">Abbrechen</button>
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
using(Html.BeginForm("ResetEditingMode", "Main", FormMethod.Post))
|
||||
{
|
||||
<button type="submit" id="reset-button" class="btn btn-primary float-right" onclick="showSpinner()">Abbrechen</button>
|
||||
}
|
||||
}
|
||||
|
||||
@*<button type="button" class="btn btn-bewo-dev bewo-restore-btn" onclick="window.restoreAllFields()">
|
||||
<i class="fas fa-recycle"></i>
|
||||
</button>*@
|
||||
</div>
|
||||
}
|
||||
@@ -5,7 +5,7 @@
|
||||
@{
|
||||
ViewBag.Title = "BeWoPlaner Mobil";
|
||||
|
||||
if(TempData[MobileUtils.TempDataLoginStateKey] is BeWoLoginState loginState && loginState.Message != null)
|
||||
if(TempData[MobileUtils.TempDataLoginStateKey] is BeWoLoginState { Message: not null } loginState)
|
||||
{
|
||||
var loginStateMessage = new HtmlString(loginState.Message.Replace("\n", "<br/>").Replace("\"", "\\"));
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
</script>
|
||||
}
|
||||
|
||||
if(TempData[TempDataConstants.DoLogoutKey] is bool doLogout && doLogout)
|
||||
if(TempData[TempDataConstants.DoLogoutKey] is true)
|
||||
{
|
||||
<text>
|
||||
<script type="text/javascript">
|
||||
@@ -40,7 +40,15 @@
|
||||
|
||||
showSpinner();
|
||||
|
||||
$("#service-record-list-container").load("@Url.Action("LoadServiceRecordsNonPost")", {dayCountNumber: dayCount, start: start, end: end, month: parseInt(month), year: parseInt(year), recordsKey: parseInt(selectedOption)},
|
||||
$("#service-record-list-container").load("@Url.Action("LoadServiceRecordsNonPost")",
|
||||
{
|
||||
dayCountNumber: dayCount,
|
||||
start: start,
|
||||
end: end,
|
||||
month: parseInt(month),
|
||||
year: parseInt(year),
|
||||
recordsKey: parseInt(selectedOption)
|
||||
},
|
||||
() => {
|
||||
hideSpinner();
|
||||
});
|
||||
@@ -131,61 +139,20 @@
|
||||
|
||||
$("#single-booking-employee-container").find(".dropdown-toggle").prop("disabled", (isSupportConceptSelected ? false : true));
|
||||
|
||||
$(
|
||||
"#employeesDropDown, " +
|
||||
"#category-select, " +
|
||||
"#leistung-select, " +
|
||||
"#sb-start-date-input, #sb-end-date-input, #sb-start-time-input, #sb-end-time-input, " +
|
||||
"#sb-duration-input, #sb-hours-minutes-dropdown-btn, #sb-distance-input, " +
|
||||
changeSingleBookingFormEnableState(!isSupportConceptSelected);
|
||||
|
||||
"#gb-start-date-input, #gb-end-date-input, #gb-start-time-input, #gb-end-time-input, " +
|
||||
"#gb-duration-input, #gb-hours-minutes-dropdown-btn, #gb-distance-input, " +
|
||||
if("@Model.IsInGroupBookingMode".toLowerCase() === "true") {
|
||||
const hasSelectedSupportConcepts = "@Model.GroupBookingSelectedCostBearerSupportConceptOids.Any()".toLowerCase() === "true";
|
||||
|
||||
"#mb-start-date-input, #mb-end-date-input, #mb-start-time-input, #mb-end-time-input, " +
|
||||
"#mb-duration-input, #mb-hours-minutes-dropdown-btn, #mb-distance-input," +
|
||||
".sb-restore-btn, .gb-restore-btn, .mb-restore-btn" +
|
||||
|
||||
"#textbausteine-button, " +
|
||||
"#goals-button, " +
|
||||
"textarea, " +
|
||||
"#reset-button, " +
|
||||
"#create-button, " +
|
||||
"#statistics-button, " +
|
||||
"#timeFrameSelect, " +
|
||||
"#marker-cb, " +
|
||||
"#betrag"
|
||||
).prop("disabled", (isSupportConceptSelected ? false : true));
|
||||
|
||||
if ("@Model.IsInGroupBookingMode".toLowerCase() === "true") {
|
||||
const hasSelectedSupportConcepts = "@Model.GroupBookingSelectedCostBearerSupportConceptOids.Any()".toLowerCase() === "true";
|
||||
|
||||
$(
|
||||
"#employees-button, " +
|
||||
"#category-select, " +
|
||||
"#leistung-select, " +
|
||||
"#gb-start-date-input, " +
|
||||
"#gb-end-date-input, " +
|
||||
"#gb-start-time-input, " +
|
||||
"#gb-end-time-input, " +
|
||||
"#gb-duration-input, " +
|
||||
"#distance, " +
|
||||
"textarea, " +
|
||||
"#reset-button, " +
|
||||
"#create-button, " +
|
||||
"#textbausteine-button, " +
|
||||
"#gb-hours-minutes-dropdown-btn, " +
|
||||
"#marker-cb, " +
|
||||
"#betrag," +
|
||||
".gb-restore-btn"
|
||||
).prop("disabled", (hasSelectedSupportConcepts ? false : true));
|
||||
changeGroupBookingFormEnableState(!hasSelectedSupportConcepts);
|
||||
}
|
||||
|
||||
$("#fehlerdetail-textarea").prop("disabled", false);
|
||||
|
||||
if ("@Model.IsInMultiBookingMode".toLowerCase() === "true") {
|
||||
const isMultiBookingFormDisabled = "@Model.GroupBookingSelectedCostBearerSupportConceptOids.Any()".toLowerCase() === "false";
|
||||
if ("@Model.IsInMultiBookingMode".toLowerCase() === "true") {
|
||||
const isMultiBookingFormDisabled = "@Model.GroupBookingSelectedCostBearerSupportConceptOids.Any()".toLowerCase() === "false";
|
||||
|
||||
window.toggleMultiBookingForm(isMultiBookingFormDisabled);
|
||||
changeMultiBookingFormEnableState(isMultiBookingFormDisabled);
|
||||
}
|
||||
|
||||
initializeSignatureImagePopup();
|
||||
@@ -211,6 +178,10 @@
|
||||
|
||||
if(Model.LastCreatedServiceRecordOid > 0)
|
||||
{
|
||||
<text>
|
||||
window.clearLocalBeWoStorage();
|
||||
</text>
|
||||
|
||||
if(shouldShowSignaturePopup && Model.ShowSignature)
|
||||
{
|
||||
<text>
|
||||
@@ -637,7 +608,7 @@
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text pw-prepend">Altes Passwort</div>
|
||||
</div>
|
||||
<input type="password" class="form-control" name="old-password" required />
|
||||
<input type="password" class="form-control" name="old-password" autocomplete="on" required />
|
||||
<div class="invalid-feedback pw-chng-inv-fdb">
|
||||
Dieses Feld darf nicht leer sein.
|
||||
</div>
|
||||
@@ -650,7 +621,7 @@
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text pw-prepend">Neues Passwort</div>
|
||||
</div>
|
||||
<input type="password" class="form-control" name="new-password" id="new-password" onkeyup="validatePasswordStrength()" required />
|
||||
<input type="password" class="form-control" name="new-password" id="new-password" autocomplete="on" onkeyup="validatePasswordStrength()" required />
|
||||
<div class="invalid-feedback pw-chng-inv-fdb">
|
||||
Dieses Feld darf nicht leer sein.
|
||||
</div>
|
||||
@@ -663,7 +634,7 @@
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text pw-prepend">Passwort bestätigen</span>
|
||||
</div>
|
||||
<input type="password" class="form-control" name="confirm-new-password" id="confirm-new-password" required />
|
||||
<input type="password" class="form-control" name="confirm-new-password" autocomplete="on" id="confirm-new-password" required />
|
||||
<div class="invalid-feedback pw-chng-inv-fdb">
|
||||
Dieses Feld darf nicht leer sein.
|
||||
</div>
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
|
||||
$("#multi-booking-sc-cb-rel-tab-content").load("@Url.Action("AddScCbRelsToMultiBooking")", {relOids: selectedSupportConcepts, groupOids: selectedGroups}, function() {
|
||||
$("#multibooking-selection-container").load("@Url.Action("ReloadMultiBookingForm")", function () {
|
||||
window.toggleMultiBookingForm($(".mb-cb2sc-input:checkbox:checked").length > 0 ? false : true);
|
||||
changeMultiBookingFormEnableState($(".mb-cb2sc-input:checkbox:checked").length > 0 ? false : true);
|
||||
|
||||
$("#tree").load("@Url.Action("LoadUpToDateTextModules")");
|
||||
});
|
||||
@@ -42,7 +42,7 @@
|
||||
, function () {
|
||||
$("#goals-tree").load("@Url.Action("ReloadGoals")"
|
||||
, function () {
|
||||
window.toggleMultiBookingForm($(".mb-cb2sc-input:checkbox:checked").length > 0 ? false : true);
|
||||
changeMultiBookingFormEnableState($(".mb-cb2sc-input:checkbox:checked").length > 0 ? false : true);
|
||||
|
||||
$("#tree").load("@Url.Action("LoadUpToDateTextModules")");
|
||||
}
|
||||
@@ -72,7 +72,7 @@
|
||||
noticeList[i] = selectedNoticeList[i] ?? string.Empty;
|
||||
}
|
||||
}
|
||||
<div class="mt-3">
|
||||
<div class="mt-3 booking-form-container">
|
||||
<div id="multibooking-selection-container">
|
||||
@Html.Partial("MultiBookingSelectionPartial", Model)
|
||||
</div>
|
||||
@@ -102,7 +102,7 @@
|
||||
Betrag
|
||||
</div>
|
||||
</div>
|
||||
<input class="form-control" type="text" id="betrag" name="betrag" />
|
||||
<input class="form-control" type="text" id="mb-betrag" name="betrag" />
|
||||
<div class="input-group-append">
|
||||
<div class="input-group-text">€</div>
|
||||
</div>
|
||||
@@ -239,7 +239,7 @@
|
||||
{
|
||||
<div class="form-row" id="textmodule-container">
|
||||
<div class="col-md">
|
||||
<button type="button" class="btn btn-primary form-control mt-2" data-toggle="modal" data-target="#textbausteine-popup" id="mb-textbausteine-button">Textbausteine</button>
|
||||
<button type="button" class="btn btn-primary form-control mt-2" data-toggle="modal" data-target="#textbausteine-popup" id="mb-textbausteine-btn">Textbausteine</button>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
@@ -251,9 +251,6 @@
|
||||
{
|
||||
<div class="form-group mt-2">
|
||||
<label for="mb-dokufeld-textarea">Dokumentation</label>
|
||||
<button type="button" class="btn btn-outline-bewo-dev btn-sm mb-restore-btn" onclick="restoreField('mb-dokufeld-textarea')">
|
||||
<i class="fas fa-recycle"></i>
|
||||
</button>
|
||||
<textarea class="form-control" autocomplete="on" name="Dokumentation6" id="mb-dokufeld-textarea">@notice0</textarea>
|
||||
</div>
|
||||
}
|
||||
@@ -267,9 +264,6 @@
|
||||
<li class="nav-item">
|
||||
<a href="#mb-doku_@i" id="mb-doku_@i-tab" data-toggle="tab" role="tab" class="nav-link@(i == 0 ? " active" : string.Empty)">
|
||||
@currentDokuType.DisplayName
|
||||
<button type="button" class="btn btn-outline-bewo-dev btn-sm mb-restore-btn" onclick="restoreField('mb-doku-textarea-@i')">
|
||||
<i class="fas fa-recycle"></i>
|
||||
</button>
|
||||
</a>
|
||||
</li>
|
||||
}
|
||||
@@ -289,18 +283,17 @@
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
<div class="d-flex bd-highlight mt-2">
|
||||
<div class="mr-auto bd-highlight">
|
||||
@* Abstandshalter *@
|
||||
</div>
|
||||
<div class="ml-3 bd-highlight">
|
||||
@using(Html.BeginForm("ResetMultiBookingForm", "Main", FormMethod.Post))
|
||||
{
|
||||
<button type="submit" class="btn btn-primary" onclick="showSpinner()">Abbrechen</button>
|
||||
}
|
||||
</div>
|
||||
<div class="ml-3 bd-highlight">
|
||||
<button type="button" class="btn btn-primary" id="mb-create-button" onclick="submitMultiBookingForm()">Anlegen</button>
|
||||
</div>
|
||||
|
||||
<div class="w-100 mt-2">
|
||||
<button type="button" class="btn btn-primary float-right ml-1" id="mb-create-btn" onclick="window.submitMultiBookingForm()">Anlegen</button>
|
||||
|
||||
@using(Html.BeginForm("ResetMultiBookingForm", "Main", FormMethod.Post))
|
||||
{
|
||||
<button type="submit" id="mb-reset-btn" class="btn btn-primary float-right" onclick="showSpinner()">Abbrechen</button>
|
||||
}
|
||||
|
||||
@*<button type="button" class="btn btn-bewo-dev bewo-restore-btn" onclick="window.restoreAllFields()">
|
||||
<i class="fas fa-recycle"></i>
|
||||
</button>*@
|
||||
</div>
|
||||
}
|
||||
@@ -68,14 +68,12 @@
|
||||
|
||||
$.get("@Url.Action("MultiBookingHasSelectedSupportConcepts")").done(function (result1) {
|
||||
if(false === checkJson(result1)) {
|
||||
logWarning("submitMultiBookingForm: Der zurückgegebene Wert ist kein gültiges JSON!");
|
||||
hideSpinner();
|
||||
return;
|
||||
}
|
||||
|
||||
$.get("@Url.Action("MultiBookingHasSelectedEmployees")").done(function (result2) {
|
||||
if(false === checkJson(result2)) {
|
||||
logWarning("submitMultiBookingForm: Der zurückgegebene Wert ist kein gültiges JSON!");
|
||||
hideSpinner();
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -152,7 +152,7 @@
|
||||
|
||||
<div class="row">
|
||||
@* ----- Einzelbuchungsformular ----- *@
|
||||
<div class="col col-12 col-md-5">
|
||||
<div class="col col-12 col-md-5 booking-form-container">
|
||||
@if (Model != null)
|
||||
{
|
||||
using (Html.BeginForm("SelectSupportConcept", "Main", FormMethod.Post, new { Id = "selectSupportConceptForm", onreset = "resetSingleBookingForm()" }))
|
||||
@@ -310,7 +310,7 @@
|
||||
@if(Model.ShowBetrag)
|
||||
{
|
||||
var betrag = string.Empty;
|
||||
if(Model.SelectedServiceRecord?.Betrag != null && Model.SelectedServiceRecord.Betrag.Value > 0)
|
||||
if(Model.SelectedServiceRecord?.Betrag is > 0)
|
||||
{
|
||||
betrag = Model.SelectedServiceRecord.Betrag.Value.ToString("#.00");
|
||||
}
|
||||
@@ -324,7 +324,7 @@
|
||||
Betrag
|
||||
</div>
|
||||
</div>
|
||||
<input class="form-control" autocomplete="on" type="text" id="betrag" name="betrag" value="@betrag" />
|
||||
<input class="form-control" autocomplete="on" type="text" id="sb-betrag" name="betrag" value="@betrag" />
|
||||
<div class="input-group-append">
|
||||
<div class="input-group-text">€</div>
|
||||
</div>
|
||||
@@ -343,7 +343,7 @@
|
||||
|
||||
var afterValidationState = TempData[TempDataConstants.AfterValidationStateKey];
|
||||
|
||||
if(Model.SetStartTimeToEndTimeAfterSave && !Model.IsInEditingMode && afterValidationState is bool and false)
|
||||
if(Model.SetStartTimeToEndTimeAfterSave && !Model.IsInEditingMode && afterValidationState is false)
|
||||
{
|
||||
durationValue = Model.NewDuration?.ToString();
|
||||
if(Model.NewDuration.HasValue)
|
||||
@@ -457,7 +457,7 @@
|
||||
</script>
|
||||
<div class="form-row mt-2" id="textmodule-container">
|
||||
<div class="col-md">
|
||||
<button type="button" class="btn btn-primary form-control" data-toggle="modal" data-target="#textbausteine-popup" id="textbausteine-button" onclick="textModuleButtonOnClick()">Textbausteine</button>
|
||||
<button type="button" class="btn btn-primary form-control" data-toggle="modal" data-target="#textbausteine-popup" id="sb-textbausteine-btn" onclick="textModuleButtonOnClick()">Textbausteine</button>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
@@ -469,9 +469,6 @@
|
||||
{
|
||||
<div class="form-group my-0">
|
||||
<label for="sb-dokufeld-textarea">Dokumentation</label>
|
||||
<button type="button" class="btn btn-outline-bewo-dev btn-sm sb-restore-btn" onclick="restoreField('sb-dokufeld-textarea')">
|
||||
<i class="fas fa-recycle"></i>
|
||||
</button>
|
||||
<textarea class="form-control" autocomplete="on" style="overflow: scroll;" name="Dokumentation6" id="sb-dokufeld-textarea">@Model.NoticeToEdit</textarea>
|
||||
</div>
|
||||
}
|
||||
@@ -485,11 +482,7 @@
|
||||
<li class="nav-item">
|
||||
<a href="#sb-doku_@i" id="sb-doku_@i-tab" data-toggle="tab" role="tab" class="nav-link@(i == 0 ? " active" : string.Empty)">
|
||||
@currentDokuType.DisplayName
|
||||
<button type="button" class="btn btn-outline-bewo-dev btn-sm sb-restore-btn" onclick="restoreField('sb-doku-textarea-@i')">
|
||||
<i class="fas fa-recycle"></i>
|
||||
</button>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
}
|
||||
</ul>
|
||||
@@ -528,12 +521,12 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
<button type="button" class="btn btn-primary float-right" id="reset-button" onclick="resetSingleBookingForm()">Abbrechen</button>
|
||||
}
|
||||
<button type="button" class="btn btn-primary float-right" id="reset-button" onclick="window.restoreAllFields(); resetSingleBookingForm();">Abbrechen</button>
|
||||
}
|
||||
|
||||
<button type="button" class="btn btn-bewo-dev" onclick="restoreAllFields()">
|
||||
@*<button type="button" class="btn btn-bewo-dev bewo-restore-btn" onclick="window.restoreAllFields()">
|
||||
<i class="fas fa-recycle"></i>
|
||||
</button>
|
||||
</button>*@
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
<script type="text/javascript" src="@Scripts.Url("~/Scripts/tempusdominus-boostrap-4.min.js")"></script>
|
||||
<script type="text/javascript" src="@Scripts.Url("~/Scripts/ownSoft-Scripts/mobileUtils.js?v=1.3")"></script>
|
||||
|
||||
<script type="text/javascript" src="@Scripts.Url("~/Scripts/ownSoft-Scripts/view-scripts/main.js?v=1.3")"></script>
|
||||
<script type="text/javascript" src="@Scripts.Url("~/Scripts/ownSoft-Scripts/view-scripts/main.js?v=1.5")"></script>
|
||||
<script type="text/javascript" src="@Scripts.Url("~/Scripts/ownSoft-Scripts/signature.js?v=1.3")"></script>
|
||||
|
||||
<link type="text/css" rel="stylesheet" href="@Url.Content("~/Scripts/bootstrap/bootstrap4-modal-fullscreen.min.css")" />
|
||||
@@ -109,6 +109,16 @@
|
||||
this.inputList = inputList;
|
||||
}
|
||||
|
||||
clearInputList() {
|
||||
if(this.inputList === null || this.inputList === undefined) {
|
||||
this.inputList = [];
|
||||
}
|
||||
|
||||
this.inputList.length = 0;
|
||||
|
||||
localStorage.setItem(this.id, JSON.stringify(this));
|
||||
}
|
||||
|
||||
removeItemById(id) {
|
||||
const newInputList = [];
|
||||
|
||||
@@ -162,7 +172,11 @@
|
||||
}
|
||||
|
||||
getItemById(id) {
|
||||
return this.inputList.find((element) => element.inputId === id);
|
||||
const item = this.inputList.find((element) => element.inputId === id);
|
||||
|
||||
logInfo3(`Element: ${id}; Wert: ${item.inputValue}; Typ: ${item.inputType}`);
|
||||
|
||||
return item;
|
||||
}
|
||||
|
||||
getItemsByName(name) {
|
||||
@@ -329,6 +343,16 @@
|
||||
}
|
||||
});
|
||||
|
||||
function toggleRestoreButton() {
|
||||
const state = !window.getRestoreButtonState();
|
||||
|
||||
if($(".bewo-restore-btn").length > 0) {
|
||||
$(".bewo-restore-btn").each(function(index, item) {
|
||||
$(this).prop("disabled", state);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
$(window).resize(function () {
|
||||
$.each($("canvas"), function(index, canvasElement) {
|
||||
updateCanvasSize($(canvasElement));
|
||||
@@ -423,14 +447,6 @@
|
||||
return Math.max.apply(Math, $(`.${elementClassName}`).map(function () { return $(this).height(); }).get());
|
||||
}
|
||||
|
||||
function toggleMultiBookingForm(shouldDisable) {
|
||||
$("#multi-booking-employees-button, #category-select, #leistung-select, " +
|
||||
"#mb-start-date-input, #mb-end-date-input, #mb-start-time-input, #mb-end-time-input, #mb-duration-input, " +
|
||||
"#mb-distance-input, textarea, #mb-reset-button, #mb-create-button, " +
|
||||
".mb-restore-btn, " +
|
||||
"#mb-textbausteine-button, #mb-hours-minutes-dropdown-btn, #mb-marker-cb").prop("disabled", shouldDisable);
|
||||
}
|
||||
|
||||
@* Eingabenwiederherstellung *@
|
||||
|
||||
function getLocalStorageKey() {
|
||||
@@ -455,23 +471,43 @@
|
||||
return beWoStorage;
|
||||
}
|
||||
|
||||
window.addEventListener("load", function() {
|
||||
$("textarea, select, input").on("change", function() {
|
||||
function clearLocalBeWoStorage() {
|
||||
const beWoStorage = getBeWoStorage();
|
||||
|
||||
beWoStorage.clearInputList();
|
||||
}
|
||||
|
||||
function getRestoreButtonState() {
|
||||
const beWoStorage = getBeWoStorage();
|
||||
|
||||
return beWoStorage.inputList.length > 0;
|
||||
}
|
||||
|
||||
window.addEventListener("load", function() {
|
||||
$(".booking-form-container").find("textarea, select, input").on("change", function() {
|
||||
const item = $(this);
|
||||
const id = item.attr("id");
|
||||
const type = item.prop("type");
|
||||
const value = type === "checkbox" ? item.is(":checked").toString() : item.val();
|
||||
|
||||
if(value === undefined || value === null || value.length === 0) {
|
||||
if((value === null || value === undefined) || value.length === 0) {
|
||||
logInfo2(`Element mit Id "${id}" hat ${(value !== null ? "einen leeren" : " keinen")} Wert.`);
|
||||
return;
|
||||
}
|
||||
|
||||
logInfo3(`${id}: ${value}`);
|
||||
|
||||
const name = item.prop("name");
|
||||
|
||||
const beWoStorage = getBeWoStorage();
|
||||
|
||||
beWoStorage.addInputValue(id, name, type, value, new Date());
|
||||
});
|
||||
beWoStorage.addInputValue(id, name, type, value, new Date());
|
||||
|
||||
// ToDo: Auch Hilfeplan- und Mitarbeiterauswahl berücksichtigen
|
||||
// ToDo: 28.07.2025: Hilefplan einbauen und dabei dann ein Flag setzen in TempData und dann gegebenenfalls alle anderen Felder wiederherstellen
|
||||
|
||||
toggleRestoreButton();
|
||||
});
|
||||
});
|
||||
|
||||
function restoreField(id) {
|
||||
@@ -490,8 +526,13 @@
|
||||
function restoreAllFields() {
|
||||
const beWoStorage = getBeWoStorage();
|
||||
|
||||
$.each(beWoStorage.inputList, (index, item) => {
|
||||
$(`#${item.inputId}`).val(item.inputValue);
|
||||
$.each(beWoStorage.inputList, (index, item) => {
|
||||
if (item.inputType === "checkbox") {
|
||||
$(`#${item.inputId}`).prop("checked", item.inputValue);
|
||||
} else {
|
||||
$(`#${item.inputId}`).val(item.inputValue);
|
||||
}
|
||||
|
||||
$(`#${item.inputId}`).trigger("change");
|
||||
});
|
||||
}
|
||||
@@ -532,7 +573,7 @@
|
||||
{
|
||||
<li class="nav-item">
|
||||
<button class="btn btn-link text-light no-underline" onclick="showSpinner()">
|
||||
<i class="fas fa-hand-middle-finger" style="color: #FFD9C2;"></i>
|
||||
<i class="fas fa-hammer" style="color: #FFD9C2;"></i>
|
||||
DX Kalender
|
||||
</button>
|
||||
</li>
|
||||
|
||||
Reference in New Issue
Block a user