From 41b5d4306e6a7ba9f48296c1c24ec01ce09c7d08 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 18 Feb 2022 14:35:21 +0000 Subject: [PATCH] [IMP] purchase: create hook to override searchbar sortings With this commit we can now call a hook when we want to modify the code for this route. Before this commit the only way to modify/extend this would be by taking over a big part of the code. closes odoo/odoo#84905 Signed-off-by: Arnold Moyaux --- addons/purchase/controllers/portal.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/addons/purchase/controllers/portal.py b/addons/purchase/controllers/portal.py index 666c2d47c4b..578532ddaab 100644 --- a/addons/purchase/controllers/portal.py +++ b/addons/purchase/controllers/portal.py @@ -29,6 +29,13 @@ class CustomerPortal(portal.CustomerPortal): ]) if PurchaseOrder.check_access_rights('read', raise_exception=False) else 0 return values + def _get_purchase_searchbar_sortings(self): + return { + 'date': {'label': _('Newest'), 'order': 'create_date desc, id desc'}, + 'name': {'label': _('Name'), 'order': 'name asc, id asc'}, + 'amount_total': {'label': _('Total'), 'order': 'amount_total desc, id desc'}, + } + def _render_portal(self, template, page, date_begin, date_end, sortby, filterby, domain, searchbar_filters, default_filter, url, history, page_name, key): values = self._prepare_portal_layout_values() PurchaseOrder = request.env['purchase.order'] @@ -36,11 +43,7 @@ class CustomerPortal(portal.CustomerPortal): if date_begin and date_end: domain += [('create_date', '>', date_begin), ('create_date', '<=', date_end)] - searchbar_sortings = { - 'date': {'label': _('Newest'), 'order': 'create_date desc, id desc'}, - 'name': {'label': _('Name'), 'order': 'name asc, id asc'}, - 'amount_total': {'label': _('Total'), 'order': 'amount_total desc, id desc'}, - } + searchbar_sortings = self._get_purchase_searchbar_sortings() # default sort if not sortby: sortby = 'date'