From 28c5776921658a7eebaf17c17004035a6913e71f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dar=C3=ADo=20Lodeiros?= Date: Sun, 29 Jan 2023 11:10:47 +0100 Subject: [PATCH] [IMP]connector_pms: checkin partner search document number improvements --- pms_api_rest/services/pms_partner_service.py | 12 +++++++++++- pms_api_rest/services/pms_reservation_service.py | 1 + 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/pms_api_rest/services/pms_partner_service.py b/pms_api_rest/services/pms_partner_service.py index e72f813ec..d2a320f02 100644 --- a/pms_api_rest/services/pms_partner_service.py +++ b/pms_api_rest/services/pms_partner_service.py @@ -1,3 +1,4 @@ +import re from datetime import datetime from odoo.osv import expression @@ -306,8 +307,17 @@ class PmsPartnerService(Component): doc_type = self.env["res.partner.id_category"].search( [("id", "=", document_type)] ) + # Clean Document number + document_number = re.sub(r"[^a-zA-Z0-9]", "", document_number).upper() + partner = self.env["pms.checkin.partner"]._get_partner_by_document( + document_number, doc_type + ) + if partner.id_numbers: + doc_number = partner.id_numbers[0] + doc_number = self.env["res.partner.id_number"].search( - [("name", "=", document_number), ("category_id", "=", doc_type.id)] + [("name", "ilike", document_number), ("category_id", "=", doc_type.id)], + limit=1, ) partners = [] PmsCheckinPartnerInfo = self.env.datamodels["pms.checkin.partner.info"] diff --git a/pms_api_rest/services/pms_reservation_service.py b/pms_api_rest/services/pms_reservation_service.py index fb0b12529..799023aa5 100644 --- a/pms_api_rest/services/pms_reservation_service.py +++ b/pms_api_rest/services/pms_reservation_service.py @@ -594,6 +594,7 @@ class PmsReservationService(Component): if pms_search_param.toAssign: domain.append(("to_assign", "=", True)) domain.append(("checkin", ">=", fields.Date.today())) + domain.append(("state", "!=", "cancel")) reservations = self.env["pms.reservation"].search(domain) PmsReservationInfo = self.env.datamodels["pms.reservation.info"] if not reservations: