diff --git a/pms/models/pms_folio.py b/pms/models/pms_folio.py index e01ace03e..af805908d 100644 --- a/pms/models/pms_folio.py +++ b/pms/models/pms_folio.py @@ -765,17 +765,17 @@ class PmsFolio(models.Model): else: order.invoice_status = "no" - @api.depends("partner_id", "partner_id.name") + @api.depends("partner_id", "partner_id.name", "agency_id") def _compute_partner_name(self): for record in self: self._apply_partner_name(record) - @api.depends("partner_id", "partner_id.email") + @api.depends("partner_id", "partner_id.email", "agency_id") def _compute_email(self): for record in self: self._apply_email(record) - @api.depends("partner_id", "partner_id.mobile") + @api.depends("partner_id", "partner_id.mobile", "agency_id") def _compute_mobile(self): for record in self: self._apply_mobile(record) diff --git a/pms/models/pms_reservation.py b/pms/models/pms_reservation.py index 3f2336df9..54496d009 100644 --- a/pms/models/pms_reservation.py +++ b/pms/models/pms_reservation.py @@ -1242,17 +1242,17 @@ class PmsReservation(models.Model): else: record.shared_folio = False - @api.depends("partner_id", "partner_id.name") + @api.depends("partner_id", "partner_id.name", "agency_id") def _compute_partner_name(self): for record in self: self.env["pms.folio"]._apply_partner_name(record) - @api.depends("partner_id", "partner_id.email") + @api.depends("partner_id", "partner_id.email", "agency_id") def _compute_email(self): for record in self: self.env["pms.folio"]._apply_email(record) - @api.depends("partner_id", "partner_id.mobile") + @api.depends("partner_id", "partner_id.mobile", "agency_id") def _compute_mobile(self): for record in self: self.env["pms.folio"]._apply_mobile(record) diff --git a/pms/wizards/wizard_folio_changes.py b/pms/wizards/wizard_folio_changes.py index 73b8bd6a1..06a7c54c8 100644 --- a/pms/wizards/wizard_folio_changes.py +++ b/pms/wizards/wizard_folio_changes.py @@ -34,6 +34,10 @@ class WizardFolioChanges(models.TransientModel): new_discount = fields.Float( string="New Discount %", ) + new_board_service_id = fields.Many2one( + string="New Board Service", + comodel_name="pms.board.service", + ) apply_on_monday = fields.Boolean( string="Apply Availability Rule on mondays", default=False, @@ -98,24 +102,47 @@ class WizardFolioChanges(models.TransientModel): reservation_lines = reservation_lines.filtered( lambda x: week_days_to_apply[x.date.timetuple()[6]] ) - if self.new_price: - vals["price"] = self.new_price - if self.new_discount: - vals["discount"] = self.new_discount + if self.new_price or self.new_discount: + if self.new_price: + vals["price"] = self.new_price + if self.new_discount: + vals["discount"] = self.new_discount - reservation_lines.write(vals) + reservation_lines.write(vals) - self.folio_id.message_post( - body=_( - "Prices/Discounts have been changed from folio", - ) - ) - reservations = self.env["pms.reservation"].browse( - reservation_lines.mapped("reservation_id.id") - ) - for reservation in reservations: - reservation.message_post( + self.folio_id.message_post( body=_( "Prices/Discounts have been changed from folio", ) ) + reservations = self.env["pms.reservation"].browse( + reservation_lines.mapped("reservation_id.id") + ) + for reservation in reservations: + reservation.message_post( + body=_( + "Prices/Discounts have been changed from folio", + ) + ) + if self.new_board_service_id: + for reservation in self.reservation_ids: + if ( + self.new_board_service_id.id + in reservation.room_type_id.board_service_room_type_ids.ids + ): + reservation.board_service_room_id = ( + reservation.room_type_id.board_service_room_type_ids.filtered( + lambda x: x.pms_board_service_id.id + == self.new_board_service_id.id + and ( + self.folio_id.pms_property_id.id + in x.pms_property_ids.ids + or not x.pms_property_ids + ) + ) + ) + reservation.message_post( + body=_( + "Board service has been changed from folio", + ) + ) diff --git a/pms/wizards/wizard_folio_changes.xml b/pms/wizards/wizard_folio_changes.xml index 7242963a2..6cde01821 100644 --- a/pms/wizards/wizard_folio_changes.xml +++ b/pms/wizards/wizard_folio_changes.xml @@ -99,6 +99,7 @@ +