Adds x_fc_job_id / x_fc_step_id Many2ones via _inherit on: - fusion.plating.batch (workorder_id stays for legacy MRP-bound batches) - fusion.plating.quality.hold - fp.certificate - fp.thickness.reading - fusion.plating.delivery (parallel to existing job_ref Char) - fp.racking.inspection (parallel to existing production_id) fp.job.action_confirm now also calls a best-effort racking-inspection auto-create. The current fp.racking.inspection still has a required production_id, so the helper skips cleanly when this job has no MO link (pure-native mode). Phase 9 cutover flips the required FK to fp.job. Strategy: parallel coexistence — bridge_mrp's existing fields stay populated; this adds NEW fields populated by the native flow. Phase 9 cutover stops populating the old fields. Adds fusion_plating_batch + fusion_plating_receiving to jobs module depends. Note: spec referenced fp.batch / fp.quality.hold; the actual models in this codebase are fusion.plating.batch / fusion.plating.quality.hold — used the real model names. Manifest 19.0.1.5.0 → 19.0.1.6.0. 29 jobs tests pass. Part of: native job model migration (spec 2026-04-25) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
20 lines
499 B
Python
20 lines
499 B
Python
# -*- coding: utf-8 -*-
|
|
# Copyright 2026 Nexa Systems Inc.
|
|
# License OPL-1 (Odoo Proprietary License v1.0)
|
|
#
|
|
# Phase 3 — parallel job link on fp.certificate.
|
|
# Coexists with bridge_mrp's production_id link.
|
|
|
|
from odoo import fields, models
|
|
|
|
|
|
class FpCertificate(models.Model):
|
|
_inherit = 'fp.certificate'
|
|
|
|
x_fc_job_id = fields.Many2one(
|
|
'fp.job',
|
|
string='Plating Job',
|
|
index=True,
|
|
help="Native fp.job link. Coexists with bridge_mrp's production_id.",
|
|
)
|