changes
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Copyright 2026 Nexa Systems Inc.
|
||||
# License OPL-1 (Odoo Proprietary License v1.0)
|
||||
"""Backfill plating defaults from fp.invoice.strategy.default → res.partner.
|
||||
|
||||
v3.3 merges the per-customer invoice strategy onto the partner record
|
||||
itself so the new "Plating Defaults" tab is the single source of truth.
|
||||
Only plain columns are migrated here (invoice_strategy + deposit %).
|
||||
The legacy `fp.invoice.strategy.default` model is left in place; the
|
||||
new sale.order onchange falls back to it for any partner whose record
|
||||
hasn't been migrated, so downstream code keeps working mid-rollout.
|
||||
|
||||
property_payment_term_id is intentionally skipped — it lives in
|
||||
ir_property rather than as a plain column, and the legacy onchange
|
||||
fallback already reads payment_term from the strategy default record
|
||||
when the partner doesn't have one set directly.
|
||||
"""
|
||||
|
||||
import logging
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def migrate(cr, version):
|
||||
if not version:
|
||||
return
|
||||
cr.execute("""
|
||||
UPDATE res_partner p
|
||||
SET x_fc_default_invoice_strategy = COALESCE(
|
||||
p.x_fc_default_invoice_strategy, isd.default_strategy),
|
||||
x_fc_default_deposit_percent = COALESCE(
|
||||
NULLIF(p.x_fc_default_deposit_percent, 0),
|
||||
isd.default_deposit_percent)
|
||||
FROM fp_invoice_strategy_default isd
|
||||
WHERE isd.partner_id = p.id
|
||||
""")
|
||||
_logger.info(
|
||||
'fusion_plating_invoicing migration 19.0.3.3.0: backfilled %d '
|
||||
'partner records from fp.invoice.strategy.default',
|
||||
cr.rowcount,
|
||||
)
|
||||
Reference in New Issue
Block a user