feat(jobs): Phase 3 light refactors — parallel job/step links on dependent models
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>
This commit is contained in:
26
fusion_plating/fusion_plating_jobs/models/fp_batch.py
Normal file
26
fusion_plating/fusion_plating_jobs/models/fp_batch.py
Normal file
@@ -0,0 +1,26 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Copyright 2026 Nexa Systems Inc.
|
||||
# License OPL-1 (Odoo Proprietary License v1.0)
|
||||
#
|
||||
# Phase 3 — parallel job/step links on fusion.plating.batch.
|
||||
# The legacy workorder_id link to mrp.workorder stays in place.
|
||||
|
||||
from odoo import fields, models
|
||||
|
||||
|
||||
class FusionPlatingBatch(models.Model):
|
||||
_inherit = 'fusion.plating.batch'
|
||||
|
||||
x_fc_step_id = fields.Many2one(
|
||||
'fp.job.step',
|
||||
string='Plating Step',
|
||||
index=True,
|
||||
help='Native fp.job.step link. Coexists with the legacy '
|
||||
'workorder_id link to mrp.workorder.',
|
||||
)
|
||||
x_fc_job_id = fields.Many2one(
|
||||
'fp.job',
|
||||
related='x_fc_step_id.job_id',
|
||||
store=True,
|
||||
string='Plating Job',
|
||||
)
|
||||
Reference in New Issue
Block a user