minor fix
This commit is contained in:
parent
06f887c88b
commit
303b3a4976
|
@ -190,11 +190,11 @@ class MercadoLibre(SaleWebChannel):
|
|||
sale_items = sale_['order_items']
|
||||
ctx = self._get_context()
|
||||
sfm_id = sale_['shipping']['id']
|
||||
reference = sale.reference.split(',')
|
||||
reference_order = str(sale_['id'])
|
||||
if reference_order not in reference:
|
||||
sale.referece = sale.reference + ',' + reference_order
|
||||
sale.save()
|
||||
# reference = sale.reference.split(',')
|
||||
# reference_order = str(sale_['id'])
|
||||
# if reference_order not in reference:
|
||||
# sale.referece = sale.reference + ',' + reference_order
|
||||
# sale.save()
|
||||
with Transaction().set_context(ctx):
|
||||
for line in sale_items:
|
||||
item = line['item']
|
||||
|
@ -269,31 +269,31 @@ class MercadoLibre(SaleWebChannel):
|
|||
res = self.get_response(URI)
|
||||
shipment_items = res.json()
|
||||
if len(shipment_items) > 1:
|
||||
ids = ''
|
||||
for item in shipment_items:
|
||||
order_id = item['order_id']
|
||||
ids = ''
|
||||
if order_id != sale_['order_id']:
|
||||
if order_id != str(sale_['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_)
|
||||
ids += ',' + order_id
|
||||
sale_['order_items'].extend(sale_order['order_items'])
|
||||
sale_['id'] = str(sale_['id']) + ids
|
||||
return self._create_sale(sale_)
|
||||
else:
|
||||
self.create_sale(sale_)
|
||||
return self._create_sale(sale_)
|
||||
else:
|
||||
self.create_sale(sale_)
|
||||
return self._create_sale(sale_)
|
||||
|
||||
def _create_sale(self, sale_):
|
||||
_pool = Pool()
|
||||
Sale = _pool.get('sale.sale')
|
||||
|
||||
sales = Sale.search([
|
||||
('reference', '=', str(sale_['id']))
|
||||
])
|
||||
|
||||
reference = '%' + str(sale_['id']).split(',')[0] + '%'
|
||||
dom = [
|
||||
('reference', 'like', reference)
|
||||
]
|
||||
sales = Sale.search(dom)
|
||||
if sales:
|
||||
if len(sales) == 1 and sale_['status'] == 'cancelled':
|
||||
sale = sales[0]
|
||||
|
@ -309,7 +309,8 @@ class MercadoLibre(SaleWebChannel):
|
|||
sfm_id = sale_['shipping']['id']
|
||||
shipment_ = self.get_shipment_api(sfm_id)
|
||||
if sale_.get('buyer'):
|
||||
billing_info = self.get_billing_info_api(sale_['id'])
|
||||
sale_id = str(sale_['id']).split(',')[0]
|
||||
billing_info = self.get_billing_info_api(sale_id)
|
||||
customer = sale_['buyer']
|
||||
dom_party = [('id_reference', '=', str(customer['id']))]
|
||||
if billing_info and billing_info['billing_info'].get('doc_number'):
|
||||
|
@ -434,7 +435,6 @@ class MercadoLibre(SaleWebChannel):
|
|||
@classmethod
|
||||
def request_api(cls, data):
|
||||
channel = cls._get_channel()
|
||||
print('ingresa por aca')
|
||||
response = {'status': 'error', 'msg_response': 'Fail in process !!!'}
|
||||
if not channel:
|
||||
return response
|
||||
|
@ -444,21 +444,27 @@ class MercadoLibre(SaleWebChannel):
|
|||
URI = 'https://api.mercadolibre.com/orders/%s?access_token=%s' % (
|
||||
order_id, access_token)
|
||||
result = cls.get_response(URI).json()
|
||||
res = channel._create_sale(result)
|
||||
res = channel.validate_sale(result)
|
||||
if res:
|
||||
response = {
|
||||
'status': 'ok',
|
||||
'msg_response': 'Successfull process !!!',
|
||||
'order': order_id
|
||||
}
|
||||
if data.get('resource') and data['resource'].count('shipments'):
|
||||
else:
|
||||
response = {
|
||||
'status': 'ok',
|
||||
'msg_response': 'Sale processed before !!!',
|
||||
'order': order_id
|
||||
}
|
||||
elif data.get('resource') and data['resource'].count('shipments'):
|
||||
shipment_id = str(data['resource'].replace('/shipments/', ''))
|
||||
shipment_ = channel.get_shipment_api(shipment_id)
|
||||
order_id = shipment_['order_id']
|
||||
|
||||
Sale = Pool().get('sale.sale')
|
||||
sales = Sale.search([
|
||||
('reference', '=', str(order_id))
|
||||
('reference', 'ilike', '%' + str(order_id) + '%')
|
||||
])
|
||||
response.update({'order': order_id})
|
||||
if not sales:
|
||||
|
@ -486,6 +492,8 @@ class MercadoLibre(SaleWebChannel):
|
|||
response = {'status': 'ok',
|
||||
'msg_response': 'Successfull process !!!',
|
||||
'order': order_id}
|
||||
else:
|
||||
return {'status': 'none', 'msg_response': 'Don`t process this topic'}
|
||||
return response
|
||||
|
||||
def _finish_sale(self, sale, type='invoice'):
|
||||
|
|
|
@ -6,6 +6,8 @@ this repository contains the full copyright notices and license terms. -->
|
|||
<field name="channel"/>
|
||||
<label name="number"/>
|
||||
<field name="number"/>
|
||||
<label name="order"/>
|
||||
<field name="order"/>
|
||||
<label name="record_date"/>
|
||||
<field name="record_date"/>
|
||||
<label name="msg_response"/>
|
||||
|
|
|
@ -301,7 +301,7 @@ class SynchronizeChannelOrders(Wizard):
|
|||
if not result:
|
||||
raise ErrorSynchronizingSale(
|
||||
gettext('sale_web_channel.msg_error_synchronizing_sale', s=result))
|
||||
sale_created = channel._create_sale(result)
|
||||
sale_created = channel.validate_sale(result)
|
||||
if sale_created:
|
||||
generic_code = self.start.channel.generic_product.code if self.start.channel.generic_product else None
|
||||
product_generic = [
|
||||
|
@ -322,7 +322,7 @@ class SynchronizeChannelOrders(Wizard):
|
|||
sales = Sale.search([('reference', '=', str(res['id']))])
|
||||
shipment_status = ''
|
||||
if not sales:
|
||||
sale_created = channel._create_sale(res)
|
||||
sale_created = channel.validate_sale(res)
|
||||
shipment_status = sale_created.comment
|
||||
sales = [sale_created]
|
||||
else:
|
||||
|
@ -356,7 +356,6 @@ class SynchronizeChannelOrders(Wizard):
|
|||
date_to = str(self.start.date_end) + 'T00:00:00.000-00:00'
|
||||
URI = 'https://%s:%s@%s/admin/api/2020-10/orders.json?status=any&created_at_min=%s&created_at_max=%s' % (
|
||||
channel.api_key, channel.password_api, channel.host_name, date_from, date_to)
|
||||
print(URI)
|
||||
result = Shopify.get_response(URI).json()
|
||||
print('quantity orders----> ', len(result['orders']))
|
||||
|
||||
|
|
Loading…
Reference in New Issue