From 71dea1f91bae4116a8f26827ba3c0850cadd1c71 Mon Sep 17 00:00:00 2001 From: gsinghpal Date: Wed, 1 Apr 2026 18:39:13 -0400 Subject: [PATCH] =?UTF-8?q?fix:=20remove=20readonly=20from=20variant=20lin?= =?UTF-8?q?e=20model=20=E2=80=94=20use=20force=5Fsave=20in=20view?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Odoo web client strips readonly field values during record creation, so already_synced/wc_variation_id/map_id were always NULL. Removed readonly from Python model, added force_save="1" in XML view to ensure these tracking fields are persisted through the wizard lifecycle. Co-Authored-By: Claude Opus 4.6 (1M context) --- .../fusion_woocommerce/wizard/woo_variant_push.py | 10 +++++----- .../wizard/woo_variant_push_views.xml | 13 +++++++------ 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/fusion-woo-odoo/fusion_woocommerce/wizard/woo_variant_push.py b/fusion-woo-odoo/fusion_woocommerce/wizard/woo_variant_push.py index ebefdb51..964dda24 100644 --- a/fusion-woo-odoo/fusion_woocommerce/wizard/woo_variant_push.py +++ b/fusion-woo-odoo/fusion_woocommerce/wizard/woo_variant_push.py @@ -340,15 +340,15 @@ class WooVariantPushLine(models.TransientModel): _description = 'Variant Push Line' wizard_id = fields.Many2one('woo.variant.push.wizard', ondelete='cascade') - product_id = fields.Many2one('product.product', string='Variant', readonly=True) - variant_name = fields.Char(string='Variant', readonly=True) - attribute_values = fields.Char(string='Attributes', readonly=True) + product_id = fields.Many2one('product.product', string='Variant') + variant_name = fields.Char(string='Variant') + attribute_values = fields.Char(string='Attributes') sku = fields.Char(string='SKU') regular_price = fields.Float(string='Standard Price', digits='Product Price') sale_price = fields.Float(string='Sale Price', digits='Product Price') cost_price = fields.Float(string='Cost', digits='Product Price') image = fields.Binary(string='Image') include = fields.Boolean(string='Include', default=True) - already_synced = fields.Boolean(string='Already Synced', readonly=True) - wc_variation_id = fields.Integer(string='WC Variation ID', readonly=True) + already_synced = fields.Boolean(string='Already Synced') + wc_variation_id = fields.Integer(string='WC Variation ID') map_id = fields.Integer(string='Map Record ID') diff --git a/fusion-woo-odoo/fusion_woocommerce/wizard/woo_variant_push_views.xml b/fusion-woo-odoo/fusion_woocommerce/wizard/woo_variant_push_views.xml index b912ddc0..09f2eca6 100644 --- a/fusion-woo-odoo/fusion_woocommerce/wizard/woo_variant_push_views.xml +++ b/fusion-woo-odoo/fusion_woocommerce/wizard/woo_variant_push_views.xml @@ -30,16 +30,17 @@ - - + + + - + - - + + +