diff --git a/hotel_roommatik/models/inherited_hotel_checkin_partner.py b/hotel_roommatik/models/inherited_hotel_checkin_partner.py index 2764dea55..6563f987d 100644 --- a/hotel_roommatik/models/inherited_hotel_checkin_partner.py +++ b/hotel_roommatik/models/inherited_hotel_checkin_partner.py @@ -9,6 +9,7 @@ from odoo.addons.hotel_roommatik.models.roommatik import ( from datetime import datetime import logging + class HotelFolio(models.Model): _inherit = 'hotel.checkin.partner' @@ -19,33 +20,32 @@ class HotelFolio(models.Model): if not stay.get('ReservationCode'): reservation_obj = self.env['hotel.reservation'] vals = { - checkin: datetime.strptime(stay["Arrival"], - DEFAULT_ROOMMATIK_DATE_FORMAT).date(), - checkout: datetime.strptime(stay["Departure"], - DEFAULT_ROOMMATIK_DATE_FORMAT).date(), - adults: stay['Adults'], - room_type_id: stay['RoomType'], - partner_id: stay["Customers"][0]["Id"] + 'checkin': datetime.strptime( + stay["Arrival"], DEFAULT_ROOMMATIK_DATE_FORMAT).date(), + 'checkout': datetime.strptime( + stay["Departure"], DEFAULT_ROOMMATIK_DATE_FORMAT).date(), + 'adults': stay['Adults'], + 'room_type_id': stay['RoomType'], + 'partner_id': stay["Customers"][0]["Id"] } reservation_rm = reservation_obj.create(vals) else: - reservation_rm = self.env['hotel.reservation'].browse(stay['ReservationCode']) + reservation_rm = self.env['hotel.reservation'].browse( + stay['ReservationCode']) total_chekins = reservation_rm.checkin_partner_pending_count if total_chekins > 0 and len(stay["Customers"]) <= total_chekins: _logger.info('ROOMMATIK checkin %s customer in %s Reservation.', total_chekins, reservation_rm.id) for room_partner in stay["Customers"]: - # ADD costumer ? - # costumer = self.env['res.partner'].rm_add_customer(room_partner["Customer"]) checkin_partner_val = { 'folio_id': reservation_rm.folio_id.id, 'reservation_id': reservation_rm.id, - 'enter_date': datetime.strptime(stay["Arrival"], - "%d%m%Y").date(), - 'exit_date': datetime.strptime(stay["Departure"], - "%d%m%Y").date(), + 'enter_date': datetime.strptime( + stay["Arrival"], DEFAULT_ROOMMATIK_DATE_FORMAT).date(), + 'exit_date': datetime.strptime( + stay["Departure"], DEFAULT_ROOMMATIK_DATE_FORMAT).date(), 'partner_id': room_partner["Customer"]["Id"], } try: @@ -84,10 +84,10 @@ class HotelFolio(models.Model): default_departure_hour = self.env['ir.default'].sudo().get( 'res.config.settings', 'default_departure_hour') if any(checkin_partner): - arrival = "%s %s" % (checkin_partner.enter_date, - default_arrival_hour) - departure = "%s %s" % (checkin_partner.exit_date, - default_departure_hour) + arrival = "%s %s:00" % (checkin_partner.enter_date.strftime( + DEFAULT_ROOMMATIK_DATE_FORMAT), default_arrival_hour) + departure = "%s %s:00" % (checkin_partner.exit_date.strftime( + DEFAULT_ROOMMATIK_DATE_FORMAT), default_departure_hour) stay = {'Code': checkin_partner.id} stay['Id'] = checkin_partner.id stay['Room'] = {} diff --git a/hotel_roommatik/models/inherited_hotel_reservation.py b/hotel_roommatik/models/inherited_hotel_reservation.py index 067d7402e..6ce38fcfe 100644 --- a/hotel_roommatik/models/inherited_hotel_reservation.py +++ b/hotel_roommatik/models/inherited_hotel_reservation.py @@ -1,16 +1,12 @@ # Copyright 2019 Jose Luis Algara (Alda hotels) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -from odoo import api, models, fields -from odoo.addons.hotel_roommatik.models.roommatik import ( - DEFAULT_ROOMMATIK_DATE_FORMAT, - DEFAULT_ROOMMATIK_DATETIME_FORMAT) -from datetime import datetime, timedelta -from dateutil import tz +from odoo import api, models import json import logging _logger = logging.getLogger(__name__) + class HotelReservation(models.Model): _inherit = 'hotel.reservation' @@ -33,7 +29,6 @@ class HotelReservation(models.Model): return deposit return folio.invoices_paid - @api.model def rm_get_reservation(self, code): # Search by localizator diff --git a/hotel_roommatik/models/inherited_hotel_room_type.py b/hotel_roommatik/models/inherited_hotel_room_type.py index cfde69834..ea5de72ac 100644 --- a/hotel_roommatik/models/inherited_hotel_room_type.py +++ b/hotel_roommatik/models/inherited_hotel_room_type.py @@ -5,8 +5,7 @@ from odoo import api, models, fields from datetime import datetime, timedelta import json from odoo.addons.hotel_roommatik.models.roommatik import ( - DEFAULT_ROOMMATIK_DATE_FORMAT, - DEFAULT_ROOMMATIK_DATE_FORMAT) + DEFAULT_ROOMMATIK_DATE_FORMAT,) import logging _logger = logging.getLogger(__name__) @@ -51,7 +50,8 @@ class HotelRoomType(models.Model): return json_response @api.model - def rm_get_prices(self, start_date, number_intervals, room_type, guest_number): + def rm_get_prices(self, start_date, number_intervals, + room_type, guest_number): start_date = fields.Datetime.from_string(start_date) end_date = start_date + timedelta(days=number_intervals) dfrom = start_date.strftime( diff --git a/hotel_roommatik/models/inherited_res_partner.py b/hotel_roommatik/models/inherited_res_partner.py index 286583010..e8a48b0bf 100755 --- a/hotel_roommatik/models/inherited_res_partner.py +++ b/hotel_roommatik/models/inherited_res_partner.py @@ -5,6 +5,8 @@ import json from odoo import api, models from datetime import datetime import logging +from odoo.addons.hotel_roommatik.models.roommatik import ( + DEFAULT_ROOMMATIK_DATE_FORMAT) class ResPartner(models.Model): @@ -31,7 +33,10 @@ class ResPartner(models.Model): partner_res[0].document_number, partner_res[0].id,) except Exception as e: - error_name = e.name + if 'args' in e.__dir__(): + error_name = e.args + else: + error_name = e.name else: # Create new customer try: @@ -43,12 +48,17 @@ class ResPartner(models.Model): ('document_number', '=', customer['IdentityDocument']['Number'])]) except Exception as e: - error_name = e.name + if 'args' in e.__dir__(): + error_name = e.args + else: + 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) @@ -74,8 +84,8 @@ class ResPartner(models.Model): 'firstname': customer['FirstName'], 'lastname': customer['LastName1'], 'lastname2': customer['LastName2'], - 'birthdate_date': datetime.strptime(customer['Birthday'], - "%d%m%Y").date(), + 'birthdate_date': datetime.strptime( + customer['Birthday'], DEFAULT_ROOMMATIK_DATE_FORMAT).date(), 'gender': customer['Sex'], 'zip': customer['Address']['ZipCode'], 'city': customer['Address']['City'], @@ -88,8 +98,9 @@ class ResPartner(models.Model): 'email': customer['Contact']['Email'], 'document_number': customer['IdentityDocument']['Number'], 'document_type': customer['IdentityDocument']['Type'], - 'document_expedition_date': datetime.strptime(customer[ - 'IdentityDocument']['ExpeditionDate'], "%d%m%Y").date(), + 'document_expedition_date': datetime.strptime( + customer['IdentityDocument']['ExpeditionDate'], + DEFAULT_ROOMMATIK_DATE_FORMAT).date(), } return {k: v for k, v in metadata.items() if v != ""} diff --git a/hotel_roommatik/models/roommatik.py b/hotel_roommatik/models/roommatik.py index 557009a0a..bc4bf22f6 100755 --- a/hotel_roommatik/models/roommatik.py +++ b/hotel_roommatik/models/roommatik.py @@ -4,9 +4,9 @@ import json from datetime import datetime from odoo import api, models, fields -from odoo.tools import ( - DEFAULT_SERVER_DATE_FORMAT, - DEFAULT_SERVER_DATETIME_FORMAT) +# from odoo.tools import ( +# DEFAULT_SERVER_DATE_FORMAT, +# DEFAULT_SERVER_DATETIME_FORMAT) import logging _logger = logging.getLogger(__name__)