fix(portal): sidebar values + Purchase Order naming on /my/orders detail
1. Odoo's portal_order_page route calls _get_page_view_values which doesn't touch _prepare_portal_layout_values, so our sidebar context (fp_sidebar_items, fp_partner_display_name) was missing on every Odoo detail page (SO, invoice, delivery, quote). Override _get_page_view_values to setdefault our two keys into the values dict — non-clobbering, covers every detail route. 2. Rename "Sales Order(s)" / "Your Orders" to "Purchase Order(s)" on the customer portal so the wording matches the sidebar item and the customer's perspective (they purchase from us). Inherits in fp_sale_order_portal.xml replace the relevant text nodes in sale.portal_my_home_menu_sale / sale.portal_my_orders / sale.sale_order_portal_content. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -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)
|
||||
# ==========================================================================
|
||||
|
||||
Reference in New Issue
Block a user