New DateRangePicker

This commit is contained in:
Kevin Adametz 2023-01-25 12:43:22 +01:00
parent faa508b4ca
commit 81e42b76f5
12 changed files with 398 additions and 88 deletions

View file

@ -19,10 +19,13 @@
<div class="form-group"> <div class="form-group">
<label class="st-required control-label required">Datum</label> <label class="st-required control-label required">Datum</label>
<div class="input-daterange input-group" id="date-range"> <input type="text" id="fewo_booking_request_datepicker" name="fewo_booking_request_datepicker" required="required" class="form-control" placeholder="dd.mm.yyyy bis dd.mm.yyyy" value="">
{{ form_widget(form.fromDate) }} <div class="hidden">
<span class="input-group-addon bg-info b-0 text-white">bis</span> <div class="input-daterange input-group" id="date-range">
{{ form_widget(form.toDate) }} {{ form_widget(form.fromDate) }}
<span class="input-group-addon bg-info b-0 text-white">bis</span>
{{ form_widget(form.toDate) }}
</div>
</div> </div>
</div> </div>
@ -108,14 +111,15 @@
var maxDate = "{{ lastSeason.toDate|date('d-m-y') }}"; var maxDate = "{{ lastSeason.toDate|date('d-m-y') }}";
$('#appbundle_feworeservation_fromDate, #appbundle_feworeservation_toDate').daterangepicker({
$('#fewo_booking_request_datepicker').daterangepicker({
isInvalidDate: checkDates, isInvalidDate: checkDates,
isCustomDate: checkCustom, isCustomDate: checkCustom,
"minDate": moment(), "minDate": moment(),
"maxDate": maxDate, "maxDate": maxDate,
"timePickerSeconds": true, "timePickerSeconds": true,
"locale": { "locale": {
"format": "DD.MM.YYYY", "format": "DD.MM.YYYY",
"separator": " - ", "separator": " - ",
@ -151,35 +155,40 @@
"firstDay": 1 "firstDay": 1
}, },
autoApply: true, autoApply: true,
autoUpdateInput: false, autoUpdateInput: true,
singleDatePicker: false,
alwaysShowCalendars: true,
"startDate": startDate, "startDate": startDate,
"endDate": endDate, "endDate": endDate,
allowInput: true,
}, function(start, end, label) { }, function(start, end, label) {
console.log(start);
// console.log("New date range selected: ' + start.format('YYYY-MM-DD') + ' to ' + end.format('YYYY-MM-DD') + ' (predefined range: ' + label + ')"); // console.log('New date range selected: ' + start.format('YYYY-MM-DD') + ' to ' + end.format('YYYY-MM-DD') + ' (predefined range: ' + label + ')');
// Lets update the fields manually this event fires on selection of range // Lets update the fields manually this event fires on selection of range
var selectedStartDate = start.format('DD.MM.YYYY'); // selected start var selectedStartDate = start.format('DD.MM.YYYY'); // selected start
var selectedEndDate = end.format('DD.MM.YYYY'); // selected end var selectedEndDate = end.format('DD.MM.YYYY'); // selected end
$checkinInput = $('#appbundle_feworeservation_fromDate'); $checkinInput = $('#appbundle_feworeservation_fromDate');
$checkoutInput = $('#appbundle_feworeservation_toDate'); $checkoutInput = $('#appbundle_feworeservation_toDate');
// Updating Fields with selected dates // Updating Fields with selected dates
$checkinInput.val(selectedStartDate); $checkinInput.val(selectedStartDate);
$checkoutInput.val(selectedEndDate); $checkoutInput.val(selectedEndDate);
/*
// Setting the Selection of dates on calender on CHECKOUT FIELD (To get this it must be binded by Ids not Calss) // Setting the Selection of dates on calender on CHECKOUT FIELD (To get this it must be binded by Ids not Calss)
var checkOutPicker = $checkoutInput.data('daterangepicker'); var checkOutPicker = $checkoutInput.data('daterangepicker');
checkOutPicker.setStartDate(selectedStartDate); checkOutPicker.setStartDate(selectedStartDate);
checkOutPicker.setEndDate(selectedEndDate); checkOutPicker.setEndDate(selectedEndDate);
// Setting the Selection of dates on calender on CHECKIN FIELD (To get this it must be binded by Ids not Calss) // Setting the Selection of dates on calender on CHECKIN FIELD (To get this it must be binded by Ids not Calss)
var checkInPicker = $checkinInput.data('daterangepicker'); var checkInPicker = $checkinInput.data('daterangepicker');
checkInPicker.setStartDate(selectedStartDate); checkInPicker.setStartDate(selectedStartDate);
checkInPicker.setEndDate(selectedEndDate); checkInPicker.setEndDate(selectedEndDate);
*/
}); });
$('#appbundle_feworeservation_fromDate, #appbundle_feworeservation_toDate').on('show.daterangepicker', function(ev, picker) { $('#appbundle_feworeservation_fromDate, #appbundle_feworeservation_toDate').on('show.daterangepicker', function(ev, picker) {
console.log(picker.startDate.format('YYYY-MM-DD')); console.log(picker.startDate.format('YYYY-MM-DD'));
console.log(picker.endDate.format('YYYY-MM-DD')); console.log(picker.endDate.format('YYYY-MM-DD'));

View file

@ -19,10 +19,14 @@
<div class="form-group"> <div class="form-group">
<label class="st-required control-label required">Datum</label> <label class="st-required control-label required">Datum</label>
<div class="input-daterange input-group" id="date-range"> <input type="text" id="fewo_booking_request_datepicker" name="fewo_booking_request_datepicker" required="required" class="form-control" placeholder="dd.mm.yyyy bis dd.mm.yyyy" value="">
{{ form_widget(form.fromDate) }}
<span class="input-group-addon bg-info b-0 text-white">bis</span> <div class="hidden">
{{ form_widget(form.toDate) }} <div class="input-daterange input-group" id="date-range">
{{ form_widget(form.fromDate) }}
<span class="input-group-addon bg-info b-0 text-white">bis</span>
{{ form_widget(form.toDate) }}
</div>
</div> </div>
</div> </div>
@ -103,14 +107,12 @@
var maxDate = "{{ lastSeason.toDate|date('d-m-y') }}"; var maxDate = "{{ lastSeason.toDate|date('d-m-y') }}";
$('#appbundle_feworeservation_fromDate, #appbundle_feworeservation_toDate').daterangepicker({ $('#fewo_booking_request_datepicker').daterangepicker({
isInvalidDate: checkDates, isInvalidDate: checkDates,
isCustomDate: checkCustom, isCustomDate: checkCustom,
"minDate": moment(), "minDate": moment(),
"maxDate": maxDate, "maxDate": maxDate,
"timePickerSeconds": true, "timePickerSeconds": true,
"locale": { "locale": {
"format": "DD.MM.YYYY", "format": "DD.MM.YYYY",
"separator": " - ", "separator": " - ",
@ -146,33 +148,37 @@
"firstDay": 1 "firstDay": 1
}, },
autoApply: true, autoApply: true,
autoUpdateInput: false, autoUpdateInput: true,
singleDatePicker: false,
alwaysShowCalendars: true,
"startDate": startDate, "startDate": startDate,
"endDate": endDate, "endDate": endDate,
allowInput: true,
}, function(start, end, label) { }, function(start, end, label) {
console.log(start);
// console.log("New date range selected: ' + start.format('YYYY-MM-DD') + ' to ' + end.format('YYYY-MM-DD') + ' (predefined range: ' + label + ')"); // console.log('New date range selected: ' + start.format('YYYY-MM-DD') + ' to ' + end.format('YYYY-MM-DD') + ' (predefined range: ' + label + ')');
// Lets update the fields manually this event fires on selection of range // Lets update the fields manually this event fires on selection of range
var selectedStartDate = start.format('DD.MM.YYYY'); // selected start var selectedStartDate = start.format('DD.MM.YYYY'); // selected start
var selectedEndDate = end.format('DD.MM.YYYY'); // selected end var selectedEndDate = end.format('DD.MM.YYYY'); // selected end
$checkinInput = $('#appbundle_feworeservation_fromDate'); $checkinInput = $('#appbundle_feworeservation_fromDate');
$checkoutInput = $('#appbundle_feworeservation_toDate'); $checkoutInput = $('#appbundle_feworeservation_toDate');
// Updating Fields with selected dates // Updating Fields with selected dates
$checkinInput.val(selectedStartDate); $checkinInput.val(selectedStartDate);
$checkoutInput.val(selectedEndDate); $checkoutInput.val(selectedEndDate);
/*
// Setting the Selection of dates on calender on CHECKOUT FIELD (To get this it must be binded by Ids not Calss) // Setting the Selection of dates on calender on CHECKOUT FIELD (To get this it must be binded by Ids not Calss)
var checkOutPicker = $checkoutInput.data('daterangepicker'); var checkOutPicker = $checkoutInput.data('daterangepicker');
checkOutPicker.setStartDate(selectedStartDate); checkOutPicker.setStartDate(selectedStartDate);
checkOutPicker.setEndDate(selectedEndDate); checkOutPicker.setEndDate(selectedEndDate);
// Setting the Selection of dates on calender on CHECKIN FIELD (To get this it must be binded by Ids not Calss) // Setting the Selection of dates on calender on CHECKIN FIELD (To get this it must be binded by Ids not Calss)
var checkInPicker = $checkinInput.data('daterangepicker'); var checkInPicker = $checkinInput.data('daterangepicker');
checkInPicker.setStartDate(selectedStartDate); checkInPicker.setStartDate(selectedStartDate);
checkInPicker.setEndDate(selectedEndDate); checkInPicker.setEndDate(selectedEndDate);
*/
}); });
$('#appbundle_feworeservation_fromDate, #appbundle_feworeservation_toDate').on('show.daterangepicker', function(ev, picker) { $('#appbundle_feworeservation_fromDate, #appbundle_feworeservation_toDate').on('show.daterangepicker', function(ev, picker) {

View file

@ -284,9 +284,10 @@
</div> </div>
</div> </div>
<p> <p>
{{ getContextBySlug('gewuenschte-zahlungsart') }} {% if(travel_program.paymentConditions != "") %}
{% if(travel_program.category.id != 1) %} {{ travel_program.paymentConditions|raw }}
{{ getContextBySlug('abweichende-anzahlungsbedingungen') }} {% else %}
{{ getContextBySlug('anzahlungsbedingungen') }}
{% endif %} {% endif %}
</p> </p>
</div> </div>

View file

@ -62,14 +62,20 @@
<tr> <tr>
<td><label class="st-required control-label required">Datum</label></td> <td><label class="st-required control-label required">Datum</label></td>
<td style="white-space: normal;"> <td style="white-space: normal;">
<div class="form-group" style="margin-bottom:0;"> <div class="row margin-bottom:0;">
<div class="form-group col-xs-12 col-md-6" style="margin-bottom:0;">
<input type="text" id="fewo_booking_request_datepicker" name="fewo_booking_request_datepicker" required="required" class="form-control" placeholder="dd.mm.yyyy bis dd.mm.yyyy" value="">
</div>
</div>
<div class="form-group hidden" style="margin-bottom:0;">
<div class="input-daterange input-group" id="date-range"> <div class="input-daterange input-group" id="date-range">
{{ form_widget(form.fromDate) }} {{ form_widget(form.fromDate) }}
<span class="input-group-addon bg-info b-0 text-white">bis</span> <span class="input-group-addon bg-info b-0 text-white">bis</span>
{{ form_widget(form.toDate) }} {{ form_widget(form.toDate) }}
</div> </div>
</div> </div>
<div class="small alert alert-success" style="margin-bottom: 0; padding-top: 6px; padding-bottom: 6px">Bei Datumsänderung, erst immer das Anreisedatum, dann das Abreisedatum im Kalender auswählen.</div>
<div class="small alert alert-success" style="margin-bottom: 0; padding-top: 6px; padding-bottom: 6px">Bei Datumsänderung, immer erst das Anreisedatum, dann das Abreisedatum im Kalender auswählen.</div>
</td> </td>
</tr> </tr>
<!-- <tr> <!-- <tr>

View file

@ -79,6 +79,7 @@ swiftmailer:
host: "%mailer_host%" host: "%mailer_host%"
username: "%mailer_user%" username: "%mailer_user%"
password: "%mailer_password%" password: "%mailer_password%"
encryption: 'tls'
port: 587 port: 587
auth_mode: "login" auth_mode: "login"
spool: { type: memory } spool: { type: memory }

View file

@ -6,9 +6,12 @@ parameters:
database_user: kadmin database_user: kadmin
database_password: KT32vQ7ix database_password: KT32vQ7ix
mailer_transport: smtp mailer_transport: smtp
mailer_host: w00df904.kasserver.com mailer_host: zimbra.managedemail.de
mailer_user: m0479305 mailer_user: stern@stern-tours.de
mailer_password: m4CowydxoC4dY2DB mailer_password: 13C!NlecB!Phil4beAxKl
#mailer_host: w00df904.kasserver.com
#mailer_user: m0479305
#mailer_password: m4CowydxoC4dY2DB
secret: ce1f6c5ca9688d7e0c534fac8126f839 secret: ce1f6c5ca9688d7e0c534fac8126f839
st_cache_driver: array st_cache_driver: array
locale: de_DE locale: de_DE

View file

@ -142,6 +142,13 @@ class TravelProgram
*/ */
private $htmlDescription; private $htmlDescription;
/**
* @var string
*
* @ORM\Column(name="payment_conditions", type="text", length=65535, nullable=true)
*/
private $paymentConditions;
/** /**
* @var boolean * @var boolean
* *
@ -848,6 +855,31 @@ class TravelProgram
} }
/**
* Set paymentConditions
*
* @param string $paymentConditions
*
* @return TravelProgram
*/
public function setpaymentConditions($paymentConditions)
{
$this->paymentConditions = $paymentConditions;
return $this;
}
/**
* Get paymentConditions
*
* @return string
*/
public function getpaymentConditions()
{
return $this->paymentConditions;
}
/** /**
* @param \DateTime $startDate * @param \DateTime $startDate
* @return array * @return array

View file

@ -7,7 +7,7 @@
"uuidString" : "7B4142F5-F6AB-47B4-92FD-340AF03CE426" "uuidString" : "7B4142F5-F6AB-47B4-92FD-340AF03CE426"
} }
], ],
"creatorBuild" : "34081", "creatorBuild" : "34127",
"files" : { "files" : {
"\/css\/booking.css" : { "\/css\/booking.css" : {
"aP" : 1, "aP" : 1,
@ -2041,17 +2041,6 @@
"sC" : 1, "sC" : 1,
"tS" : 0 "tS" : 0
}, },
"\/js\/fewoBooking.js" : {
"bF" : 0,
"ft" : 64,
"ma" : 0,
"mi" : 1,
"oA" : 0,
"oAP" : "\/js\/min\/fewoBooking-min.js",
"oF" : 0,
"sC" : 0,
"tS" : 0
},
"\/js\/jquery-3.1.1.js" : { "\/js\/jquery-3.1.1.js" : {
"bF" : 0, "bF" : 0,
"ft" : 64, "ft" : 64,
@ -5274,6 +5263,9 @@
"removeVariables" : 0, "removeVariables" : 0,
"safelistEntries" : [ "safelistEntries" : [
],
"skippedEntries" : [
"node_modules\/**"
] ]
}, },
"rollupContext" : "", "rollupContext" : "",
@ -5308,6 +5300,7 @@
"tsNoImplicitThis" : 0, "tsNoImplicitThis" : 0,
"tsNoImplicitUseStrict" : 0, "tsNoImplicitUseStrict" : 0,
"tsNoLib" : 0, "tsNoLib" : 0,
"tsNoPropertyAccessFromIndexSignature" : 0,
"tsNoResolve" : 0, "tsNoResolve" : 0,
"tsNoStrictGenericChecks" : 0, "tsNoStrictGenericChecks" : 0,
"tsNoUncheckedIndexAccess" : 0, "tsNoUncheckedIndexAccess" : 0,

View file

@ -2,12 +2,11 @@ $(document).ready(function() {
var frm$ = $('.st-booking-form'); var frm$ = $('.st-booking-form');
var summary$ = $('.st-booking-summary'); var summary$ = $('.st-booking-summary');
var toDateDay$ = $('#fewo_booking_request_toDate_day'); var toDateDay$ = $('#fewo_booking_request_toDate_day');
var toDateMonth$ = $('#fewo_booking_request_toDate_month'); var toDateMonth$ = $('#fewo_booking_request_toDate_month');
var toDateYear$ = $('#fewo_booking_request_toDate_year'); var toDateYear$ = $('#fewo_booking_request_toDate_year');
function loadCalculationFewo(){ function loadCalculationFewo(){
var tmp = location.href.split('?'); var tmp = location.href.split('?');
var tmp2 = tmp[0].split('/'); var tmp2 = tmp[0].split('/');
@ -21,10 +20,10 @@ $(document).ready(function() {
url: url, url: url,
type: 'post', type: 'post',
data: frm$.serialize() data: frm$.serialize()
}).then(function(r) { }).then(function(r) {
summary$.html(r); summary$.html(r);
}, function() { }, function() {
summary$.html('Aufgrund eines Fehlers konnte kein Angebot ermittelt werden.'); summary$.html('Aufgrund eines Fehlers konnte kein Angebot ermittelt werden.');
}); });
@ -32,16 +31,15 @@ $(document).ready(function() {
frm$.find('input, select').change(function() { frm$.find('input, select').change(function() {
loadCalculationFewo(); loadCalculationFewo();
}); });
// var currentDate = moment().format("DD.MM.YYYY"); // var currentDate = moment().format("DD.MM.YYYY");
var startDate = $('#fewo_booking_request_fromDate').val(); var startDate = $('#fewo_booking_request_fromDate').val();
var endDate = $('#fewo_booking_request_toDate').val(); var endDate = $('#fewo_booking_request_toDate').val();
var maxDate = $('#hidden_toDate').val(); var maxDate = $('#hidden_toDate').val();
var reservationDays = JSON.parse($('#hidden_reservationDays').val()); var reservationDays = JSON.parse($('#hidden_reservationDays').val());
var customDays = JSON.parse($('#hidden_customDays').val()); var customDays = JSON.parse($('#hidden_customDays').val());
var checkDates = function (date) { var checkDates = function (date) {
var formatted = date.format('DD.MM.YYYY'); var formatted = date.format('DD.MM.YYYY');
if(reservationDays.indexOf(formatted) > -1){ if(reservationDays.indexOf(formatted) > -1){
@ -52,7 +50,7 @@ $(document).ready(function() {
} }
return false; return false;
}; };
var checkCustom = function (date) { var checkCustom = function (date) {
if (date !== false) { if (date !== false) {
var formatted = date.format('DD.MM.YYYY'); var formatted = date.format('DD.MM.YYYY');
@ -60,16 +58,15 @@ $(document).ready(function() {
return customDays[formatted]; return customDays[formatted];
} }
} }
}; };
$('#fewo_booking_request_fromDate1, #fewo_booking_request_toDate1').daterangepicker({ $('#fewo_booking_request_datepicker').daterangepicker({
isInvalidDate: checkDates, isInvalidDate: checkDates,
isCustomDate: checkCustom, isCustomDate: checkCustom,
"minDate": moment(), "minDate": moment(),
"maxDate": maxDate, "maxDate": maxDate,
"timePickerSeconds": true, "timePickerSeconds": true,
"locale": { "locale": {
"format": "DD.MM.YYYY", "format": "DD.MM.YYYY",
"separator": " - ", "separator": " - ",
@ -105,40 +102,39 @@ $(document).ready(function() {
"firstDay": 1 "firstDay": 1
}, },
autoApply: true, autoApply: true,
autoUpdateInput: false, autoUpdateInput: true,
singleDatePicker: true, singleDatePicker: false,
alwaysShowCalendars: true,
"startDate": startDate, "startDate": startDate,
"endDate": endDate, "endDate": endDate,
allowInput: true,
}, function(start, end, label) { }, function(start, end, label) {
// console.log("New date range selected: ' + start.format('YYYY-MM-DD') + ' to ' + end.format('YYYY-MM-DD') + ' (predefined range: ' + label + ')"); // console.log('New date range selected: ' + start.format('YYYY-MM-DD') + ' to ' + end.format('YYYY-MM-DD') + ' (predefined range: ' + label + ')');
// Lets update the fields manually this event fires on selection of range // Lets update the fields manually this event fires on selection of range
var selectedStartDate = start.format('DD.MM.YYYY'); // selected start var selectedStartDate = start.format('DD.MM.YYYY'); // selected start
var selectedEndDate = end.format('DD.MM.YYYY'); // selected end var selectedEndDate = end.format('DD.MM.YYYY'); // selected end
var $checkinInput = $('#fewo_booking_request_fromDate'); var $checkinInput = $('#fewo_booking_request_fromDate');
var $checkoutInput = $('#fewo_booking_request_toDate'); var $checkoutInput = $('#fewo_booking_request_toDate');
// Updating Fields with selected dates // Updating Fields with selected dates
$checkinInput.val(selectedStartDate); $checkinInput.val(selectedStartDate);
$checkoutInput.val(selectedEndDate); $checkoutInput.val(selectedEndDate);
/*
// Setting the Selection of dates on calender on CHECKOUT FIELD (To get this it must be binded by Ids not Calss) // Setting the Selection of dates on calender on CHECKOUT FIELD (To get this it must be binded by Ids not Calss)
var checkOutPicker = $checkoutInput.data('daterangepicker'); var checkOutPicker = $checkoutInput.data('daterangepicker');
checkOutPicker.setStartDate(selectedStartDate); checkOutPicker.setStartDate(selectedStartDate);
checkOutPicker.setEndDate(selectedEndDate); checkOutPicker.setEndDate(selectedEndDate);
// Setting the Selection of dates on calender on CHECKIN FIELD (To get this it must be binded by Ids not Calss) // Setting the Selection of dates on calender on CHECKIN FIELD (To get this it must be binded by Ids not Calss)
var checkInPicker = $checkinInput.data('daterangepicker'); var checkInPicker = $checkinInput.data('daterangepicker');
checkInPicker.setStartDate(selectedStartDate); checkInPicker.setStartDate(selectedStartDate);
checkInPicker.setEndDate(selectedEndDate); checkInPicker.setEndDate(selectedEndDate);
loadCalculationFewo();
});
$('#fewo_booking_request_fromDate, #fewo_booking_request_toDate').on('show.daterangepicker', function(ev, picker) {
/* console.log(picker.startDate.format('YYYY-MM-DD'));
console.log(picker.endDate.format('YYYY-MM-DD'));
*/ */
loadCalculationFewo();
}); });
});
});

