[FIX] sale: allow overriding portal domain
Before this commit the only way to modify the domain is to completely override portal_my_quotes/portal_my_orders. Since this function is so big this is not clean/easy to do. By creating a separate function we can simply override it and we can reuse the same domain in two places. closes odoo/odoo#84886 X-original-commit: ff50844da0e4423372746e767f482a2a71148be4 Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
This commit is contained in:
@@ -23,18 +23,26 @@ class CustomerPortal(portal.CustomerPortal):
|
||||
|
||||
SaleOrder = request.env['sale.order']
|
||||
if 'quotation_count' in counters:
|
||||
values['quotation_count'] = SaleOrder.search_count([
|
||||
('message_partner_ids', 'child_of', [partner.commercial_partner_id.id]),
|
||||
('state', 'in', ['sent', 'cancel'])
|
||||
]) if SaleOrder.check_access_rights('read', raise_exception=False) else 0
|
||||
values['quotation_count'] = SaleOrder.search_count(self._prepare_quotations_domain(partner)) \
|
||||
if SaleOrder.check_access_rights('read', raise_exception=False) else 0
|
||||
if 'order_count' in counters:
|
||||
values['order_count'] = SaleOrder.search_count([
|
||||
('message_partner_ids', 'child_of', [partner.commercial_partner_id.id]),
|
||||
('state', 'in', ['sale', 'done'])
|
||||
]) if SaleOrder.check_access_rights('read', raise_exception=False) else 0
|
||||
values['order_count'] = SaleOrder.search_count(self._prepare_orders_domain(partner)) \
|
||||
if SaleOrder.check_access_rights('read', raise_exception=False) else 0
|
||||
|
||||
return values
|
||||
|
||||
def _prepare_quotations_domain(self, partner):
|
||||
return [
|
||||
('message_partner_ids', 'child_of', [partner.commercial_partner_id.id]),
|
||||
('state', 'in', ['sent', 'cancel'])
|
||||
]
|
||||
|
||||
def _prepare_orders_domain(self, partner):
|
||||
return [
|
||||
('message_partner_ids', 'child_of', [partner.commercial_partner_id.id]),
|
||||
('state', 'in', ['sale', 'done'])
|
||||
]
|
||||
|
||||
#
|
||||
# Quotations and Sales Orders
|
||||
#
|
||||
@@ -52,10 +60,7 @@ class CustomerPortal(portal.CustomerPortal):
|
||||
partner = request.env.user.partner_id
|
||||
SaleOrder = request.env['sale.order']
|
||||
|
||||
domain = [
|
||||
('message_partner_ids', 'child_of', [partner.commercial_partner_id.id]),
|
||||
('state', 'in', ['sent', 'cancel'])
|
||||
]
|
||||
domain = self._prepare_quotations_domain(partner)
|
||||
|
||||
searchbar_sortings = self._get_sale_searchbar_sortings()
|
||||
# default sortby order
|
||||
@@ -97,10 +102,7 @@ class CustomerPortal(portal.CustomerPortal):
|
||||
partner = request.env.user.partner_id
|
||||
SaleOrder = request.env['sale.order']
|
||||
|
||||
domain = [
|
||||
('message_partner_ids', 'child_of', [partner.commercial_partner_id.id]),
|
||||
('state', 'in', ['sale', 'done'])
|
||||
]
|
||||
domain = self._prepare_orders_domain(partner)
|
||||
|
||||
searchbar_sortings = self._get_sale_searchbar_sortings()
|
||||
# default sortby order
|
||||
|
||||
Reference in New Issue
Block a user