feat(jobs): add cross-module fields to fp.job via _inherit (Task 2.2)
5 of the 6 deferred fields from Phase 1 Task 1.4 land here in fusion_plating_jobs: - part_catalog_id (fp.part.catalog from configurator) - coating_config_id (fp.coating.config from configurator) - customer_spec_id (fusion.plating.customer.spec from quality) - portal_job_id (fusion.plating.portal.job from portal) - delivery_id (fusion.plating.delivery from logistics) qc_check_id deferred to Task 2.7 — its target model (fusion.plating.quality.check) still lives in fusion_plating_bridge_mrp and we don't depend on bridge_mrp from this module. Task 2.7 will address QC sourcing. 6 unit tests (5 field-presence + 1 integration creating linked records). Manifest 19.0.1.0.0 → 19.0.1.1.0. 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:
@@ -3,4 +3,6 @@
|
||||
# License OPL-1 (Odoo Proprietary License v1.0)
|
||||
#
|
||||
# Phase 2 of the native plating job model migration. Models are added
|
||||
# task-by-task in Tasks 2.2 onwards. This file imports them as they land.
|
||||
# task-by-task in Tasks 2.2 onwards.
|
||||
|
||||
from . import fp_job
|
||||
|
||||
39
fusion_plating/fusion_plating_jobs/models/fp_job.py
Normal file
39
fusion_plating/fusion_plating_jobs/models/fp_job.py
Normal file
@@ -0,0 +1,39 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Copyright 2026 Nexa Systems Inc.
|
||||
# License OPL-1 (Odoo Proprietary License v1.0)
|
||||
#
|
||||
# fp.job extension — cross-module fields that couldn't live in core
|
||||
# because their target models are in dependent modules. Per spec §5.1
|
||||
# this module is the umbrella that re-bundles the cross-module
|
||||
# extensions for the native job flow.
|
||||
#
|
||||
# qc_check_id is deferred to Task 2.7 (the underlying QC model still
|
||||
# lives in fusion_plating_bridge_mrp; we'll address its sourcing then).
|
||||
|
||||
from odoo import fields, models
|
||||
|
||||
|
||||
class FpJob(models.Model):
|
||||
_inherit = 'fp.job'
|
||||
|
||||
part_catalog_id = fields.Many2one(
|
||||
'fp.part.catalog',
|
||||
string='Part',
|
||||
index=True,
|
||||
)
|
||||
coating_config_id = fields.Many2one(
|
||||
'fp.coating.config',
|
||||
string='Coating Configuration',
|
||||
)
|
||||
customer_spec_id = fields.Many2one(
|
||||
'fusion.plating.customer.spec',
|
||||
string='Customer Spec',
|
||||
)
|
||||
portal_job_id = fields.Many2one(
|
||||
'fusion.plating.portal.job',
|
||||
string='Portal Job',
|
||||
)
|
||||
delivery_id = fields.Many2one(
|
||||
'fusion.plating.delivery',
|
||||
string='Delivery',
|
||||
)
|
||||
Reference in New Issue
Block a user