# -*- coding: utf-8 -*- # Copyright 2026 Nexa Systems Inc. # License OPL-1 (Odoo Proprietary License v1.0) # Part of the Fusion Plating product family. from . import controllers from . import models from . import wizard def _backfill_currency(env): """Fill missing currency_id on existing money-holding records. Older demo data and manually-created rows were persisted before the `required=True` was added, so some records sit with currency_id=NULL and Monetary fields render without a $ symbol. This runs on module install/upgrade and pins them to the company's currency. """ company_currency = env.company.currency_id.id if not company_currency: return for model_name in ( 'fp.pricing.rule', 'fp.treatment', 'fp.customer.price.list', 'fp.quote.configurator', ): Model = env.get(model_name) if Model is None: continue Model.search([('currency_id', '=', False)]).write( {'currency_id': company_currency} ) def post_init_hook(env): _backfill_currency(env) def post_upgrade_hook(env): _backfill_currency(env)