This question has been flagged
2 Replies
4215 Views

Hello, 

On sales order, I would like to select a partner from the select box by start typing its phone number.
How can I do that?

Thank you in advance!
Regards

Avatar
Discard
Best Answer

_name_search method will allow to customize the search based on other field.
to search based on phone filed you need to override the method of res_partner like

    def name_search(self, cr, user, name, args=None, operator='ilike', context=None, limit=80):
        if not context: context={}
        res = super(res_partner, self). name_search(cr, user, name, args=args, operator=operator, context=context, limit=limit)
        if name:
            ids = self.search(cr, user, [('phone','=',name)]+ args, limit=limit, context=context)
        if ids:
            res = self.name_get(cr, user, ids, context=context)
        return res
        
it will give you partner when you search related partner phone.

Avatar
Discard

@Atul, it is more performant if you just add the args before calling the super. Then, it will only search once. Also, I think you shouldn't return the return of name_get.

Best Answer

You need to enhance the name_search method of res.partner to also search the phone number field.  You may want to enhance the name_get method as well to display the phone number field.

Avatar
Discard