Files
suite/sale_planner/models/partner.py
Jared Kipe 162546faee [REL] delivery_fedex_hibou,delivery_gso,delivery_hibou,delivery_ups_hibou,sale_planner,stock_delivery_planner: per-package tracking from 11.0
Additional changes/fixes applied due to testing, e.g. transit time calculations for UPS.
2022-02-07 17:30:25 -08:00

34 lines
1.2 KiB
Python

# Part of Hibou Suite Professional. See LICENSE_PROFESSIONAL file for full copyright and licensing details.
from odoo import api, fields, models
try:
from uszipcode import SearchEngine
except ImportError:
SearchEngine = None
class Partner(models.Model):
_inherit = 'res.partner'
def geo_localize(self):
# We need country names in English below
for partner in self.with_context(lang='en_US'):
try:
if SearchEngine and partner.zip:
with SearchEngine() as search:
zipcode = search.by_zipcode(str(self.zip).split('-')[0])
if zipcode and zipcode.lat:
partner.write({
'partner_latitude': zipcode.lat,
'partner_longitude': zipcode.lng,
'date_localization': fields.Date.context_today(partner),
})
else:
super(Partner, partner).geo_localize()
else:
super(Partner, partner).geo_localize()
except:
pass
return True