1
0
forked from Mapan/odoo17e
odoo17e-kedaikipas58/addons/crm_helpdesk/models/helpdesk_ticket.py
2024-12-10 09:04:09 +07:00

41 lines
1.5 KiB
Python

# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import models, tools
class HelpdeskTicket(models.Model):
_inherit = 'helpdesk.ticket'
def _find_matching_partner(self, email_only=False, force_create=False, force_update=True):
""" Try to find a matching partner with available information on the
ticket, using notably customer's name, email, phone, ...
# TODO : Move this + the one from crm into mail_thread
:return: partner browse record
"""
self.ensure_one()
partner = self.partner_id
if not partner and self.partner_email:
partner = self.env['res.partner'].search([('email_normalized', '=', tools.email_normalize(self.partner_email))], limit=1)
if not partner and not email_only and self.partner_name:
partner = self.env['res.partner'].search([('name', 'ilike', self.partner_name)], limit=1)
if not partner and force_create:
partner = self.env['res.partner'].create({
'name': self.partner_name,
'email': self.partner_email,
'phone': self.partner_phone,
})
if partner and force_update:
if not partner.email and self.partner_email:
partner.email = self.partner_email
if not partner.phone and self.partner_phone:
partner.phone = self.partner_phone
return partner