minor fix

This commit is contained in:
wilson gomez 2021-11-08 07:55:41 -05:00
parent d4598d31e4
commit 93740294ea
1 changed files with 27 additions and 8 deletions

View File

@ -264,18 +264,37 @@ class MercadoLibre(SaleWebChannel):
SaleLine.create(create_lines)
return generic
def validate_sale(self, sale_):
if sale_.get('pack_id'):
if not sale_.get('shipping'):
return
shipment_id = sale_['shipping']['id']
URI = 'https://api.mercadolibre.com/shipments/%s/items?access_token=%s' % (
shipment_id, self.access_token)
res = self.get_response(URI)
shipment_items = res.json()
if len(shipment_items) > 1:
for item in shipment_items:
order_id = item['order_id']
ids = ''
if order_id != sale_['order_id']:
URI2 = 'https://api.mercadolibre.com/orders/%s?access_token=%s' % (
order_id, self.access_token)
order = self.get_response(URI2)
sale_order = order.json()
ids += ',', order_id
sale_['order_items'].append(sale_order['order_items'])
sale_['order_id'] = order_id + ids
self.create_sale(sale_)
else:
self.create_sale(sale_)
else:
self.create_sale(sale_)
def _create_sale(self, sale_):
_pool = Pool()
Sale = _pool.get('sale.sale')
if sale_.get('pack_id'):
sales = self.search([
('pack_id', '=', sale_['pack_id'])
])
if sales:
self.create_lines_sale(
sales[0], sale_, freight=False)
return False
sales = Sale.search([
('reference', '=', str(sale_['id']))
])