mirror of
https://github.com/OCA/pms.git
synced 2025-01-29 00:17:45 +02:00
[WIP][IMP][11.0] hotel
This commit is contained in:
@@ -4,7 +4,6 @@
|
||||
import datetime
|
||||
from openerp import models, fields, api, _
|
||||
from openerp.exceptions import except_orm, ValidationError
|
||||
from odoo.addons.hotel import date_utils
|
||||
|
||||
|
||||
class Cardex(models.Model):
|
||||
@@ -53,7 +52,7 @@ class Cardex(models.Model):
|
||||
@api.onchange('enter_date', 'exit_date')
|
||||
def check_change_dates(self):
|
||||
if self.exit_date <= self.enter_date:
|
||||
date_1 = date_utils.get_datetime(self.enter_date)
|
||||
date_1 = fields.Date.from_string(self.enter_date)
|
||||
date_2 = date_1 + datetime.timedelta(days=1)
|
||||
self.update({'exit_date': date_2, })
|
||||
raise ValidationError(
|
||||
|
||||
@@ -14,7 +14,6 @@ from odoo.tools import (
|
||||
DEFAULT_SERVER_DATETIME_FORMAT,
|
||||
DEFAULT_SERVER_DATE_FORMAT)
|
||||
from odoo import models, fields, api, _
|
||||
from odoo.addons.hotel import date_utils
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
from odoo.addons import decimal_precision as dp
|
||||
@@ -267,10 +266,8 @@ class HotelFolio(models.Model):
|
||||
|
||||
@api.multi
|
||||
def action_folios_amount(self):
|
||||
now_utc_dt = date_utils.now()
|
||||
now_utc_str = now_utc_dt.strftime(DEFAULT_SERVER_DATETIME_FORMAT)
|
||||
reservations = self.env['hotel.reservation'].search([
|
||||
('checkout', '<=', now_utc_str)
|
||||
('checkout', '<=', fields.Date.today())
|
||||
])
|
||||
folio_ids = reservations.mapped('folio_id.id')
|
||||
folios = self.env['hotel.folio'].search([('id', 'in', folio_ids)])
|
||||
|
||||
@@ -284,7 +284,7 @@ class HotelReservation(models.Model):
|
||||
'channel_type': vals.get('channel_type')})
|
||||
#~ colors = self._generate_color()
|
||||
vals.update({
|
||||
'last_updated_res': date_utils.now(hours=True).strftime(DEFAULT_SERVER_DATETIME_FORMAT),
|
||||
'last_updated_res': fields.Datetime.now(),
|
||||
#~ 'reserve_color': colors[0],
|
||||
#~ 'reserve_color_text': colors[1],
|
||||
})
|
||||
@@ -306,8 +306,7 @@ class HotelReservation(models.Model):
|
||||
def write(self, vals):
|
||||
if self.notify_update(vals):
|
||||
vals.update({
|
||||
'last_updated_res': date_utils.now(hours=True).strftime(
|
||||
DEFAULT_SERVER_DATETIME_FORMAT)
|
||||
'last_updated_res': fields.Datetime.now()
|
||||
})
|
||||
for record in self:
|
||||
if record.compute_price_out_vals(vals):
|
||||
@@ -902,15 +901,9 @@ class HotelReservation(models.Model):
|
||||
@api.model
|
||||
def daily_plan(self):
|
||||
_logger.info('daily_plan')
|
||||
today_utc_dt = date_utils.now()
|
||||
yesterday_utc_dt = today_utc_dt - timedelta(days=1)
|
||||
hotel_tz = self.env['ir.default'].sudo().get('res.config.settings',
|
||||
'tz_hotel')
|
||||
today_dt = date_utils.dt_as_timezone(today_utc_dt, hotel_tz)
|
||||
yesterday_dt = date_utils.dt_as_timezone(yesterday_utc_dt, hotel_tz)
|
||||
|
||||
today_str = today_dt.strftime(DEFAULT_SERVER_DATE_FORMAT)
|
||||
yesterday_str = yesterday_dt.strftime(DEFAULT_SERVER_DATE_FORMAT)
|
||||
today_str = fields.Date.today()
|
||||
yesterday_utc_dt = datetime.now() - timedelta(days=1)
|
||||
yesterday_str = yesterday_utc_dt.strftime(DEFAULT_SERVER_DATE_FORMAT)
|
||||
reservations_to_checkout = self.env['hotel.reservation'].search([
|
||||
('state', 'not in', ['done']),
|
||||
('checkout', '<', today_str)
|
||||
|
||||
@@ -4,7 +4,6 @@ from datetime import datetime
|
||||
from odoo import models, fields, api, _
|
||||
from odoo.exceptions import ValidationError
|
||||
from odoo.tools import DEFAULT_SERVER_DATE_FORMAT
|
||||
from odoo.addons.hotel import date_utils
|
||||
|
||||
|
||||
class HotelRoomTypeRestrictionItem(models.Model):
|
||||
@@ -59,8 +58,8 @@ class HotelRoomTypeRestrictionItem(models.Model):
|
||||
self.date_start = False
|
||||
self.date_end = False
|
||||
elif self.date_start and self.date_end:
|
||||
date_start_dt = date_utils.get_datetime(self.date_start)
|
||||
date_end_dt = date_utils.get_datetime(self.date_end)
|
||||
date_start_dt = fields.Date.from_string(self.date_start)
|
||||
date_end_dt = fields.Date.from_string(self.date_end)
|
||||
if date_end_dt < date_start_dt:
|
||||
raise ValidationError(_("Invalid Dates"))
|
||||
|
||||
|
||||
@@ -6,7 +6,6 @@ import logging
|
||||
from odoo import models, fields, api, _
|
||||
from odoo.tools import DEFAULT_SERVER_DATETIME_FORMAT
|
||||
from odoo.exceptions import UserError
|
||||
from odoo.addons.hotel import date_utils
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
from odoo.addons import decimal_precision as dp
|
||||
@@ -91,12 +90,12 @@ class HotelServiceLine(models.Model):
|
||||
('mail', 'Mail'),
|
||||
('phone', 'Phone'),
|
||||
('call', 'Call Center'),
|
||||
('web','Web')], 'Sales Channel')
|
||||
('web', 'Web')], 'Sales Channel')
|
||||
|
||||
ser_checkin = fields.Datetime('From Date', required=True,
|
||||
default=_service_checkin)
|
||||
ser_checkout = fields.Datetime('To Date', required=True,
|
||||
default=_service_checkout)
|
||||
ser_checkin = fields.Date('From Date', required=True,
|
||||
default=_service_checkin)
|
||||
ser_checkout = fields.Date('To Date', required=True,
|
||||
default=_service_checkout)
|
||||
ser_room_line = fields.Many2one('hotel.reservation', 'Room',
|
||||
default=_default_ser_room_line)
|
||||
|
||||
@@ -199,20 +198,17 @@ class HotelServiceLine(models.Model):
|
||||
-----------------------------------------------------------------
|
||||
@param self: object pointer
|
||||
'''
|
||||
now_utc_dt = date_utils.now()
|
||||
now_utc = fields.Date.today()
|
||||
if not self.ser_checkin:
|
||||
self.ser_checkin = now_utc_dt.strftime(
|
||||
DEFAULT_SERVER_DATETIME_FORMAT)
|
||||
self.ser_checkin = now_utc
|
||||
if not self.ser_checkout:
|
||||
self.ser_checkout = now_utc_dt.strftime(
|
||||
DEFAULT_SERVER_DATETIME_FORMAT)
|
||||
chkin_utc_dt = date_utils.get_datetime(self.ser_checkin)
|
||||
chkout_utc_dt = date_utils.get_datetime(self.ser_checkout)
|
||||
self.ser_checkout = now_utc
|
||||
chkin_utc_dt = fields.Date.from_string(self.ser_checkin)
|
||||
chkout_utc_dt = fields.Date.from_string(self.ser_checkout)
|
||||
if chkout_utc_dt < chkin_utc_dt:
|
||||
raise UserError(_('Checkout must be greater or equal checkin date'))
|
||||
if self.ser_checkin and self.ser_checkout:
|
||||
diffDate = date_utils.date_diff(self.ser_checkin,
|
||||
self.ser_checkout, hours=False) + 1
|
||||
diffDate = abs((self.ser_checkout - self.ser_checkin).days) + 1
|
||||
# FIXME: Finalize method!
|
||||
|
||||
@api.multi
|
||||
|
||||
Reference in New Issue
Block a user