1. /my now serves the FP dashboard (stock Odoo home was leaking through because parent route declared ['/my', '/my/home'] but my override only listed /my/home). 2. Button padding bumped to .5rem 1rem + font 1rem so o_fp_btn matches Odoo's standard Bootstrap button rhythm. Ghost button drops its custom padding override. 3. .o_fp_job_card on /my/home + /my/jobs is now an <a> wrapping the whole card area — full row is the click target, not just the WO number. Inner <a> on job.name dropped to avoid nested anchors; focus-visible outline added for keyboard nav. 4. fp.job.write() now mirrors state -> fp.portal.job.state via new _FP_JOB_STATE_TO_PORTAL_STATE map (confirmed->received, in_progress->in_progress, done->ready_to_ship). Fixes the bug where completed backend jobs left the portal stuck on 'in_progress'. 'on_hold' and 'cancelled' intentionally not mirrored — manager choice what to surface. 5. Sales Order Confirmation now surfaces in the 'From You' group on the job detail page, pulled via job.x_fc_job_id.sale_order_id -> /report/pdf/sale.report_saleorder/<id>. Falls back to the upload placeholder when no SO is linked. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Fusion Plating — Customer Portal
Part of the Fusion Plating product family by Nexa Systems Inc.
Customer-facing portal that extends fusion_plating with a self-service area
inside Odoo's standard portal layout. Customers can:
- Submit Requests for Quote (RFQ) with drawings, target dates, and notes
- Track production jobs through Received → In Progress → QC → Ready → Shipped → Complete
- Download Certificates of Conformance (CoC) and packing lists
- Reference shipment tracking numbers and invoice references
Models
| Model | Purpose |
|---|---|
fusion.plating.quote.request |
Customer-submitted RFQ |
fusion.plating.portal.job |
Lightweight portal-facing job summary |
res.partner (extended) |
Adds portal-enabled flag and counts |
Routes
| Route | Purpose |
|---|---|
/my/quote_requests |
List quote requests |
/my/quote_requests/<id> |
RFQ detail |
/my/quote_requests/new |
New RFQ form |
/my/quote_requests/submit |
RFQ form submission |
/my/jobs |
List jobs |
/my/jobs/<id> |
Job detail |
/my/jobs/<id>/coc |
Download CoC PDF |
Conventions
- New
res.partnerfields prefixedx_fc_*. - All portal pages extend
portal.portal_layout. - SCSS theme-aware: uses Bootstrap CSS variables only, no hex values.
- Routes are
type='http'(not the deprecatedtype='json').
License
OPL-1 (Odoo Proprietary License v1.0). Copyright 2026 Nexa Systems Inc.