From cfaf41a225a992019a08d618523e2dc14930f60e Mon Sep 17 00:00:00 2001 From: braisab Date: Thu, 13 Oct 2022 17:06:11 +0200 Subject: [PATCH] [FIX]pms_api_rest: added residence_country_id in checkin_partner datamodel and services --- .../datamodels/pms_checkin_partner.py | 1 + pms_api_rest/datamodels/res_city_zip.py | 4 ++-- pms_api_rest/services/pms_partner_service.py | 3 +++ .../services/pms_reservation_service.py | 5 ++++- pms_api_rest/services/res_city_zip_service.py | 21 ++++++++++--------- 5 files changed, 21 insertions(+), 13 deletions(-) diff --git a/pms_api_rest/datamodels/pms_checkin_partner.py b/pms_api_rest/datamodels/pms_checkin_partner.py index 045cc27e2..2f5fdd7b4 100644 --- a/pms_api_rest/datamodels/pms_checkin_partner.py +++ b/pms_api_rest/datamodels/pms_checkin_partner.py @@ -24,4 +24,5 @@ class PmsCheckinPartnerInfo(Datamodel): residenceCity = fields.String(required=False, allow_none=True) nationality = fields.Integer(required=False, allow_none=True) countryState = fields.Integer(required=False, allow_none=True) + countryId = fields.Integer(required=False, allow_none=True) checkinPartnerState = fields.String(required=False, allow_none=True) diff --git a/pms_api_rest/datamodels/res_city_zip.py b/pms_api_rest/datamodels/res_city_zip.py index aca9f2d12..36a54f2ca 100644 --- a/pms_api_rest/datamodels/res_city_zip.py +++ b/pms_api_rest/datamodels/res_city_zip.py @@ -6,5 +6,5 @@ from odoo.addons.datamodel.core import Datamodel class ResCityZipInfo(Datamodel): _name = "res.city.zip.info" cityId = fields.String(required=False, allow_none=True) - stateId = fields.String(required=False, allow_none=True) - countryId = fields.String(required=False, allow_none=True) + stateId = fields.Integer(required=False, allow_none=True) + countryId = fields.Integer(required=False, allow_none=True) diff --git a/pms_api_rest/services/pms_partner_service.py b/pms_api_rest/services/pms_partner_service.py index bdcbbc08a..444a51869 100644 --- a/pms_api_rest/services/pms_partner_service.py +++ b/pms_api_rest/services/pms_partner_service.py @@ -334,6 +334,9 @@ class PmsPartnerService(Component): nationality=doc_number.partner_id.nationality_id.id if doc_number.partner_id.nationality_id else None, + countryId=doc_number.partner_id.residence_country_id + if doc_number.partner_id.residence_country_id + else None, countryState=doc_number.partner_id.residence_state_id.id if doc_number.partner_id.residence_state_id else None, diff --git a/pms_api_rest/services/pms_reservation_service.py b/pms_api_rest/services/pms_reservation_service.py index bd688fd94..b2eabadc2 100644 --- a/pms_api_rest/services/pms_reservation_service.py +++ b/pms_api_rest/services/pms_reservation_service.py @@ -512,6 +512,9 @@ class PmsReservationService(Component): countryState=checkin_partner.residence_state_id.id if checkin_partner.residence_state_id else None, + countryId=checkin_partner.residence_country_id.id + if checkin_partner.residence_country_id + else None, checkinPartnerState=checkin_partner.state, ) ) @@ -673,7 +676,7 @@ class PmsReservationService(Component): "residence_zip": pms_checkin_partner_info.zip, "residence_city": pms_checkin_partner_info.residenceCity, "residence_state_id": pms_checkin_partner_info.countryState, - "residence_country_id": pms_checkin_partner_info.nationality, + "residence_country_id": pms_checkin_partner_info.countryId, } if pms_checkin_partner_info.documentExpeditionDate: document_expedition_date = datetime.strptime( diff --git a/pms_api_rest/services/res_city_zip_service.py b/pms_api_rest/services/res_city_zip_service.py index fa35ab494..92ad71498 100644 --- a/pms_api_rest/services/res_city_zip_service.py +++ b/pms_api_rest/services/res_city_zip_service.py @@ -18,18 +18,19 @@ class ResCityZipService(Component): "GET", ) ], - output_param=Datamodel("res.city.zip.info", is_list=True), + output_param=Datamodel("res.city.zip.info", is_list=False), auth="jwt_api_pms", ) def get_address_data_by_zip(self, res_city_zip): - result_zip_data = [] ResCityZipInfo = self.env.datamodels["res.city.zip.info"] - for zip_code in self.env["res.city.zip"].search([("name", "=", res_city_zip)]): - result_zip_data.append( - ResCityZipInfo( - cityId=zip_code.city_id.name, - stateId=zip_code.state_id.name, - countryId=zip_code.country_id.name, - ) + res_zip = self.env["res.city.zip"].search([("name", "=", res_city_zip)]) + if len(res_zip) > 1: + res_zip = res_zip[0] + if res_zip: + return ResCityZipInfo( + cityId=res_zip.city_id.name, + stateId=res_zip.state_id.id, + countryId=res_zip.country_id.id, ) - return result_zip_data + else: + return ResCityZipInfo()