feat: override res.partner search to force zero loyalty member load limit in POS
This commit is contained in:
parent
2f1e9d869a
commit
930999b30c
@ -17,7 +17,7 @@ Features
|
||||
3. Portrait Display Mode: Single-pane responsive layout for mobile POS terminals.
|
||||
""",
|
||||
'author': "Suherdy Yacob",
|
||||
'depends': ['point_of_sale', 'pos_restaurant'],
|
||||
'depends': ['point_of_sale', 'pos_restaurant', 'pos_loyalty_member_custom'],
|
||||
'data': [
|
||||
'views/res_config_settings_views.xml',
|
||||
'views/pos_order_view.xml',
|
||||
|
||||
@ -2,3 +2,5 @@
|
||||
from . import pos_config
|
||||
from . import res_config_settings
|
||||
from . import pos_order
|
||||
from . import res_partner
|
||||
|
||||
|
||||
19
models/res_partner.py
Normal file
19
models/res_partner.py
Normal file
@ -0,0 +1,19 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from odoo import models, api
|
||||
|
||||
class ResPartner(models.Model):
|
||||
_inherit = 'res.partner'
|
||||
|
||||
@api.model
|
||||
def _load_pos_data_domain(self, data, config):
|
||||
# Set context flag to force loyalty member loading limit to 0
|
||||
self_with_context = self.with_context(pos_load_loyalty_limit_zero=True)
|
||||
return super(ResPartner, self_with_context)._load_pos_data_domain(data, config)
|
||||
|
||||
@api.model
|
||||
def search(self, args, offset=0, limit=None, order=None):
|
||||
# Intercept the search for extra loyalty members when loading POS data
|
||||
# and return an empty recordset to change the loaded/cached members count to 0
|
||||
if self.env.context.get('pos_load_loyalty_limit_zero') and limit == 30:
|
||||
return self.browse()
|
||||
return super(ResPartner, self).search(args, offset=offset, limit=limit, order=order)
|
||||
Loading…
Reference in New Issue
Block a user