[FIX] connector_opencart: Delivery and Invoice address types set before creation.

This commit is contained in:
Jared Kipe
2020-06-19 11:08:08 -07:00
parent 544930f592
commit ac29c1ed07

View File

@@ -213,7 +213,7 @@ class SaleOrderImporter(Component):
def _partner_matches(self, partner, values): def _partner_matches(self, partner, values):
for key, value in values.items(): for key, value in values.items():
if key in ('active', 'parent_id'): if key in ('active', 'parent_id', 'type'):
continue continue
if key == 'state_id': if key == 'state_id':
@@ -227,7 +227,7 @@ class SaleOrderImporter(Component):
return True return True
def _make_partner_name(self, firstname, lastname): def _make_partner_name(self, firstname, lastname):
name = (str(firstname) + ' ' + str(lastname)).strip() name = (str(firstname or '').strip() + ' ' + str(lastname or '').strip()).strip()
if not name: if not name:
return 'Undefined' return 'Undefined'
return name return name
@@ -295,12 +295,14 @@ class SaleOrderImporter(Component):
if not self._partner_matches(partner, partner_values): if not self._partner_matches(partner, partner_values):
partner_values['parent_id'] = partner.id partner_values['parent_id'] = partner.id
partner_values['active'] = False shipping_values = copy(partner_values)
shipping_partner = self._create_partner(copy(partner_values)) shipping_values['type'] = 'delivery'
shipping_partner = self._create_partner(shipping_values)
else: else:
shipping_partner = partner shipping_partner = partner
invoice_values = self._get_partner_values(info_string='payment_') invoice_values = self._get_partner_values(info_string='payment_')
invoice_values['type'] = 'invoice'
if (not self._partner_matches(partner, invoice_values) if (not self._partner_matches(partner, invoice_values)
and not self._partner_matches(shipping_partner, invoice_values)): and not self._partner_matches(shipping_partner, invoice_values)):
@@ -310,8 +312,7 @@ class SaleOrderImporter(Component):
invoice_partner = possible invoice_partner = possible
break break
else: else:
partner_values['parent_id'] = partner.id invoice_values['parent_id'] = partner.id
partner_values['active'] = False
invoice_partner = self._create_partner(copy(invoice_values)) invoice_partner = self._create_partner(copy(invoice_values))
elif self._partner_matches(partner, invoice_values): elif self._partner_matches(partner, invoice_values):
invoice_partner = partner invoice_partner = partner