diff --git a/web/typo3conf/ext/ep_theme/Resources/Private/Assets/js/components/DateSelect.vue b/web/typo3conf/ext/ep_theme/Resources/Private/Assets/js/components/DateSelect.vue
index d69e61ec..6f6a0946 100644
--- a/web/typo3conf/ext/ep_theme/Resources/Private/Assets/js/components/DateSelect.vue
+++ b/web/typo3conf/ext/ep_theme/Resources/Private/Assets/js/components/DateSelect.vue
@@ -24,7 +24,7 @@
| {{ row.label }} |
- ab {{ calculatePrice(row.code, selectedNumberOfDays) }} € |
+ ab {{ calculatePrice(row.code) }} € |
{
return obj.code === roomCode;
});
if (room) {
+ const nights = this.getSelectedNumberOfNights();
return room.price + (nights - room.minNights) * room.additionalNightPrice;
}
return null;
+ },
+ getMinNightsForSelectedDate () {
+ if (this.selectedFrom === null) {
+ return 0;
+ }
+ const key = this.selectedFrom.format('YYYY-MM-DD');
+ if (!key in this.availableDates) {
+ return 0;
+ }
+ return this.availableDates[key].minNights;
+ },
+ getSelectedNumberOfNights () {
+ if (this.selectedFrom === null || this.selectedTo === null) {
+ return 0;
+ }
+
+ return this.selectedTo.diff(this.selectedFrom, 'days');
}
},
mounted () {
@@ -229,14 +232,16 @@
if (selectedDates.length === 2) {
this.selectedFrom = dayjs(selectedDates[0]);
this.selectedTo = dayjs(selectedDates[1]);
- if (this.selectedNumberOfDays >= this.minNightsForSelectedDate) {
+ this.selectedNumberOfNights = this.getSelectedNumberOfNights();
+ this.minNightsForSelectedDate = this.getMinNightsForSelectedDate();
+ if (this.selectedNumberOfNights >= this.minNightsForSelectedDate) {
this.fetchAvailableRooms();
}
}
},
onDayCreate: (dObj, dStr, fp, dayElem) => {
- const day = dayElem.dateObj.getFullYear() + "-" + ("0" + dayElem.dateObj.getMonth()).slice(-2)
- + "-" + ("0"+(dayElem.dateObj.getDate()+1)).slice(-2);
+ const day = dayElem.dateObj.getFullYear() + "-" + ("0" + (dayElem.dateObj.getMonth()+1)).slice(-2)
+ + "-" + ("0" + dayElem.dateObj.getDate()).slice(-2);
if (day in this.availableDates) {
dayElem.classList.add('available');
}
|