mirror of
https://github.com/OCA/pms.git
synced 2025-01-29 00:17:45 +02:00
Merge branch '11.0' of https://github.com/hootel/hootel into sprint
This commit is contained in:
@@ -27,9 +27,9 @@ import logging
|
|||||||
_logger = logging.getLogger(__name__)
|
_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 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):
|
class Data_Bi(models.Model):
|
||||||
@@ -550,26 +550,31 @@ class Data_Bi(models.Model):
|
|||||||
# Expedia.
|
# Expedia.
|
||||||
expedia_rate = self.data_bi_rate_expedia(reserva)
|
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 -------------------
|
# # Debug Stop -------------------
|
||||||
# import wdb; wdb.set_trace()
|
# import wdb; wdb.set_trace()
|
||||||
# # Debug Stop -------------------
|
# # Debug Stop -------------------
|
||||||
|
|
||||||
precio_iva = precio_neto-(precio_neto/1.1)
|
precio_iva = precio_neto-(precio_neto/1.1)
|
||||||
precio_neto -= precio_iva
|
precio_neto -= precio_iva
|
||||||
|
|
||||||
if (expedia_rate[3] == 'MERCHANT'):
|
precio_comision = inv_percent_inc(precio_neto, expedia_rate[1])
|
||||||
precio_comision = inv_percent(precio_neto, expedia_rate[1])
|
precio_neto -= precio_comision
|
||||||
precio_neto += precio_comision
|
|
||||||
# iva "interno" de expedia.....
|
# if (expedia_rate[3] == 'MERCHANT'):
|
||||||
precio_iva2 = (precio_neto*10/100)
|
# # iva "interno" de expedia.....
|
||||||
precio_neto += precio_iva2
|
# precio_iva2 = precio_neto-(precio_neto/1.1)
|
||||||
else:
|
# precio_neto -= precio_iva2
|
||||||
precio_comision = precio_neto*((100 - expedia_rate[1])/100)
|
# precio_comision += precio_iva2
|
||||||
precio_neto += precio_comision
|
# else:
|
||||||
precio_neto -= precio_comision
|
# precio_comision = inv_percent_inc(precio_neto, expedia_rate[1])
|
||||||
|
# precio_neto += precio_comision
|
||||||
|
|
||||||
if expedia_rate[2] != 'NONE':
|
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
|
||||||
# De enero a marzo: 7%
|
# De enero a marzo: 7%
|
||||||
# De abril a 15 octubre: 5%
|
# De abril a 15 octubre: 5%
|
||||||
# De 16 octubre a 31 diciembre: 7%
|
# De 16 octubre a 31 diciembre: 7%
|
||||||
@@ -580,12 +585,10 @@ class Data_Bi(models.Model):
|
|||||||
fence_dto = 5
|
fence_dto = 5
|
||||||
if (fence_dia > 15) and (fence_mes == 10):
|
if (fence_dia > 15) and (fence_mes == 10):
|
||||||
fence_dto = 7
|
fence_dto = 7
|
||||||
precio_dto += inv_percent(precio_neto, fence_dto)
|
precio_dto += inv_percent_inc(precio_neto, fence_dto)
|
||||||
precio_neto += precio_dto
|
|
||||||
|
|
||||||
if expedia_rate[0] == 'NON-REFUNDABLE':
|
if expedia_rate[0] == 'NON-REFUNDABLE':
|
||||||
precio_dto += inv_percent(precio_neto, 3)
|
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",
|
# _logger.info("%s - %s - %s - %s - En Odoo:%s - Neto a MOP:%s",
|
||||||
# reserva.reservation_id.folio_id.name,
|
# reserva.reservation_id.folio_id.name,
|
||||||
|
|||||||
@@ -24,33 +24,38 @@ class ResPartner(models.Model):
|
|||||||
write_customer = False
|
write_customer = False
|
||||||
if any(partner_res):
|
if any(partner_res):
|
||||||
# Change customer data
|
# Change customer data
|
||||||
_logger.warning('ROOMMATIK %s exist in BD [ %s ] Rewriting',
|
|
||||||
partner_res[0].document_number,
|
|
||||||
partner_res[0].id,)
|
|
||||||
try:
|
try:
|
||||||
partner_res[0].update(self.rm_prepare_customer(customer))
|
partner_res[0].update(self.rm_prepare_customer(customer))
|
||||||
write_customer = partner_res[0]
|
write_customer = partner_res[0]
|
||||||
except:
|
_logger.info('ROOMMATIK %s exist in BD [ %s ] Rewriting',
|
||||||
_logger.error('ROOMMATIK Rewriting [%s] in BD [ %s ] ID',
|
partner_res[0].document_number,
|
||||||
partner_res[0].document_number,
|
partner_res[0].id,)
|
||||||
partner_res[0].id,)
|
except Exception as e:
|
||||||
|
error_name = e.name
|
||||||
else:
|
else:
|
||||||
# Create new customer
|
# Create new customer
|
||||||
try:
|
try:
|
||||||
write_customer = self.create(self.rm_prepare_customer(customer))
|
self.create(self.rm_prepare_customer(customer))
|
||||||
_logger.info('ROOMMATIK Writing %s Name: %s',
|
_logger.info('ROOMMATIK Created %s Name: %s',
|
||||||
customer['IdentityDocument']['Number'],
|
customer['IdentityDocument']['Number'],
|
||||||
customer['FirstName'])
|
customer['FirstName'])
|
||||||
except:
|
write_customer = self.env['res.partner'].search([
|
||||||
_logger.error('ROOMMATIK Creating %s %s in BD',
|
('document_number', '=',
|
||||||
customer['IdentityDocument']['Number'],
|
customer['IdentityDocument']['Number'])])
|
||||||
customer['FirstName'])
|
except Exception as e:
|
||||||
|
error_name = e.name
|
||||||
|
partner_res = self.env['res.partner'].search([(
|
||||||
|
'document_number', '=',
|
||||||
|
customer['IdentityDocument']['Number'])])
|
||||||
|
partner_res.unlink()
|
||||||
|
|
||||||
if write_customer:
|
if write_customer:
|
||||||
json_response = self.rm_get_a_customer(write_customer.id)
|
json_response = self.rm_get_a_customer(write_customer.id)
|
||||||
json_response = json.dumps(json_response)
|
json_response = json.dumps(json_response)
|
||||||
return json_response
|
return json_response
|
||||||
else:
|
else:
|
||||||
return False
|
_logger.error(error_name)
|
||||||
|
return [False, error_name]
|
||||||
|
|
||||||
def rm_prepare_customer(self, customer):
|
def rm_prepare_customer(self, customer):
|
||||||
# Check Sex string
|
# Check Sex string
|
||||||
@@ -77,7 +82,7 @@ class ResPartner(models.Model):
|
|||||||
'street': customer['Address']['Street'],
|
'street': customer['Address']['Street'],
|
||||||
'street2': street_2,
|
'street2': street_2,
|
||||||
'state_id': state.id if state else False,
|
'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'],
|
'phone': customer['Contact']['Telephone'],
|
||||||
'mobile': customer['Contact']['Mobile'],
|
'mobile': customer['Contact']['Mobile'],
|
||||||
'email': customer['Contact']['Email'],
|
'email': customer['Contact']['Email'],
|
||||||
@@ -101,13 +106,13 @@ class ResPartner(models.Model):
|
|||||||
response['Address'] = {
|
response['Address'] = {
|
||||||
# 'Nationality': 'xxxxx'
|
# 'Nationality': 'xxxxx'
|
||||||
'Country': partner.country_id.code_alpha3,
|
'Country': partner.country_id.code_alpha3,
|
||||||
'ZipCode': partner.zip,
|
'ZipCode': partner.zip if partner.zip else "",
|
||||||
'City': partner.city,
|
'City': partner.city if partner.city else "",
|
||||||
'Street': partner.street,
|
'Street': partner.street if partner.street else "",
|
||||||
'House': partner.street2,
|
'House': partner.street2 if partner.street2 else "",
|
||||||
# 'Flat': "xxxxxxx",
|
# 'Flat': "xxxxxxx",
|
||||||
# 'Number': "xxxxxxx",
|
# 'Number': "xxxxxxx",
|
||||||
'Province': partner.state_id.name,
|
'Province': partner.state_id.name if partner.state_id.name else "",
|
||||||
}
|
}
|
||||||
response['IdentityDocument'] = {
|
response['IdentityDocument'] = {
|
||||||
'Number': partner.document_number,
|
'Number': partner.document_number,
|
||||||
@@ -116,9 +121,9 @@ class ResPartner(models.Model):
|
|||||||
'ExpeditionDate': partner.document_expedition_date,
|
'ExpeditionDate': partner.document_expedition_date,
|
||||||
}
|
}
|
||||||
response['Contact'] = {
|
response['Contact'] = {
|
||||||
'Telephone': partner.phone,
|
'Telephone': partner.phone if partner.phone else "",
|
||||||
# 'Fax': 'xxxxxxx',
|
# 'Fax': 'xxxxxxx',
|
||||||
'Mobile': partner.mobile,
|
'Mobile': partner.mobile if partner.mobile else "",
|
||||||
'Email': partner.email,
|
'Email': partner.email if partner.email else "",
|
||||||
}
|
}
|
||||||
return response
|
return response
|
||||||
|
|||||||
Reference in New Issue
Block a user