[IMP]pms_api_rest: improve GET partner documment mapping

This commit is contained in:
Darío Lodeiros
2024-04-18 12:02:18 +02:00
parent 50dad1d4af
commit 54963776be

View File

@@ -196,19 +196,27 @@ class PmsPartnerService(Component):
.filtered(lambda x: x.checkout) .filtered(lambda x: x.checkout)
.mapped("checkout") .mapped("checkout")
) )
doc_number = False doc_record = False
document_number = False document_number = False
document_type = False document_type = False
document_support_number = False document_support_number = False
document_country_id = False
document_expedition_date = False
if partner.id_numbers: if partner.id_numbers:
doc_number = partner.id_numbers[0] doc_record = partner.id_numbers[0]
if doc_number: if doc_record:
if doc_number.name: if doc_record.name:
document_number = doc_number.name document_number = doc_record.name
if doc_number.category_id: if doc_record.category_id:
document_type = doc_number.category_id.id document_type = doc_record.category_id.id
if doc_number.support_number: if doc_record.support_number:
document_support_number = doc_number.support_number document_support_number = doc_record.support_number
if doc_record.country_id:
document_country_id = doc_record.country_id.id
if doc_record.valid_from:
document_expedition_date = datetime.combine(
doc_record.valid_from, datetime.min.time()
).isoformat()
result_partners.append( result_partners.append(
PmsPartnerInfo( PmsPartnerInfo(
id=partner.id, id=partner.id,
@@ -260,7 +268,9 @@ class PmsPartnerService(Component):
documentSupportNumber=document_support_number documentSupportNumber=document_support_number
if document_support_number if document_support_number
else None, else None,
documentCountryId=doc_number.country_id.id if doc_number.country_id else None, documentCountryId=document_country_id
if document_country_id
else None,
vatNumber=partner.vat vatNumber=partner.vat
if partner.vat if partner.vat
else partner.aeat_identification else partner.aeat_identification
@@ -271,10 +281,8 @@ class PmsPartnerService(Component):
else partner.aeat_identification_type else partner.aeat_identification_type
if partner.aeat_identification_type if partner.aeat_identification_type
else None, else None,
documentExpeditionDate=datetime.combine( documentExpeditionDate=document_expedition_date
doc_number.valid_from, datetime.min.time() if document_expedition_date
).isoformat()
if doc_number and doc_number.valid_from
else None, else None,
comment=partner.comment if partner.comment else None, comment=partner.comment if partner.comment else None,
language=partner.lang if partner.lang else None, language=partner.lang if partner.lang else None,
@@ -506,7 +514,7 @@ class PmsPartnerService(Component):
) )
partners = [] partners = []
if partner: if partner:
doc_number = partner.id_numbers.filtered( doc_record = partner.id_numbers.filtered(
lambda doc: doc.category_id.id == doc_type.id lambda doc: doc.category_id.id == doc_type.id
) )
PmsCheckinPartnerInfo = self.env.datamodels["pms.checkin.partner.info"] PmsCheckinPartnerInfo = self.env.datamodels["pms.checkin.partner.info"]
@@ -520,14 +528,14 @@ class PmsPartnerService(Component):
email=partner.email or None, email=partner.email or None,
mobile=partner.mobile or None, mobile=partner.mobile or None,
documentType=doc_type.id or None, documentType=doc_type.id or None,
documentNumber=doc_number.name or None, documentNumber=doc_record.name or None,
documentExpeditionDate=datetime.combine( documentExpeditionDate=datetime.combine(
doc_number.valid_from, datetime.min.time() doc_record.valid_from, datetime.min.time()
).isoformat() ).isoformat()
if doc_number.valid_from if doc_record.valid_from
else None, else None,
documentSupportNumber=doc_number.support_number or None, documentSupportNumber=doc_record.support_number or None,
documentCountryId=doc_number.country_id.id or None, documentCountryId=doc_record.country_id.id or None,
gender=partner.gender or None, gender=partner.gender or None,
birthdate=datetime.combine( birthdate=datetime.combine(
partner.birthdate_date, datetime.min.time() partner.birthdate_date, datetime.min.time()