[FIX] l10n_es_pos: handle missing partner in the ReceiptHeader template
Currently, if you have Spanish POS installed and create a Cash In/Out, you are met with an error. Steps to reproduce ------------------ * install `l10n_es_pos` * start a POS session * click on the hamburger button in the top-right corner > Cash In/Out * add any amount and confirm You should be met with an error. Fix --- At first glance, the original condition: ``` partner?.id !== props.data.simplified_partner_id ``` and the revised condition: ``` partner && partner.id !== props.data.simplified_partner_id ``` might seem equivalent. However, they behave differently when `partner` is `null` or `undefined`. In the original condition, the optional chaining operator evaluates to `undefined`, leading to the following `undefined !== props.data.simplified_partner_id` (which is most likely true). The revised condition will shorcircuit when `partner` is falsy, ensuring that the code only executes when `partner` is a truthy object. opw-3667287 closes odoo/odoo#148688 Signed-off-by: John Laterre (jol) <jol@odoo.com>
This commit is contained in:
+1
-1
@@ -16,7 +16,7 @@
|
||||
</xpath>
|
||||
<xpath expr="//div[hasclass('pos-receipt-contact')]" position="inside">
|
||||
<t t-set="partner" t-value="props.data.partner"/>
|
||||
<t t-if="props.data.is_spanish and partner?.id !== props.data.simplified_partner_id">
|
||||
<t t-if="props.data.is_spanish and partner and partner.id !== props.data.simplified_partner_id">
|
||||
<div>Customer: <t t-esc="partner.name" /></div>
|
||||
<div t-if="partner.vat"><t t-esc="props.data.company.country?.vat_label || 'Tax ID'"/>: <t t-esc="partner.vat" /></div>
|
||||
<div t-if="partner.address" t-esc="partner.address"/>
|
||||
|
||||
Reference in New Issue
Block a user