mirror of
https://github.com/OCA/pms.git
synced 2025-01-29 00:17:45 +02:00
[FIX] Unifying dates system
This commit is contained in:
committed by
Dario Lodeiros
parent
b0597cce34
commit
4e455062d6
@@ -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'] = {}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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 != ""}
|
||||
|
||||
|
||||
@@ -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__)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user