103
web/js/_fewoBooking-script-min.js vendored Normal file
View file

@ -0,0 +1,103 @@
$(document).ready(function () {
var i = $(".st-booking-form"),
a = $(".st-booking-summary"),
t = $("#fewo_booking_request_toDate_day"),
e = $("#fewo_booking_request_toDate_month"),
s = $("#fewo_booking_request_toDate_year");
function h() {
var t = location.href.split("?"),
e = t[0].split("/");
e.pop();
var s = e.join("/") + "/berechne-gesamtpreis";
t[1] && (s += "?" + t[1]),
$.ajax({ url: s, type: "post", data: i.serialize() }).then(
function (t) {
a.html(t);
},
function () {
a.html(
"Aufgrund eines Fehlers konnte kein Angebot ermittelt werden."
);
}
);
}
i.find("input, select").change(function () {
h();
});
var n = $("#fewo_booking_request_fromDate").val(),
r = $("#fewo_booking_request_toDate").val(),
o = $("#hidden_toDate").val(),
l = JSON.parse($("#hidden_reservationDays").val()),
d = JSON.parse($("#hidden_customDays").val()),
c = function (t) {
var e = t.format("DD.MM.YYYY");
return (
-1 < l.indexOf(e) ||
(void 0 !== d[e] &&
-1 == d[e].indexOf("bookable") &&
-1 == d[e].indexOf("bookable-end"))
);
},
u = function (t) {
if (!1 !== t) {
var e = t.format("DD.MM.YYYY");
if (void 0 !== d[e]) return d[e];
}
};
$(
"#fewo_booking_request_fromDate, #fewo_booking_request_toDate"
).daterangepicker(
{
isInvalidDate: c,
isCustomDate: u,
minDate: moment(),
maxDate: o,
timePickerSeconds: !0,
locale: {
format: "DD.MM.YYYY",
separator: " - ",
applyLabel: "OK",
cancelLabel: "X",
fromLabel: "Von",
toLabel: "Bis",
customRangeLabel: "Custom",
weekLabel: "W",
daysOfWeek: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"],
monthNames: [
"Januar",
"Februar",
"März",
"April",
"Mai",
"Juni",
"Juli",
"August",
"September",
"Oktober",
"November",
"Dezember",
],
firstDay: 1,
},
autoApply: !0,
autoUpdateInput: !1,
startDate: n,
endDate: r,
},
function (t, e, s) {
var i = t.format("DD.MM.YYYY"),
a = e.format("DD.MM.YYYY"),
n = $("#fewo_booking_request_fromDate"),
r = $("#fewo_booking_request_toDate");
n.val(i), r.val(a);
var o = r.data("daterangepicker");
o.setStartDate(i), o.setEndDate(a);
var l = n.data("daterangepicker");
l.setStartDate(i), l.setEndDate(a), h();
}
),
$("#fewo_booking_request_fromDate, #fewo_booking_request_toDate").on(
"show.daterangepicker",
function (t, e) {}
);
});

