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__)
|
||||
|
||||
|
||||
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):
|
||||
@@ -550,26 +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(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_neto -= precio_comision
|
||||
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
|
||||
# De enero a marzo: 7%
|
||||
# De abril a 15 octubre: 5%
|
||||
# De 16 octubre a 31 diciembre: 7%
|
||||
@@ -580,12 +585,10 @@ 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)
|
||||
|
||||
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)
|
||||
|
||||
# _logger.info("%s - %s - %s - %s - En Odoo:%s - Neto a MOP:%s",
|
||||
# reserva.reservation_id.folio_id.name,
|
||||
|
||||
@@ -24,33 +24,38 @@ 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]
|
||||
except:
|
||||
_logger.error('ROOMMATIK Rewriting [%s] in BD [ %s ] ID',
|
||||
partner_res[0].document_number,
|
||||
partner_res[0].id,)
|
||||
_logger.info('ROOMMATIK %s exist in BD [ %s ] Rewriting',
|
||||
partner_res[0].document_number,
|
||||
partner_res[0].id,)
|
||||
except Exception as e:
|
||||
error_name = e.name
|
||||
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'])
|
||||
except:
|
||||
_logger.error('ROOMMATIK Creating %s %s in BD',
|
||||
customer['IdentityDocument']['Number'],
|
||||
customer['FirstName'])
|
||||
write_customer = self.env['res.partner'].search([
|
||||
('document_number', '=',
|
||||
customer['IdentityDocument']['Number'])])
|
||||
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:
|
||||
json_response = self.rm_get_a_customer(write_customer.id)
|
||||
json_response = json.dumps(json_response)
|
||||
return json_response
|
||||
else:
|
||||
return False
|
||||
_logger.error(error_name)
|
||||
return [False, error_name]
|
||||
|
||||
def rm_prepare_customer(self, customer):
|
||||
# Check Sex string
|
||||
@@ -77,7 +82,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'],
|
||||
@@ -101,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,
|
||||
@@ -116,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
|
||||
|
||||
Reference in New Issue
Block a user