[FIX] Unifying dates system

This commit is contained in:
Jose Luis
2019-07-22 17:47:45 +02:00
committed by Dario Lodeiros
parent b0597cce34
commit 4e455062d6
5 changed files with 43 additions and 37 deletions

View File

@@ -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'] = {}

View File

@@ -1,16 +1,12 @@
# Copyright 2019 Jose Luis Algara (Alda hotels) <osotranquilo@gmail.com>
# 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

View File

@@ -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(

View File

@@ -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 != ""}

View File

@@ -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__)