Files
Odoo-Modules/fusion_plating/fusion_plating_portal
gsinghpal d9bdbd8e18 feat(portal): reusable list-search JS + fp_portal_list_controls macro
Adds the shared infrastructure for real-time multi-keyword search on
portal list pages:

- static/src/js/fp_portal_list_search.js — vanilla-JS IIFE that wires
  every input.o_fp_list_search to the container at the selector in
  its data-fp-target. On every keystroke, walks the container's
  direct children and toggles display: none based on whether each
  row's textContent contains all whitespace-tokenised keywords. Also
  wires .o_fp_sort_select dropdowns on every page EXCEPT Account
  Summary (scoped by .o_fp_account_summary closest-ancestor check) so
  the existing fp_portal_account_summary.js handler isn't doubled up.

- views/fp_portal_macros.xml — new t-call macro
  fusion_plating_portal.fp_portal_list_controls that renders the
  filter pills + search input + sort dropdown strip in one block.
  Callers pass filters, sorts, active_filter, active_sort, search,
  url, extra_qs, target, result_total, clipped via t-set.

- __manifest__.py — registers the new JS in web.assets_frontend
  (after fp_portal_account_summary.js). Version bumps 19.0.4.0.0 ->
  19.0.4.1.0.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-18 00:06:02 -04:00
..
2026-04-16 20:53:53 -04:00
2026-04-16 20:53:53 -04:00
2026-04-16 20:53:53 -04:00
2026-04-16 20:53:53 -04:00

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.partner fields prefixed x_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 deprecated type='json').

License

OPL-1 (Odoo Proprietary License v1.0). Copyright 2026 Nexa Systems Inc.