From cbb96a94d60da85bb570d1a730fb2085f31cea80 Mon Sep 17 00:00:00 2001 From: Jose Luis Date: Tue, 16 Jul 2019 13:33:10 +0200 Subject: [PATCH 1/5] [FIX] contry_id and partner creation. --- .../models/inherited_res_partner.py | 27 ++++++++++++------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/hotel_roommatik/models/inherited_res_partner.py b/hotel_roommatik/models/inherited_res_partner.py index 5ebaa81f0..289eb496b 100755 --- a/hotel_roommatik/models/inherited_res_partner.py +++ b/hotel_roommatik/models/inherited_res_partner.py @@ -24,12 +24,12 @@ class ResPartner(models.Model): write_customer = False if any(partner_res): # Change customer data - _logger.warning('ROOMMATIK %s exist in BD [ %s ] Rewriting', - partner_res[0].document_number, - partner_res[0].id,) try: partner_res[0].update(self.rm_prepare_customer(customer)) write_customer = partner_res[0] + _logger.info('ROOMMATIK %s exist in BD [ %s ] Rewriting', + partner_res[0].document_number, + partner_res[0].id,) except: _logger.error('ROOMMATIK Rewriting [%s] in BD [ %s ] ID', partner_res[0].document_number, @@ -37,19 +37,28 @@ class ResPartner(models.Model): else: # Create new customer try: - write_customer = self.create(self.rm_prepare_customer(customer)) - _logger.info('ROOMMATIK Writing %s Name: %s', + self.create(self.rm_prepare_customer(customer)) + _logger.info('ROOMMATIK Created %s Name: %s', customer['IdentityDocument']['Number'], customer['FirstName']) + write_customer = self.env['res.partner'].search([ + ('document_number', '=', + customer['IdentityDocument']['Number'])]) except: - _logger.error('ROOMMATIK Creating %s %s in BD', - customer['IdentityDocument']['Number'], - customer['FirstName']) + write_customer = False + partner_res = self.env['res.partner'].search([( + 'document_number', '=', + customer['IdentityDocument']['Number'])]) + partner_res.unlink() + if write_customer: json_response = self.rm_get_a_customer(write_customer.id) json_response = json.dumps(json_response) return json_response else: + _logger.error('ROOMMATIK Creating %s %s in BD', + customer['IdentityDocument']['Number'], + customer['FirstName']) return False def rm_prepare_customer(self, customer): @@ -77,7 +86,7 @@ class ResPartner(models.Model): 'street': customer['Address']['Street'], 'street2': street_2, 'state_id': state.id if state else False, - 'country': country.id if country else False, + 'country_id': country.id if country else False, 'phone': customer['Contact']['Telephone'], 'mobile': customer['Contact']['Mobile'], 'email': customer['Contact']['Email'], From 445188dbcda8bf089f79252e91abe4a8b324a56d Mon Sep 17 00:00:00 2001 From: Jose Luis Date: Tue, 16 Jul 2019 18:34:20 +0200 Subject: [PATCH 2/5] [IMP] Exception error mensages --- hotel_roommatik/models/inherited_res_partner.py | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/hotel_roommatik/models/inherited_res_partner.py b/hotel_roommatik/models/inherited_res_partner.py index 289eb496b..d8790589b 100755 --- a/hotel_roommatik/models/inherited_res_partner.py +++ b/hotel_roommatik/models/inherited_res_partner.py @@ -30,10 +30,8 @@ class ResPartner(models.Model): _logger.info('ROOMMATIK %s exist in BD [ %s ] Rewriting', partner_res[0].document_number, partner_res[0].id,) - except: - _logger.error('ROOMMATIK Rewriting [%s] in BD [ %s ] ID', - partner_res[0].document_number, - partner_res[0].id,) + except Exception as e: + error_name = e.name else: # Create new customer try: @@ -44,8 +42,8 @@ class ResPartner(models.Model): write_customer = self.env['res.partner'].search([ ('document_number', '=', customer['IdentityDocument']['Number'])]) - except: - write_customer = False + except Exception as e: + error_name = e.name partner_res = self.env['res.partner'].search([( 'document_number', '=', customer['IdentityDocument']['Number'])]) @@ -56,10 +54,8 @@ class ResPartner(models.Model): json_response = json.dumps(json_response) return json_response else: - _logger.error('ROOMMATIK Creating %s %s in BD', - customer['IdentityDocument']['Number'], - customer['FirstName']) - return False + _logger.error(error_name) + return [False, error_name] def rm_prepare_customer(self, customer): # Check Sex string From 2e943245819672e1a74a0c917c5a47c5b69f5833 Mon Sep 17 00:00:00 2001 From: Jose Luis Date: Wed, 17 Jul 2019 21:51:36 +0200 Subject: [PATCH 3/5] [FIX] Expedia calculus --- hotel_data_bi/models/data_bi.py | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/hotel_data_bi/models/data_bi.py b/hotel_data_bi/models/data_bi.py index 900a41393..0aa619cff 100644 --- a/hotel_data_bi/models/data_bi.py +++ b/hotel_data_bi/models/data_bi.py @@ -27,9 +27,9 @@ import logging _logger = logging.getLogger(__name__) -def inv_percent(amount, percent): +def inv_percent_inc(amount, percent): """Return the amount to which a percentage was applied.""" - return round(amount*(100/float(100-percent)) - amount, 2) + return (amount - (amount*(100-percent))/100) class Data_Bi(models.Model): @@ -554,20 +554,19 @@ class Data_Bi(models.Model): # # Debug Stop ------------------- # import wdb; wdb.set_trace() # # Debug Stop ------------------- - precio_iva = precio_neto-(precio_neto/1.1) precio_neto -= precio_iva if (expedia_rate[3] == 'MERCHANT'): - precio_comision = inv_percent(precio_neto, expedia_rate[1]) - precio_neto += precio_comision - # iva "interno" de expedia..... - precio_iva2 = (precio_neto*10/100) - precio_neto += precio_iva2 - else: - precio_comision = precio_neto*((100 - expedia_rate[1])/100) - precio_neto += precio_comision + precio_comision = inv_percent_inc(precio_neto, expedia_rate[1]) precio_neto -= precio_comision + # iva "interno" de expedia..... + precio_iva2 = precio_neto-(precio_neto/1.1) + precio_neto -= precio_iva2 + precio_comision += precio_iva2 + else: + precio_comision = inv_percent_inc(precio_neto, expedia_rate[1]) + precio_neto += precio_comision if expedia_rate[2] != 'NONE': # De enero a marzo: 7% @@ -580,12 +579,12 @@ class Data_Bi(models.Model): fence_dto = 5 if (fence_dia > 15) and (fence_mes == 10): fence_dto = 7 - precio_dto += inv_percent(precio_neto, fence_dto) - precio_neto += precio_dto + precio_dto += inv_percent_inc(precio_neto, fence_dto) + # precio_neto += precio_dto if expedia_rate[0] == 'NON-REFUNDABLE': - precio_dto += inv_percent(precio_neto, 3) - precio_neto += precio_dto + precio_dto += inv_percent_inc(precio_neto, 3) + # precio_neto += precio_dto # _logger.info("%s - %s - %s - %s - En Odoo:%s - Neto a MOP:%s", # reserva.reservation_id.folio_id.name, From 595226f92c0c5af6caaec6fa20913027d1e23eee Mon Sep 17 00:00:00 2001 From: Jose Luis Date: Thu, 18 Jul 2019 20:04:14 +0200 Subject: [PATCH 4/5] [FIX] Expedia Calculus (Colect gestion) --- hotel_data_bi/models/data_bi.py | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/hotel_data_bi/models/data_bi.py b/hotel_data_bi/models/data_bi.py index 0aa619cff..41109015f 100644 --- a/hotel_data_bi/models/data_bi.py +++ b/hotel_data_bi/models/data_bi.py @@ -550,25 +550,31 @@ class Data_Bi(models.Model): # Expedia. expedia_rate = self.data_bi_rate_expedia(reserva) - # if reserva.reservation_id.folio_id.name == 'F/03767': + # if reserva.reservation_id.folio_id.name == 'F/08211': # # Debug Stop ------------------- # import wdb; wdb.set_trace() # # Debug Stop ------------------- precio_iva = precio_neto-(precio_neto/1.1) precio_neto -= precio_iva - if (expedia_rate[3] == 'MERCHANT'): - precio_comision = inv_percent_inc(precio_neto, expedia_rate[1]) - precio_neto -= precio_comision - # iva "interno" de expedia..... + precio_comision = inv_percent_inc(precio_neto, expedia_rate[1]) + precio_neto -= precio_comision + + # if (expedia_rate[3] == 'MERCHANT'): + # # iva "interno" de expedia..... + # precio_iva2 = precio_neto-(precio_neto/1.1) + # precio_neto -= precio_iva2 + # precio_comision += precio_iva2 + # else: + # precio_comision = inv_percent_inc(precio_neto, expedia_rate[1]) + # precio_neto += precio_comision + + if expedia_rate[2] != 'NONE': + # Es Promocion (Fence, Packet, etc.) + # "iva" "interno" de expedia..... es una comision extra precio_iva2 = precio_neto-(precio_neto/1.1) precio_neto -= precio_iva2 precio_comision += precio_iva2 - else: - precio_comision = inv_percent_inc(precio_neto, expedia_rate[1]) - precio_neto += precio_comision - - if expedia_rate[2] != 'NONE': # De enero a marzo: 7% # De abril a 15 octubre: 5% # De 16 octubre a 31 diciembre: 7% @@ -580,11 +586,9 @@ class Data_Bi(models.Model): if (fence_dia > 15) and (fence_mes == 10): fence_dto = 7 precio_dto += inv_percent_inc(precio_neto, fence_dto) - # precio_neto += precio_dto if expedia_rate[0] == 'NON-REFUNDABLE': precio_dto += inv_percent_inc(precio_neto, 3) - # precio_neto += precio_dto # _logger.info("%s - %s - %s - %s - En Odoo:%s - Neto a MOP:%s", # reserva.reservation_id.folio_id.name, From 84da48aa98fa9fa5fb96e7fbd82e626ba5141e3e Mon Sep 17 00:00:00 2001 From: Jose Luis Date: Fri, 19 Jul 2019 11:21:56 +0200 Subject: [PATCH 5/5] [IMP] Add blank content instead False --- hotel_roommatik/models/inherited_res_partner.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/hotel_roommatik/models/inherited_res_partner.py b/hotel_roommatik/models/inherited_res_partner.py index d8790589b..286583010 100755 --- a/hotel_roommatik/models/inherited_res_partner.py +++ b/hotel_roommatik/models/inherited_res_partner.py @@ -106,13 +106,13 @@ class ResPartner(models.Model): response['Address'] = { # 'Nationality': 'xxxxx' 'Country': partner.country_id.code_alpha3, - 'ZipCode': partner.zip, - 'City': partner.city, - 'Street': partner.street, - 'House': partner.street2, + 'ZipCode': partner.zip if partner.zip else "", + 'City': partner.city if partner.city else "", + 'Street': partner.street if partner.street else "", + 'House': partner.street2 if partner.street2 else "", # 'Flat': "xxxxxxx", # 'Number': "xxxxxxx", - 'Province': partner.state_id.name, + 'Province': partner.state_id.name if partner.state_id.name else "", } response['IdentityDocument'] = { 'Number': partner.document_number, @@ -121,9 +121,9 @@ class ResPartner(models.Model): 'ExpeditionDate': partner.document_expedition_date, } response['Contact'] = { - 'Telephone': partner.phone, + 'Telephone': partner.phone if partner.phone else "", # 'Fax': 'xxxxxxx', - 'Mobile': partner.mobile, - 'Email': partner.email, + 'Mobile': partner.mobile if partner.mobile else "", + 'Email': partner.email if partner.email else "", } return response