wip: calculator adjustments

This commit is contained in:
Björn Fromme
2025-04-11 10:27:28 +02:00
parent d36827c857
commit 784c7a74d4
4 changed files with 43 additions and 5 deletions
@@ -54,6 +54,8 @@ class GroupsPriceController extends ActionController
$this->view->assign('runningCostsCHF', $this->settings['runningCostsCHF']);
$this->view->assign('undersubscriptionEUR', $this->settings['undersubscriptionEUR']);
$this->view->assign('undersubscriptionCHF', $this->settings['undersubscriptionCHF']);
$this->view->assign('undersubscriptionExtEUR', $this->settings['undersubscriptionExtEUR']);
$this->view->assign('undersubscriptionExtCHF', $this->settings['undersubscriptionExtCHF']);
$this->view->assign('countryCode', $hotel->getCountry()->getCode());
$this->view->assign('configs', json_encode(array_values($configs), JSON_HEX_APOS));
$this->view->assign('boards', json_encode($hotel->getGroupsPriceBoards()->toArray(), JSON_HEX_APOS));
@@ -35,7 +35,7 @@
<settings.undersubscriptionEUR>
<TCEforms>
<exclude>0</exclude>
<label>Unterbelegung EUR</label>
<label>Unterbelegung 30-39 Personen EUR</label>
<config>
<type>input</type>
<default>5.0</default>
@@ -46,7 +46,7 @@
<settings.undersubscriptionCHF>
<TCEforms>
<exclude>0</exclude>
<label>Unterbelegung CHF</label>
<label>Unterbelegung 30-39 Personen CHF</label>
<config>
<type>input</type>
<default>5.0</default>
@@ -54,6 +54,28 @@
</config>
</TCEforms>
</settings.undersubscriptionCHF>
<settings.undersubscriptionExtEUR>
<TCEforms>
<exclude>0</exclude>
<label>Unterbelegung 40-49 Personen EUR</label>
<config>
<type>input</type>
<default>2.5</default>
<eval>double2,required</eval>
</config>
</TCEforms>
</settings.undersubscriptionExtEUR>
<settings.undersubscriptionExtCHF>
<TCEforms>
<exclude>0</exclude>
<label>Unterbelegung 40-49 Personen CHF</label>
<config>
<type>input</type>
<default>2.5</default>
<eval>double2,required</eval>
</config>
</TCEforms>
</settings.undersubscriptionExtCHF>
</el>
</ROOT>
</sDEF>
@@ -114,8 +114,9 @@
</tr>
<tr class="odd:bg-zinc-100">
<th class="text-left py-2">Gesamtpreis</th>
<td><strong>{{ formatCurrency(priceTotal) }}</strong><br><small>zzgl. vor Ort zu entrichtender
Ortstaxe</small></td>
<td><strong>{{ formatCurrency(priceTotal) }}</strong>
<br><small>zzgl. vor Ort zu entrichtender Ortstaxe</small>
</td>
</tr>
</tbody>
</table>
@@ -299,6 +300,14 @@ export default {
type: Number,
default: 5.0,
},
undersubscriptionExtEur: {
type: Number,
default: 2.5,
},
undersubscriptionExtChf: {
type: Number,
default: 2.5,
},
countryCode: {
type: String,
required: true
@@ -505,9 +514,12 @@ export default {
}
}
}
if (this.selectedBoard && this.selectedPax < 50) {
if (this.selectedBoard && this.selectedPax < 40) {
undersubscription.EUR = this.selectedPax * this.undersubscriptionEur * this.selectedRange.length
undersubscription.CHF = this.selectedPax * this.undersubscriptionChf * this.selectedRange.length
} else if (this.selectedBoard && this.selectedPax < 50) {
undersubscription.EUR = this.selectedPax * this.undersubscriptionExtEur * this.selectedRange.length
undersubscription.CHF = this.selectedPax * this.undersubscriptionExtChf * this.selectedRange.length
}
return {base, additional, undersubscription}
@@ -17,6 +17,8 @@
running-costs-factor-chf="{runningCostsCHF}"
undersubscription-eur="{undersubscriptionEUR}"
undersubscription-chf="{undersubscriptionCHF}"
undersubscription-ext-eur="{undersubscriptionExtEUR}"
undersubscription-ext-chf="{undersubscriptionExtCHF}"
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')}"