From 80b7d3d6201596265533c52875f4351aec04c8fe Mon Sep 17 00:00:00 2001 From: gsinghpal Date: Tue, 31 Mar 2026 22:39:50 -0400 Subject: [PATCH] =?UTF-8?q?fix:=20OWL=20template=20error=20=E2=80=94=20Num?= =?UTF-8?q?ber()=20not=20available=20in=20template=20context?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Use a formatPrice() method on the component instead of calling Number() directly in the OWL template. Fixes TypeError: ctx.Number is not a function. Co-Authored-By: Claude Opus 4.6 (1M context) --- .../static/src/js/product_mapping.js | 11 +++++++++++ .../static/src/xml/product_mapping.xml | 10 ++-------- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/fusion-woo-odoo/fusion_woocommerce/static/src/js/product_mapping.js b/fusion-woo-odoo/fusion_woocommerce/static/src/js/product_mapping.js index d11d7e97..951a932f 100644 --- a/fusion-woo-odoo/fusion_woocommerce/static/src/js/product_mapping.js +++ b/fusion-woo-odoo/fusion_woocommerce/static/src/js/product_mapping.js @@ -187,6 +187,17 @@ export class ProductMapping extends Component { } } + // ------------------------------------------------------------------------- + // Helpers + // ------------------------------------------------------------------------- + + formatPrice(val) { + if (val === null || val === undefined || val === false) return "—"; + const n = parseFloat(val); + if (isNaN(n)) return "—"; + return "$" + n.toFixed(2); + } + // ------------------------------------------------------------------------- // Tab handlers // ------------------------------------------------------------------------- diff --git a/fusion-woo-odoo/fusion_woocommerce/static/src/xml/product_mapping.xml b/fusion-woo-odoo/fusion_woocommerce/static/src/xml/product_mapping.xml index d1fa43e6..c90edf99 100644 --- a/fusion-woo-odoo/fusion_woocommerce/static/src/xml/product_mapping.xml +++ b/fusion-woo-odoo/fusion_woocommerce/static/src/xml/product_mapping.xml @@ -152,14 +152,8 @@ - - $ - - - - $ - - + +