Hello there,
I have overrided the name_search method on the product.product model.
Beginning of my Python code :
class product_product(models.Model):
_inherit = "product.product"
@api.model
def name_search(self, name='', args=None, operator='ilike', limit=100):
_logger.error(" args :: %s", str(args))
res = super(product_product, self).name_search(name, args, operator, context=self._context, limit=limit)
return res
I want to modify the name_search method only if it is triggered from a purchase.order.line. If the name_search method is trigerred from a sale.order.line, I want to use the original name_search method.
How to differentiate the place where the method is triggered?
I noted that when the name_search method is triggered from a purchase.order.line, args are :
args :: [['purchase_ok', '=', True]]
I noted that when the name_search method is triggered from a sale.order.line, args are :
args :: [['sale_ok', '=', True]]
Should I use these different argument to differentiate the two places where the name_search method is triggerred?
May be I could make something like
if 'sale_ok' in args, use original name_search method,
If 'purchase_ok' in args, use the new overriden name_search method
What do you think about it?