From 8957a3600a7f16758ad5fdb1ceb7a4ae59ac7c60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dar=C3=ADo=20Lodeiros?= Date: Tue, 15 Feb 2022 12:17:30 +0100 Subject: [PATCH] [IMP]pms: payment folio date --- pms/models/pms_folio.py | 26 ++++++++++--------- .../wizard_split_join_swap_reservation.py | 14 +++++----- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/pms/models/pms_folio.py b/pms/models/pms_folio.py index dabbf563c..a30755692 100644 --- a/pms/models/pms_folio.py +++ b/pms/models/pms_folio.py @@ -2,12 +2,14 @@ # Copyright 2017 Dario Lodeiros # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +import datetime import logging from itertools import groupby from odoo import _, api, fields, models from odoo.exceptions import AccessError, UserError, ValidationError from odoo.tools import float_compare, float_is_zero +from odoo.tools.misc import get_lang from odoo.addons.base.models.ir_mail_server import MailDeliveryException @@ -1833,17 +1835,15 @@ class PmsFolio(models.Model): if len(property_folio_id) != 1: raise ValidationError(_("Only can payment by property")) ctx = dict(self.env.context, company_id=folios[0].company_id.id) - statement = ( - self.env["account.bank.statement"] - .sudo() - .search( - [ - ("journal_id", "=", journal.id), - ("pms_property_id", "=", property_folio_id[0]), - ("state", "=", "open"), - ] - ) - ) + if not date: + date = fields.Date.today() + domain = [ + ("journal_id", "=", journal.id), + ("pms_property_id", "=", property_folio_id[0]), + ("state", "=", "open"), + ("date", "=", date), + ] + statement = self.env["account.bank.statement"].sudo().search(domain, limit=1) reservation_ids = reservations.ids if reservations else [] service_ids = services.ids if services else [] if not statement: @@ -1852,7 +1852,9 @@ class PmsFolio(models.Model): "journal_id": journal.id, "user_id": self.env.user.id, "pms_property_id": property_folio_id[0], - "name": str(fields.Datetime.now()), + "name": datetime.datetime.today().strftime( + get_lang(self.env).date_format + ), } statement = ( self.env["account.bank.statement"] diff --git a/pms/wizards/wizard_split_join_swap_reservation.py b/pms/wizards/wizard_split_join_swap_reservation.py index 575faaf9b..b50ae0aab 100644 --- a/pms/wizards/wizard_split_join_swap_reservation.py +++ b/pms/wizards/wizard_split_join_swap_reservation.py @@ -261,19 +261,17 @@ class ReservationSplitJoinSwapWizard(models.TransientModel): @api.model def reservations_swap(self, checkin, checkout, source, target): - reservations = self.env["pms.reservation"].search( - [("checkin", ">=", checkin), ("checkout", "<=", checkout)] - ) + dates = [ + checkin + datetime.timedelta(days=x) + for x in range(0, (checkout - checkin).days + 1) + ] lines = self.env["pms.reservation.line"].search_count( - [("room_id", "=", source), ("reservation_id", "in", reservations.ids)] + [("room_id", "=", source), ("date", "in", dates)] ) if not lines: raise UserError(_("There's no reservations lines with provided room")) - for date_iterator in [ - checkin + datetime.timedelta(days=x) - for x in range(0, (checkout - checkin).days) - ]: + for date_iterator in dates: line_room_source = self.env["pms.reservation.line"].search( [("date", "=", date_iterator), ("room_id", "=", source)] )