mirror of
https://github.com/OCA/pms.git
synced 2025-01-29 00:17:45 +02:00
[WIP] datetime by date
This commit is contained in:
@@ -155,7 +155,54 @@ class HotelReservation(models.Model):
|
||||
|
||||
@api.multi
|
||||
def _get_default_checkin(self):
|
||||
import wdb; wdb.set_trace()
|
||||
folio = False
|
||||
# default_arrival_hour = self.env['ir.default'].sudo().get(
|
||||
# 'res.config.settings', 'default_arrival_hour')
|
||||
if 'folio_id' in self._context:
|
||||
folio = self.env['hotel.folio'].search([
|
||||
('id', '=', self._context['folio_id'])
|
||||
])
|
||||
if folio and folio.room_lines:
|
||||
return folio.room_lines[0].checkin
|
||||
else:
|
||||
# tz_hotel = self.env['ir.default'].sudo().get(
|
||||
# 'res.config.settings', 'tz_hotel')
|
||||
# now_utc_dt = date_utils.now()
|
||||
# ndate = "%s %s:00" % \
|
||||
# (now_utc_dt.strftime(DEFAULT_SERVER_DATE_FORMAT),
|
||||
# default_arrival_hour)
|
||||
# ndate_dt = date_utils.get_datetime(ndate, stz=tz_hotel)
|
||||
# ndate_dt = date_utils.dt_as_timezone(ndate_dt, 'UTC')
|
||||
# return ndate_dt.strftime(DEFAULT_SERVER_DATETIME_FORMAT)
|
||||
# return fields.Date.today() ¿?
|
||||
return fields.Date.context_today(self)
|
||||
|
||||
@api.multi
|
||||
def _get_default_checkout(self):
|
||||
folio = False
|
||||
# default_departure_hour = self.env['ir.default'].sudo().get(
|
||||
# 'res.config.settings', 'default_departure_hour')
|
||||
if 'folio_id' in self._context:
|
||||
folio = self.env['hotel.folio'].search([
|
||||
('id', '=', self._context['folio_id'])
|
||||
])
|
||||
if folio and folio.room_lines:
|
||||
return folio.room_lines[0].checkout
|
||||
else:
|
||||
# tz_hotel = self.env['ir.default'].sudo().get(
|
||||
# 'res.config.settings', 'tz_hotel')
|
||||
# now_utc_dt = date_utils.now() + timedelta(days=1)
|
||||
# ndate = "%s %s:00" % \
|
||||
# (now_utc_dt.strftime(DEFAULT_SERVER_DATE_FORMAT),
|
||||
# default_departure_hour)
|
||||
# ndate_dt = date_utils.get_datetime(ndate, stz=tz_hotel)
|
||||
# ndate_dt = date_utils.dt_as_timezone(ndate_dt, 'UTC')
|
||||
# return ndate_dt.strftime(DEFAULT_SERVER_DATETIME_FORMAT)
|
||||
# return fields.Date.today() ¿?
|
||||
return fields.Date.context_today(self, datetime.now() + timedelta(days=1))
|
||||
|
||||
@api.multi
|
||||
def _get_default_arrival_hour(self):
|
||||
folio = False
|
||||
default_arrival_hour = self.env['ir.default'].sudo().get(
|
||||
'res.config.settings', 'default_arrival_hour')
|
||||
@@ -164,20 +211,12 @@ class HotelReservation(models.Model):
|
||||
('id', '=', self._context['folio_id'])
|
||||
])
|
||||
if folio and folio.room_lines:
|
||||
return folio.room_lines[0].checkin
|
||||
return folio.room_lines[0].arrival_hour
|
||||
else:
|
||||
tz_hotel = self.env['ir.default'].sudo().get(
|
||||
'res.config.settings', 'tz_hotel')
|
||||
now_utc_dt = date_utils.now()
|
||||
ndate = "%s %s:00" % \
|
||||
(now_utc_dt.strftime(DEFAULT_SERVER_DATE_FORMAT),
|
||||
default_arrival_hour)
|
||||
ndate_dt = date_utils.get_datetime(ndate, stz=tz_hotel)
|
||||
ndate_dt = date_utils.dt_as_timezone(ndate_dt, 'UTC')
|
||||
return ndate_dt.strftime(DEFAULT_SERVER_DATETIME_FORMAT)
|
||||
return default_arrival_hour
|
||||
|
||||
@api.model
|
||||
def _get_default_checkout(self):
|
||||
@api.multi
|
||||
def _get_default_departure_hour(self):
|
||||
folio = False
|
||||
default_departure_hour = self.env['ir.default'].sudo().get(
|
||||
'res.config.settings', 'default_departure_hour')
|
||||
@@ -186,17 +225,9 @@ class HotelReservation(models.Model):
|
||||
('id', '=', self._context['folio_id'])
|
||||
])
|
||||
if folio and folio.room_lines:
|
||||
return folio.room_lines[0].checkout
|
||||
return folio.room_lines[0].departure_hour
|
||||
else:
|
||||
tz_hotel = self.env['ir.default'].sudo().get(
|
||||
'res.config.settings', 'tz_hotel')
|
||||
now_utc_dt = date_utils.now() + timedelta(days=1)
|
||||
ndate = "%s %s:00" % \
|
||||
(now_utc_dt.strftime(DEFAULT_SERVER_DATE_FORMAT),
|
||||
default_departure_hour)
|
||||
ndate_dt = date_utils.get_datetime(ndate, stz=tz_hotel)
|
||||
ndate_dt = date_utils.dt_as_timezone(ndate_dt, 'UTC')
|
||||
return ndate_dt.strftime(DEFAULT_SERVER_DATETIME_FORMAT)
|
||||
return default_departure_hour
|
||||
|
||||
# @api.constrains('checkin', 'checkout') #Why dont run api.depends?¿?
|
||||
# def _computed_nights(self):
|
||||
@@ -284,9 +315,11 @@ class HotelReservation(models.Model):
|
||||
default=_get_default_checkout,
|
||||
track_visibility='onchange')
|
||||
arrival_hour = fields.Char('Arrival Hour',
|
||||
help="HH:MM Format")
|
||||
default=_get_default_arrival_hour,
|
||||
help="Default Arrival Hour (HH:MM)")
|
||||
departure_hour = fields.Char('Departure Hour',
|
||||
help="HH:MM Format")
|
||||
default=_get_default_departure_hour,
|
||||
help="Default Departure Hour (HH:MM)")
|
||||
room_type_id = fields.Many2one('hotel.room.type', string='Room Type',
|
||||
required=True, track_visibility='onchange')
|
||||
partner_id = fields.Many2one(related='folio_id.partner_id')
|
||||
|
||||
@@ -181,6 +181,8 @@
|
||||
<field name="cancelled_reason" attrs="{'invisible':[('state','not in',('cancelled'))]}"/>
|
||||
</group>
|
||||
<group colspan="4" string="Reservation Details" name="reservation_details">
|
||||
<field name="arrival_hour"/>
|
||||
<field name="departure_hour"/>
|
||||
<field name="name"/>
|
||||
<field name="adults"/>
|
||||
<field name="children"/>
|
||||
|
||||
Reference in New Issue
Block a user