From 842832cc4150d054eb2c3fd648a797c5a7933236 Mon Sep 17 00:00:00 2001 From: gsinghpal Date: Wed, 1 Apr 2026 18:33:50 -0400 Subject: [PATCH] fix: filter inactive/attributeless variants from push wizard Archived variants (active=False) and variants with no attribute values were being included, causing WC 400 errors. Now only active variants with attribute assignments are shown and pushed. Co-Authored-By: Claude Opus 4.6 (1M context) --- .../fusion_woocommerce/wizard/woo_variant_push.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 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 3e69a5da..ebefdb51 100644 --- a/fusion-woo-odoo/fusion_woocommerce/wizard/woo_variant_push.py +++ b/fusion-woo-odoo/fusion_woocommerce/wizard/woo_variant_push.py @@ -35,9 +35,12 @@ class WooVariantPushWizard(models.TransientModel): res['product_name'] = tmpl.name res['woo_product_id'] = pm.woo_product_id - # Populate variant lines + # Populate variant lines — only active variants with attribute values lines = [] - for variant in tmpl.product_variant_ids: + active_variants = tmpl.product_variant_ids.filtered( + lambda v: v.active and v.product_template_attribute_value_ids + ) + for variant in active_variants: already_mapped = self.env['woo.product.map'].search([ ('instance_id', '=', pm.instance_id.id), ('product_id', '=', variant.id),