File diff suppressed because one or more lines are too long

160
web/js/fewoBooking-script-min.js vendored Normal file
View file

@ -0,0 +1,160 @@
$(document).ready(function() {
var frm$ = $('.st-booking-form');
var summary$ = $('.st-booking-summary');
var toDateDay$ = $('#fewo_booking_request_toDate_day');
var toDateMonth$ = $('#fewo_booking_request_toDate_month');
var toDateYear$ = $('#fewo_booking_request_toDate_year');
function loadCalculationFewo(){
var tmp = location.href.split('?');
var tmp2 = tmp[0].split('/');
tmp2.pop();
var url = tmp2.join('/') + '/berechne-gesamtpreis';
if (tmp[1])
{
url += '?'+ tmp[1];
}
$.ajax({
url: url,
type: 'post',
data: frm$.serialize()
}).then(function(r) {
summary$.html(r);
}, function() {
summary$.html('Aufgrund eines Fehlers konnte kein Angebot ermittelt werden.');
});
}
frm$.find('input, select').change(function() {
loadCalculationFewo();
});
// var currentDate = moment().format("DD.MM.YYYY");
var startDate = $('#fewo_booking_request_fromDate').val();
var endDate = $('#fewo_booking_request_toDate').val();
var maxDate = $('#hidden_toDate').val();
var reservationDays = JSON.parse($('#hidden_reservationDays').val());
var customDays = JSON.parse($('#hidden_customDays').val());
var checkDates = function (date) {
var formatted = date.format('DD.MM.YYYY');
if(reservationDays.indexOf(formatted) > -1){
return true;
}
if(customDays[formatted] !== undefined && customDays[formatted].indexOf('bookable') == -1 && customDays[formatted].indexOf('bookable-end') == -1){
return true;
}
return false;
};
var checkCustom = function (date) {
if (date !== false) {
var formatted = date.format('DD.MM.YYYY');
if(customDays[formatted] !== undefined){
return customDays[formatted];
}
}
};
var $start = $('#start'),
$end = $('#end');
$start.datepicker({
onSelect: function (fd, date) {
$end.data('datepicker')
.update('minDate', date);
$end.focus();
}
})
$end.datepicker({
onSelect: function (fd, date) {
$start.data('datepicker')
.update('maxDate', date)
}
})
$('#fewo_booking_request_datepicker').daterangepicker({
isInvalidDate: checkDates,
isCustomDate: checkCustom,
"minDate": moment(),
"maxDate": maxDate,
"timePickerSeconds": true,
"locale": {
"format": "DD.MM.YYYY",
"separator": " - ",
"applyLabel": "OK",
"cancelLabel": "X",
"fromLabel": "Von",
"toLabel": "Bis",
"customRangeLabel": "Custom",
"weekLabel": "W",
"daysOfWeek": [
"So",
"Mo",
"Di",
"Mi",
"Do",
"Fr",
"Sa"
],
"monthNames": [
"Januar",
"Februar",
"März",
"April",
"Mai",
"Juni",
"Juli",
"August",
"September",
"Oktober",
"November",
"Dezember"
],
"firstDay": 1
},
autoApply: true,
autoUpdateInput: true,
singleDatePicker: false,
alwaysShowCalendars: true,
"startDate": startDate,
"endDate": endDate,
allowInput: true,
}, function(start, end, label) {
// console.log('New date range selected: ' + start.format('YYYY-MM-DD') + ' to ' + end.format('YYYY-MM-DD') + ' (predefined range: ' + label + ')');
// Lets update the fields manually this event fires on selection of range
var selectedStartDate = start.format('DD.MM.YYYY'); // selected start
var selectedEndDate = end.format('DD.MM.YYYY'); // selected end
var $checkinInput = $('#fewo_booking_request_fromDate');
var $checkoutInput = $('#fewo_booking_request_toDate');
// Updating Fields with selected dates
$checkinInput.val(selectedStartDate);
$checkoutInput.val(selectedEndDate);
/*
// Setting the Selection of dates on calender on CHECKOUT FIELD (To get this it must be binded by Ids not Calss)
var checkOutPicker = $checkoutInput.data('daterangepicker');
checkOutPicker.setStartDate(selectedStartDate);
checkOutPicker.setEndDate(selectedEndDate);
// Setting the Selection of dates on calender on CHECKIN FIELD (To get this it must be binded by Ids not Calss)
var checkInPicker = $checkinInput.data('daterangepicker');
checkInPicker.setStartDate(selectedStartDate);
checkInPicker.setEndDate(selectedEndDate);
*/
loadCalculationFewo();
});
});