[IMP] connector_opencart: when finding partners, search for inactive as well.

This commit is contained in:
Jared Kipe
2020-04-28 11:33:24 -07:00
parent 3aa31f8bcb
commit 5cc665df4c

View File

@@ -9,9 +9,6 @@ from odoo.addons.component.core import Component
from odoo.addons.connector.components.mapper import mapping
from odoo.exceptions import ValidationError
import logging
_logger = logging.getLogger(__name__)
class SaleOrderBatchImporter(Component):
_name = 'opencart.sale.order.batch.importer'
@@ -215,21 +212,17 @@ class SaleOrderImporter(Component):
return self.env['res.partner'].create(values)
def _partner_matches(self, partner, values):
_logger.warn('_partner_matches partner: ' + str(partner) + ' values: ' + str(values))
for key, value in values.items():
if key in ('active', 'parent_id'):
continue
if key == 'state_id':
if value != partner.state_id.id:
_logger.warn(' return false for state_id value: ' + str(value) + ' partner.state_id.id: ' + str(partner.state_id.id))
return False
elif key == 'country_id':
if value != partner.country_id.id:
_logger.warn(' return false for country_id value: ' + str(value) + ' partner.country_id.id: ' + str(partner.country_id.id))
return False
elif bool(value) and value != getattr(partner, key):
_logger.warn(' return false for ' + str(key) + ' : ' + str(value) + ' partner value: ' + str(getattr(partner, key)))
return False
return True
@@ -282,17 +275,15 @@ class SaleOrderImporter(Component):
}
def _import_addresses(self):
record = self.opencart_record
partner_values = self._get_partner_values()
partners = self.env['res.partner'].search([
('email', '=', partner_values['email']),
])
'|', ('active', '=', False), ('active', '=', True),
], order='active DESC, id ASC')
partner = None
for possible in partners:
if self._partner_matches(possible, partner_values):
_logger.warn('matched partner: ' + str(possible))
partner = possible
break
if not partner and partners:
@@ -307,7 +298,6 @@ class SaleOrderImporter(Component):
partner_values['active'] = False
shipping_partner = self._create_partner(copy(partner_values))
else:
_logger.warn('same shipping partner')
shipping_partner = partner
invoice_values = self._get_partner_values(info_string='payment_')
@@ -317,7 +307,6 @@ class SaleOrderImporter(Component):
# Try to find existing invoice address....
for possible in partners:
if self._partner_matches(possible, invoice_values):
_logger.warn('matched invoice partner: ' + str(possible))
invoice_partner = possible
break
else:
@@ -325,10 +314,8 @@ class SaleOrderImporter(Component):
partner_values['active'] = False
invoice_partner = self._create_partner(copy(invoice_values))
elif self._partner_matches(partner, invoice_values):
_logger.warn('same invoice partner')
invoice_partner = partner
elif self._partner_matches(shipping_partner, invoice_values):
_logger.warn('same invoice shipping partner')
invoice_partner = shipping_partner
self.partner = partner