Termine werden beim Anlegen und Bearbeiten auf Überschneidungen geprüft und es wird gewarnt, wenn dem so ist. Das Unterschriftenfeld hat jetzt eine Breite von 90% des Browsers.
129 lines
4.4 KiB
JavaScript
129 lines
4.4 KiB
JavaScript
function resetInsertAppointmentForm() {
|
|
$.get(getResetSelectedAppointmentUrl());
|
|
|
|
$("#scheduler-start-time, #scheduler-end-time, #subject, #location, #notice").val("");
|
|
|
|
$("#scheduler-start-date, #scheduler-end-date").val(moment().format("DD.MM.YYYY"));
|
|
}
|
|
|
|
function submitInsertAppointmentForm() {
|
|
showSpinner();
|
|
validateAppointmentForm();
|
|
}
|
|
|
|
function submitSchedulerDateForm() {
|
|
showSpinner();
|
|
$("#scheduler-date-form").submit();
|
|
}
|
|
|
|
function validateAppointmentForm() {
|
|
var startTimePicker = $("#scheduler-start-time-picker");
|
|
var startDatePicker = $("#scheduler-start-date-picker");
|
|
var endTimePicker = $("#scheduler-end-time-picker");
|
|
var endDatePicker = $("#scheduler-end-date-picker");
|
|
|
|
var isStartTimeInputEmpty = isEmptyOrSpaces($("#scheduler-start-time").val());
|
|
var isEndTimeInputEmpty = isEmptyOrSpaces($("#scheduler-end-time").val());
|
|
var isStartDateInputEmpty = isEmptyOrSpaces($("#scheduler-start-date").val());
|
|
var isEndDateInputEmpty = isEmptyOrSpaces($("#scheduler-end-date").val());
|
|
|
|
startTimePicker.datetimepicker("show");
|
|
startTimePicker.datetimepicker("hide");
|
|
|
|
startDatePicker.datetimepicker("show");
|
|
startDatePicker.datetimepicker("hide");
|
|
|
|
endTimePicker.datetimepicker("show");
|
|
endTimePicker.datetimepicker("hide");
|
|
|
|
endDatePicker.datetimepicker("show");
|
|
endDatePicker.datetimepicker("hide");
|
|
|
|
var startTime = startTimePicker.datetimepicker("date");
|
|
var endTime = endTimePicker.datetimepicker("date");
|
|
var startDate = startDatePicker.datetimepicker("date");
|
|
var endDate = endDatePicker.datetimepicker("date");
|
|
|
|
var a = startDate === undefined || startDate === null || !startDate.isValid();
|
|
var b = endDate === undefined || endDate === null || !endDate.isValid();
|
|
var c = startTime === undefined || startTime === null || !startTime.isValid();
|
|
var d = endTime === undefined || endTime === null || !endTime.isValid();
|
|
|
|
if(a || b || c || d || isStartDateInputEmpty || isStartTimeInputEmpty || isEndTimeInputEmpty || isEndDateInputEmpty) {
|
|
|
|
hideSpinner();
|
|
$("#messagePopup .modal-body").html('<div class="alert alert-danger" role="alert">Die Zeit- und/oder Datumsangaben sind nicht korrekt.</div>');
|
|
showMessagePopup("Fehler");
|
|
$("#scheduler-start-time, #scheduler-end-time").val("");
|
|
return;
|
|
}
|
|
|
|
if(endDate.isValid() === false) {
|
|
endDate = startDate.clone();
|
|
}
|
|
|
|
startDate = startDate.hours(startTime.hours());
|
|
startDate = startDate.minutes(startTime.minutes());
|
|
|
|
endDate = endDate.hours(endTime.hours());
|
|
endDate = endDate.minutes(endTime.minutes());
|
|
|
|
if(endDate.isBefore(startDate)) {
|
|
hideSpinner();
|
|
$("#messagePopup .modal-body").html('<div class="alert alert-danger" role="alert">Das Startdatum muss vor dem Enddatum liegen.</div>');
|
|
showMessagePopup("Fehler");
|
|
return;
|
|
}
|
|
|
|
$.get(
|
|
getCheckForOverlappingAppointmentsUrl(),
|
|
{
|
|
startDateRaw: startDate.format("DD.MM.YYYY"),
|
|
endDateRaw: endDate.format("DD.MM.YYYY"),
|
|
startTimeRaw: startDate.format("HH:mm"),
|
|
endTimeRaw: endDate.format("HH:mm")
|
|
}
|
|
).done(function(result) {
|
|
var isOverlapping = $.parseJSON(result);
|
|
|
|
if(isOverlapping === true) {
|
|
hideSpinner();
|
|
$("#messagePopup .modal-body").html('<div class="alert alert-warning" role="alert">Dieser Termin überschneidet sich mit einem anderen bereits existierenden Termin.<br/> Möchten Sie ihn wirklich speichern?</div>');
|
|
showMessagePopupWithCallback("Überschneidung",
|
|
null,
|
|
function() {
|
|
$("#messagePopup .modal-body").html();
|
|
showSpinner();
|
|
$("#insert-appointment-form").submit();
|
|
});
|
|
} else {
|
|
$("#insert-appointment-form").submit();
|
|
}
|
|
});
|
|
}
|
|
|
|
function toggleFormVisibility() {
|
|
if($("#form-toggle-button").css("display") === "none") {
|
|
showAppointmentForm();
|
|
} else {
|
|
hideAppointmentForm();
|
|
}
|
|
}
|
|
|
|
function hideAppointmentForm() {
|
|
$("#form-container").collapse("hide");
|
|
}
|
|
|
|
function showAppointmentForm() {
|
|
$("#form-container").collapse("show");
|
|
}
|
|
|
|
function toggleAppointmentForm() {
|
|
var isVisible = $("#form-container").css("display") === "block";
|
|
|
|
if (isVisible) {
|
|
hideAppointmentForm();
|
|
} else {
|
|
showAppointmentForm();
|
|
}
|
|
} |