From 76c68e031168d790597c140ec8b728be85e4fe61 Mon Sep 17 00:00:00 2001 From: gsinghpal Date: Sun, 17 May 2026 14:50:51 -0400 Subject: [PATCH] fix(portal): consistent breadcrumb position + history + column height parity MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Three coordinated portal-chrome fixes: 1. Drop `breadcrumbs_searchbar=True` from the four list templates (quote_requests, jobs, deliveries, certifications). They were suppressing Odoo's outer breadcrumb container, so the breadcrumb rendered inside portal.portal_searchbar in the right column on those pages. With the flag off, the outer container fires on every /my/* page (consistent with the dashboard, configurator, and detail pages). The portal_searchbar's else-branch now renders the page title in a Bootstrap navbar — the title still shows, just no longer doubled up as breadcrumb chrome. 2. Breadcrumb history pass in fp_portal_breadcrumbs.xml: - fp_jobs / fp_portal_job: rename label from "Parts Portal" to "Work Orders" so the breadcrumb matches the sidebar item. - fp_purchase_orders / fp_invoices: drop the dead stanzas. Both page_names are unreachable since Task 7 turned those routes into redirects. - fp_account_summary: add the missing entry so the new page has a trail. 3. Drop `align-items: start` on .o_fp_portal_shell and add min-height: 100% + min-width: 0 on .o_fp_portal_main. The right column now stretches to match the sidebar's height on short pages, so layouts look uniform. min-width: 0 lets wide table children scroll horizontally instead of forcing the grid track to grow. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../static/src/scss/fp_portal_sidebar.scss | 12 +++++++++++- .../views/fp_portal_breadcrumbs.xml | 17 +++++------------ .../views/fp_portal_templates.xml | 4 ---- 3 files changed, 16 insertions(+), 17 deletions(-) diff --git a/fusion_plating/fusion_plating_portal/static/src/scss/fp_portal_sidebar.scss b/fusion_plating/fusion_plating_portal/static/src/scss/fp_portal_sidebar.scss index 8fe86c2f..f959144d 100644 --- a/fusion_plating/fusion_plating_portal/static/src/scss/fp_portal_sidebar.scss +++ b/fusion_plating/fusion_plating_portal/static/src/scss/fp_portal_sidebar.scss @@ -10,7 +10,6 @@ display: grid; grid-template-columns: 240px 1fr; gap: $fp-space-5; - align-items: start; background: $fp-page-bg; min-height: calc(100vh - 80px); padding: $fp-space-4; @@ -146,3 +145,14 @@ display: block; } } + +.o_fp_portal_main { + // Stretches with the grid row so the right column matches the + // sidebar's height on short pages (empty list states, statements + // tab, etc.) — uniform visual rhythm. + min-height: 100%; + // Bootstrap tables can grow wider than the grid track without this; + // min-width: 0 lets the flex/grid child shrink and lets overflow-x + // on inner .table-responsive containers do their job on Safari. + min-width: 0; +} diff --git a/fusion_plating/fusion_plating_portal/views/fp_portal_breadcrumbs.xml b/fusion_plating/fusion_plating_portal/views/fp_portal_breadcrumbs.xml index 6c2d7284..58f21337 100644 --- a/fusion_plating/fusion_plating_portal/views/fp_portal_breadcrumbs.xml +++ b/fusion_plating/fusion_plating_portal/views/fp_portal_breadcrumbs.xml @@ -62,13 +62,13 @@ - -
  • +
  • - - - diff --git a/fusion_plating/fusion_plating_portal/views/fp_portal_templates.xml b/fusion_plating/fusion_plating_portal/views/fp_portal_templates.xml index 5e5d70b2..dbbe62cf 100644 --- a/fusion_plating/fusion_plating_portal/views/fp_portal_templates.xml +++ b/fusion_plating/fusion_plating_portal/views/fp_portal_templates.xml @@ -11,7 +11,6 @@