Fix bug similiar phone number
This commit is contained in:
parent
9f6bede811
commit
464fb9a130
13
app.py
13
app.py
@ -224,13 +224,18 @@ def migrate_customer(customer_id):
|
||||
existing_partner = None
|
||||
|
||||
if norm_phone:
|
||||
# Fetch potential matches using ilike to account for Odoo's formatting (spaces, dashes, country codes)
|
||||
partner_ids = models.execute_kw(ODOO_DB, uid, ODOO_PASS, 'res.partner', 'search_read',
|
||||
[[('phone', 'ilike', norm_phone)]],
|
||||
{'fields': ['name', 'phone', 'email', 'gender', 'birth_date', 'city', 'total_spend', 'membership_level_id'], 'limit': 1}
|
||||
{'fields': ['name', 'phone', 'email', 'x_studio_gender', 'x_studio_birth_date', 'city', 'total_spend', 'membership_level_id']}
|
||||
)
|
||||
if partner_ids:
|
||||
existing_partner = partner_ids[0]
|
||||
partner_id = existing_partner['id']
|
||||
|
||||
# Filter strictly by matching the normalized phone to prevent substring matches (e.g. 8123 vs 81234)
|
||||
for p in partner_ids:
|
||||
if normalize_phone(p.get('phone')) == norm_phone:
|
||||
existing_partner = p
|
||||
partner_id = existing_partner['id']
|
||||
break
|
||||
|
||||
# 2. Find loyalty.program based on level
|
||||
level = customer.get('level', '')
|
||||
|
||||
Loading…
Reference in New Issue
Block a user