fix: don't re-upload images for already-synced variants
Pre-fill image field only for NEW variants. Already-synced variants get an empty image field — existing WC image is kept unless the user actively uploads a new one in the wizard. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -51,6 +51,13 @@ class WooVariantPushWizard(models.TransientModel):
|
|||||||
variant.product_template_attribute_value_ids.mapped('name')
|
variant.product_template_attribute_value_ids.mapped('name')
|
||||||
)
|
)
|
||||||
is_first = len(lines) == 0
|
is_first = len(lines) == 0
|
||||||
|
# For already-synced variants, don't pre-fill image
|
||||||
|
# (to avoid re-uploading the same image on every sync)
|
||||||
|
# User can upload a new image if they want to change it
|
||||||
|
pre_image = False
|
||||||
|
if not already_mapped:
|
||||||
|
pre_image = variant.image_variant_1920 or variant.image_1920 or False
|
||||||
|
|
||||||
lines.append((0, 0, {
|
lines.append((0, 0, {
|
||||||
'product_id': variant.id,
|
'product_id': variant.id,
|
||||||
'variant_name': variant.display_name,
|
'variant_name': variant.display_name,
|
||||||
@@ -59,7 +66,7 @@ class WooVariantPushWizard(models.TransientModel):
|
|||||||
'regular_price': already_mapped.woo_regular_price if already_mapped else variant.list_price,
|
'regular_price': already_mapped.woo_regular_price if already_mapped else variant.list_price,
|
||||||
'sale_price': already_mapped.woo_sale_price if already_mapped else 0.0,
|
'sale_price': already_mapped.woo_sale_price if already_mapped else 0.0,
|
||||||
'cost_price': variant.standard_price,
|
'cost_price': variant.standard_price,
|
||||||
'image': variant.image_variant_1920 or variant.image_1920 or False,
|
'image': pre_image,
|
||||||
'include': True,
|
'include': True,
|
||||||
'is_default': is_first,
|
'is_default': is_first,
|
||||||
'already_synced': bool(already_mapped),
|
'already_synced': bool(already_mapped),
|
||||||
|
|||||||
Reference in New Issue
Block a user