The 4 client-action SCSS files I shipped in Phase 6 ignored the
project's documented design system (CLAUDE.md "Card Styling" + "Dark
Mode" rules) and used hardcoded hex / var(--bs-*) for surfaces.
Result: dark mode rendered white-text-on-white-card.
Companion to "changes" (22573e7) which already landed
_fp_jobs_tokens.scss + the job_plant_overview.scss refactor.
This commit finishes the job:
- Refactored job_process_tree.scss, job_manager_dashboard.scss and
job_tablet.scss to reference the $fp-* tokens — zero hardcoded
hex on theme-sensitive surfaces. Three-layer contrast applied per
CLAUDE.md (page → container → card).
- Process tree keeps the intentional Steelhead-style dark-slate
card fill in BOTH bundles (deliberate visual choice, not a theme
bug); page / header / connectors / empty state are now token-
driven so they look right against light or dark page surfaces.
- Manifest assets list reordered so _fp_jobs_tokens.scss compiles
first in web.assets_backend (CLAUDE.md rule: SCSS variables in
earlier files are visible to later files in the same bundle).
This is what makes the compile-time
$o-webclient-color-scheme branch in the partial actually take
effect for the four consumer files.
Verified on entech: light bundle (web.assets_backend) and dark
bundle (web.assets_web_dark) both compile without SCSS errors and
emit distinct surface hexes (light: #f3f4f6 page / #ffffff card;
dark: #1a1d21 page / #22262d card).
Manifest 19.0.3.0.0 → 19.0.3.1.0.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
85 lines
4.1 KiB
Python
85 lines
4.1 KiB
Python
# -*- coding: utf-8 -*-
|
|
# Copyright 2026 Nexa Systems Inc.
|
|
# License OPL-1 (Odoo Proprietary License v1.0)
|
|
{
|
|
'name': 'Fusion Plating — Native Jobs',
|
|
'version': '19.0.3.1.0',
|
|
'category': 'Manufacturing/Plating',
|
|
'summary': 'Native plating job model — replaces mrp.production / mrp.workorder bridge.',
|
|
'author': 'Nexa Systems Inc.',
|
|
'website': 'https://www.nexasystems.ca',
|
|
'maintainer': 'Nexa Systems Inc.',
|
|
'support': 'support@nexasystems.ca',
|
|
'price': 0.00,
|
|
'currency': 'CAD',
|
|
'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_batch', # fusion.plating.batch (Phase 3)
|
|
'fusion_plating_certificates', # fp.certificate, fp.thickness.reading
|
|
'fusion_plating_configurator', # fp.part.catalog, fp.coating.config
|
|
'fusion_plating_kpi', # fusion.plating.kpi.value (Phase 4)
|
|
'fusion_plating_logistics', # fusion.plating.delivery
|
|
'fusion_plating_notifications', # fp.notification.template (Phase 4)
|
|
'fusion_plating_portal', # fusion.plating.portal.job
|
|
'fusion_plating_quality', # fusion.plating.customer.spec, fusion.plating.quality.hold
|
|
'fusion_plating_receiving', # fp.racking.inspection (Phase 3)
|
|
'fusion_plating_reports', # paperformat helpers, customer_line_header (Phase 5)
|
|
'fusion_plating_shopfloor', # legacy menus restricted in views/legacy_menu_hide.xml
|
|
],
|
|
'data': [
|
|
'security/legacy_groups.xml',
|
|
'security/ir.model.access.csv',
|
|
'views/res_config_settings_views.xml',
|
|
'views/job_process_tree_action.xml',
|
|
'views/job_overview_actions.xml',
|
|
'views/job_tablet_action.xml',
|
|
'views/fp_job_form_inherit.xml',
|
|
'views/legacy_menu_hide.xml',
|
|
'report/report_fp_job_sticker.xml',
|
|
'report/report_fp_job_traveller.xml',
|
|
'report/report_fp_job_margin.xml',
|
|
],
|
|
'assets': {
|
|
'web.assets_backend': [
|
|
# Tokens MUST be first — Odoo concatenates bundle files in
|
|
# order, and SCSS variables defined in earlier files are
|
|
# visible to later files in the same bundle. The token
|
|
# partial branches on $o-webclient-color-scheme so the dark
|
|
# bundle (web.assets_web_dark) gets a distinct palette.
|
|
'fusion_plating_jobs/static/src/scss/_fp_jobs_tokens.scss',
|
|
'fusion_plating_jobs/static/src/scss/job_process_tree.scss',
|
|
'fusion_plating_jobs/static/src/scss/job_plant_overview.scss',
|
|
'fusion_plating_jobs/static/src/scss/job_manager_dashboard.scss',
|
|
'fusion_plating_jobs/static/src/scss/job_tablet.scss',
|
|
'fusion_plating_jobs/static/src/js/job_process_tree.js',
|
|
'fusion_plating_jobs/static/src/js/job_plant_overview.js',
|
|
'fusion_plating_jobs/static/src/js/job_manager_dashboard.js',
|
|
'fusion_plating_jobs/static/src/js/job_tablet.js',
|
|
'fusion_plating_jobs/static/src/xml/job_process_tree.xml',
|
|
'fusion_plating_jobs/static/src/xml/job_plant_overview.xml',
|
|
'fusion_plating_jobs/static/src/xml/job_manager_dashboard.xml',
|
|
'fusion_plating_jobs/static/src/xml/job_tablet.xml',
|
|
],
|
|
},
|
|
'installable': True,
|
|
'application': False,
|
|
'auto_install': False,
|
|
'license': 'OPL-1',
|
|
}
|