mirror of
https://github.com/OCA/pms.git
synced 2025-01-29 00:17:45 +02:00
Merge pr_wubook_review
This commit is contained in:
@@ -854,7 +854,7 @@ class HotelFolio(models.Model):
|
||||
'mail_template_reservation_reminder_24hrs')[1]
|
||||
template_rec = self.env['mail.template'].browse(template_id)
|
||||
for reserv_rec in self.search([]):
|
||||
checkin_date = datetime.strptime(reserv_rec.checkin, dt)
|
||||
checkin_date = datetime.strptime(reserv_rec.checkin, DEFAULT_SERVER_DATETIME_FORMAT)
|
||||
difference = relativedelta(now_date, checkin_date)
|
||||
if(difference.days == -1 and reserv_rec.partner_id.email and
|
||||
reserv_rec.state == 'confirm'):
|
||||
|
||||
@@ -519,7 +519,7 @@ class ServiceWizard(models.TransientModel):
|
||||
required=True,
|
||||
default=1.0)
|
||||
|
||||
@api.onchange('product_id')
|
||||
@api.onchange('product_id', 'reservation_wizard_ids')
|
||||
def onchange_product_id(self):
|
||||
if self.product_id:
|
||||
pricelist_id = self.folio_wizard_id.pricelist_id.id
|
||||
|
||||
@@ -231,6 +231,16 @@ class ChannelBackend(models.Model):
|
||||
title="Export Pricelists")
|
||||
return True
|
||||
|
||||
@api.multi
|
||||
def close_online_sales(self):
|
||||
channel_hotel_restr_item_obj = self.env['channel.hotel.room.type.restriction.item']
|
||||
for backend in self:
|
||||
res = channel_hotel_restr_item_obj.close_online_sales(backend)
|
||||
if not res and self.env.context.get('show_notify', True):
|
||||
self.env.user.notify_warning("Error closing online sales",
|
||||
title="Export Restrictions")
|
||||
return True
|
||||
|
||||
@api.model
|
||||
def cron_push_changes(self):
|
||||
backends = self.env[self._name].search([])
|
||||
@@ -241,3 +251,9 @@ class ChannelBackend(models.Model):
|
||||
@api.model
|
||||
def cron_import_reservations(self):
|
||||
self.env[self._name].search([]).import_reservations()
|
||||
|
||||
|
||||
@api.model
|
||||
def cron_close_online_sales(self, status=True):
|
||||
backends = self.env[self._name].search([])
|
||||
backends.close_online_sales()
|
||||
|
||||
@@ -37,6 +37,14 @@ class ChannelHotelRoomTypeRestrictionItem(models.Model):
|
||||
exporter = work.component(usage='hotel.room.type.restriction.item.exporter')
|
||||
return exporter.push_restriction()
|
||||
|
||||
@job(default_channel='root.channel')
|
||||
@api.model
|
||||
def close_online_sales(self, backend):
|
||||
with backend.work_on(self._name) as work:
|
||||
exporter = work.component(usage='hotel.room.type.restriction.item.exporter')
|
||||
return exporter.close_online_sales()
|
||||
|
||||
|
||||
|
||||
class HotelRoomTypeRestrictionItem(models.Model):
|
||||
_inherit = 'hotel.room.type.restriction.item'
|
||||
|
||||
@@ -14,3 +14,7 @@ class HotelRoomTypeRestrictionItemExporter(Component):
|
||||
@api.model
|
||||
def push_restriction(self):
|
||||
raise NotImplementedError
|
||||
|
||||
@api.model
|
||||
def close_online_sales(self):
|
||||
raise NotImplementedError
|
||||
@@ -88,3 +88,42 @@ class HotelRoomTypeRestrictionItemExporter(Component):
|
||||
'sync_date': fields.Datetime.now(),
|
||||
})
|
||||
return True
|
||||
|
||||
@api.model
|
||||
def close_online_sales(self):
|
||||
channel_rest_plan = self.env['channel.hotel.room.type.restriction'].search([
|
||||
('backend_id', '=', self.backend_record.id),
|
||||
])
|
||||
channel_rest_item = self.env['channel.hotel.room.type.restriction.item']
|
||||
channel_room_types = self.env['channel.hotel.room.type'].search([
|
||||
('external_id', '!=', ''),
|
||||
])
|
||||
for channel_room_type in channel_room_types:
|
||||
today_restrictions = channel_rest_item.search([
|
||||
('backend_id', '=', self.backend_record.id),
|
||||
('room_type_id', '=', channel_room_type.odoo_id.id),
|
||||
('date', '=', fields.Date.today())
|
||||
])
|
||||
if today_restrictions:
|
||||
today_restrictions.closed = True
|
||||
else:
|
||||
self.env['hotel.room.type.restriction.item'].with_context(
|
||||
{'connector_no_export': True}
|
||||
).create({
|
||||
'restriction_id': channel_rest_plan.odoo_id.id,
|
||||
'room_type_id': channel_room_type.odoo_id.id,
|
||||
'date': fields.Date.today(),
|
||||
'closed_departure': 0,
|
||||
'max_stay_arrival': 0,
|
||||
'min_stay': 0,
|
||||
'max_stay': 0,
|
||||
'min_stay_arrival': 0,
|
||||
'closed_arrival': 0,
|
||||
'closed': True,
|
||||
'channel_bind_ids': [(0, False, {
|
||||
'channel_pushed': False,
|
||||
'backend_id': self.backend_record.id,
|
||||
})]
|
||||
})
|
||||
|
||||
return self.push_restriction()
|
||||
|
||||
Reference in New Issue
Block a user