feat: configurable main season for groups price calculator

This commit is contained in:
Björn Fromme
2025-02-26 15:10:49 +01:00
parent b1ddf46500
commit 5c1b2bf245
7 changed files with 97 additions and 8 deletions
@@ -8,7 +8,10 @@
<input type="text"
class="form-field"
placeholder="von... bis" ref="picker"/>
<p class="text-sm italic"
<p class="text-sm mt-2" v-if="mainSeasonFrom && mainSeasonTo">
in der Hauptsaison {{ mainSeasonFrom }}-{{ mainSeasonTo }} mind. {{ minBookingDays }} Tage
</p>
<p class="text-sm italic mt-2"
v-show="nightsCount === 1">
Einzelne Nächte sind nur auf Anfrage buchbar
</p>
@@ -326,6 +329,18 @@ export default {
]
}
},
mainSeasonFrom: {
type: String,
default: null,
},
mainSeasonTo: {
type: String,
default: null,
},
minBookingDays: {
type: Number,
default: 5,
},
},
data() {
return {
@@ -356,10 +371,12 @@ export default {
},
methods: {
formatCurrency({ EUR, CHF }) {
let price = parseFloat(EUR).toFixed(2).replace(/\./, ',') + ' €'
let price
if ('CH' === this.countryCode && 0 < CHF) {
price += `/${parseFloat(CHF).toFixed(2).replace(/\./, ',')} CHF`
price = `${parseFloat(CHF).toFixed(2).replace(/\./, ',')} CHF`
} else {
price = parseFloat(EUR).toFixed(2).replace(/\./, ',') + ' €'
}
return price
@@ -20,8 +20,10 @@
country-code="{countryCode}"
endpoint="{ep:uri.ajax(action: 'processForm', controller: 'AjaxGroupsPrice', pageUid: settings.defaultAjaxUid, arguments: '{hotel: hotel}')}"
loader-uri="{f:uri.image(src: 'EXT:ep_theme/Resources/Public/images/ajax-loader-white.gif')}"
logo-at="{f:uri.image(src: 'fileadmin/user_upload/Logos_Banner/Alpinevacation.jpg')}"
logo-ch="{f:uri.image(src: 'fileadmin/user_upload/Logos_Banner/Cllt_Touristik_frei_gestellt.jpg')}"
logo-ch="{f:uri.image(src: 'fileadmin/user_upload/Logos_Banner/Alpinevacation.jpg')}"
logo-at="{f:uri.image(src: 'fileadmin/user_upload/Logos_Banner/Cllt_Touristik_frei_gestellt.jpg')}"
main-season-from="{mainSeasonFrom}"
main-season-to="{mainSeasonTo}"
>
</groups-price-calculator>
</f:format.raw>