diff --git a/fusion_plating/fusion_plating_portal/controllers/portal.py b/fusion_plating/fusion_plating_portal/controllers/portal.py
index 2dd5d95b..81baeddf 100644
--- a/fusion_plating/fusion_plating_portal/controllers/portal.py
+++ b/fusion_plating/fusion_plating_portal/controllers/portal.py
@@ -196,6 +196,20 @@ class FpCustomerPortal(CustomerPortal):
values['fp_partner_display_name'] = commercial.name or partner.name
return values
+ def _get_page_view_values(self, document, access_token, values, session_history, no_breadcrumbs, **kwargs):
+ # Odoo's detail-page routes (sale order, invoice, delivery, etc.)
+ # funnel through this helper. It sets up chatter/pager but doesn't
+ # touch _prepare_portal_layout_values, so our sidebar context wouldn't
+ # otherwise reach those templates. Inject our keys conservatively via
+ # setdefault — never overwrite anything the page already set.
+ values = super()._get_page_view_values(
+ document, access_token, values, session_history, no_breadcrumbs, **kwargs,
+ )
+ layout = self._prepare_portal_layout_values()
+ values.setdefault('fp_sidebar_items', layout.get('fp_sidebar_items'))
+ values.setdefault('fp_partner_display_name', layout.get('fp_partner_display_name'))
+ return values
+
# ==========================================================================
# Customer-visible stage timeline (detail page)
# ==========================================================================
diff --git a/fusion_plating/fusion_plating_portal/views/fp_sale_order_portal.xml b/fusion_plating/fusion_plating_portal/views/fp_sale_order_portal.xml
index a7846abd..92e9da7d 100644
--- a/fusion_plating/fusion_plating_portal/views/fp_sale_order_portal.xml
+++ b/fusion_plating/fusion_plating_portal/views/fp_sale_order_portal.xml
@@ -95,4 +95,99 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Purchase Orders
+ Purchase Orders
+
+
+
+
+
+
+
+
+
+ Purchase Order
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Purchase Orders
+
+
+
+
+
+ Purchase Order #
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Purchase Order
+
+ -
+
+
+
+
+
+