From 4341a038911c04366b52ecba3ff3742459a21506 Mon Sep 17 00:00:00 2001 From: gsinghpal Date: Fri, 24 Apr 2026 22:55:04 -0400 Subject: [PATCH] feat(jobs): add fusion_plating_jobs module skeleton (Phase 2 Task 2.1) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Empty module that will host the native job bridge during Phase 2 of the migration. Coexists with fusion_plating_bridge_mrp during the migration period — both can be installed simultaneously without conflict. Depends on: - fusion_plating (fp.job, fp.job.step, fp.work.centre from Phase 1) - fusion_plating_configurator (fp.part.catalog, fp.coating.config) - fusion_plating_portal (fusion.plating.portal.job) - fusion_plating_logistics (fusion.plating.delivery) - fusion_plating_quality (fusion.plating.customer.spec) - fusion_plating_certificates (fp.certificate) These deps are why these fields couldn't live in fusion_plating core (would invert the dep graph). All cross-module fields on fp.job and fp.job.step land here via _inherit in subsequent tasks. auto_install=False — opt-in only. Part of: native job model migration (spec 2026-04-25) Co-Authored-By: Claude Opus 4.7 (1M context) --- .../fusion_plating_jobs/__init__.py | 2 + .../fusion_plating_jobs/__manifest__.py | 40 +++++++++++++++++++ .../fusion_plating_jobs/models/__init__.py | 6 +++ .../security/ir.model.access.csv | 1 + 4 files changed, 49 insertions(+) create mode 100644 fusion_plating/fusion_plating_jobs/__init__.py create mode 100644 fusion_plating/fusion_plating_jobs/__manifest__.py create mode 100644 fusion_plating/fusion_plating_jobs/models/__init__.py create mode 100644 fusion_plating/fusion_plating_jobs/security/ir.model.access.csv diff --git a/fusion_plating/fusion_plating_jobs/__init__.py b/fusion_plating/fusion_plating_jobs/__init__.py new file mode 100644 index 00000000..a0fdc10f --- /dev/null +++ b/fusion_plating/fusion_plating_jobs/__init__.py @@ -0,0 +1,2 @@ +# -*- coding: utf-8 -*- +from . import models diff --git a/fusion_plating/fusion_plating_jobs/__manifest__.py b/fusion_plating/fusion_plating_jobs/__manifest__.py new file mode 100644 index 00000000..f20d9fdd --- /dev/null +++ b/fusion_plating/fusion_plating_jobs/__manifest__.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +# Copyright 2026 Nexa Systems Inc. +# License OPL-1 (Odoo Proprietary License v1.0) +{ + 'name': 'Fusion Plating — Native Jobs', + 'version': '19.0.1.0.0', + 'category': 'Manufacturing/Plating', + 'summary': 'Native plating job model — replaces mrp.production / mrp.workorder bridge.', + 'description': """ +Native Plating Job Bridge +========================= + +Bridges fp.job and fp.job.step (defined in fusion_plating core, Phase 1 of +the migration spec dated 2026-04-25) to the rest of the Fusion Plating +module family — configurator, portal, logistics, quality, certificates. + +Coexists with fusion_plating_bridge_mrp during the migration period. +Activate native jobs via the x_fc_use_native_jobs settings flag (default: +False). When False, SO confirm continues to create mrp.production records +through bridge_mrp. When True, SO confirm creates fp.job records here. + +See docs/superpowers/specs/2026-04-25-fp-native-job-model-design.md for +full design rationale and §6.2 of the implementation plan for task list. +""", + 'depends': [ + 'fusion_plating', # fp.job, fp.job.step, fp.work.centre + 'fusion_plating_configurator', # fp.part.catalog, fp.coating.config + 'fusion_plating_portal', # fusion.plating.portal.job + 'fusion_plating_logistics', # fusion.plating.delivery + 'fusion_plating_quality', # fusion.plating.customer.spec, fp.quality.hold + 'fusion_plating_certificates', # fp.certificate + ], + 'data': [ + 'security/ir.model.access.csv', + ], + 'installable': True, + 'application': False, + 'auto_install': False, + 'license': 'OPL-1', +} diff --git a/fusion_plating/fusion_plating_jobs/models/__init__.py b/fusion_plating/fusion_plating_jobs/models/__init__.py new file mode 100644 index 00000000..010731a6 --- /dev/null +++ b/fusion_plating/fusion_plating_jobs/models/__init__.py @@ -0,0 +1,6 @@ +# -*- coding: utf-8 -*- +# Copyright 2026 Nexa Systems Inc. +# 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. diff --git a/fusion_plating/fusion_plating_jobs/security/ir.model.access.csv b/fusion_plating/fusion_plating_jobs/security/ir.model.access.csv new file mode 100644 index 00000000..97dd8b91 --- /dev/null +++ b/fusion_plating/fusion_plating_jobs/security/ir.model.access.csv @@ -0,0 +1 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink