Order-entry shortcut: when masking is toggled ON for an Express order line, an amber "MASK" button appears to attach reference image(s)/PDF(s). The files ride the existing _fp_apply_express_overrides_to_job path onto the job's masking step, so the operator sees exactly what to mask — no recipe edit or custom prompt needed. - configurator: masking_attachment_ids on the wizard line + SO line; action_upload_masking_ref; override branch writes refs onto mask steps; amber multi-file MASK button (express_action_btns) shown when masking is on. - jobs: x_fc_masking_attachment_ids on fp.job.step (per-step) + computed rollup on fp.job; office "Masking Refs" form page (readonly preview). - shopfloor: workspace step payload carries masking_refs (sudo'd attachment read, rule 13m); operator sees thumbnail/PDF tiles on the mask step that open in Odoo's full-screen FileViewer (zoom + swipe). Verified end-to-end on entech: SO-line refs land on the mask step + job rollup (WO-30091); payload mask_refs shape correct (is_image, /web/image). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
48 lines
1.7 KiB
Python
48 lines
1.7 KiB
Python
# -*- 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.
|
|
|
|
from . import fp_job_workflow_state # Sub 14 — must load before fp_job (FK target)
|
|
from . import fp_job
|
|
from . import fp_job_sticker
|
|
from . import fp_job_step
|
|
from . import fp_job_masking
|
|
from . import fp_job_node_override
|
|
from . import fp_portal_job
|
|
from . import account_move
|
|
from . import sale_order
|
|
from . import sale_order_line
|
|
from . import res_users
|
|
|
|
# Phase 3 — parallel job/step links on dependent modules' models.
|
|
from . import fp_batch
|
|
from . import fp_quality_hold
|
|
from . import fp_certificate
|
|
from . import fp_thickness_reading
|
|
from . import fp_delivery
|
|
from . import fp_racking_inspection
|
|
from . import fp_receiving
|
|
|
|
# Phase 4 — light refactors batch B (notifications, KPI source tag).
|
|
from . import fp_notification_trigger
|
|
from . import fusion_plating_kpi_value
|
|
|
|
# Phase 5 — Job Margin report.
|
|
from . import report_fp_job_margin
|
|
|
|
# Phase 1 of MRP cut-out (Sub 11) — relocated from fusion_plating_bridge_mrp.
|
|
# (fp.qc.checklist.template lives in fusion_plating_quality; can't depend
|
|
# back on jobs without a cycle.)
|
|
from . import fp_job_consumption
|
|
|
|
# Multi-rack splitting at Racking (Phase 1) — jobs-side extension of
|
|
# fp.rack.load (core model in fusion_plating) + fp.job rollups.
|
|
from . import fp_job_rack
|
|
# fp.work.role, fp.operator.proficiency, fp_process_node inherit, and the
|
|
# hr.employee shop-roles inherit live in fusion_plating core so every
|
|
# downstream module (cgp, bridge_mrp residue, etc.) sees them without a
|
|
# transitive dep on jobs.
|