fix(portal): consistent breadcrumb position + history + column height parity

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) <noreply@anthropic.com>
This commit is contained in:
gsinghpal
2026-05-17 14:50:51 -04:00
parent 04862e8a28
commit 76c68e0311
3 changed files with 16 additions and 17 deletions

View File

@@ -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;
}