mirror of
https://github.com/OCA/pms.git
synced 2025-01-29 00:17:45 +02:00
[IMP]pms_api_rest: added services and datamodels for get and patch checkin_partners
This commit is contained in:
@@ -36,3 +36,87 @@ class PmsPartnerService(Component):
|
||||
)
|
||||
)
|
||||
return result_partners
|
||||
|
||||
@restapi.method(
|
||||
[
|
||||
(
|
||||
[
|
||||
"/<string:documentType>/<string:documentNumber>",
|
||||
],
|
||||
"GET",
|
||||
)
|
||||
],
|
||||
output_param=Datamodel("pms.partner.info", is_list=True),
|
||||
auth="jwt_api_pms",
|
||||
)
|
||||
def get_partner_by_doc_number(self, document_type, document_number):
|
||||
doc_type = self.env["res.partner.id_category"].search(
|
||||
[("name", "=", document_type)]
|
||||
)
|
||||
doc_number = self.env["res.partner.id_number"].search(
|
||||
[("name", "=", document_number), ("category_id", "=", doc_type.id)]
|
||||
)
|
||||
partners = []
|
||||
PmsCheckinPartnerInfo = self.env.datamodels["pms.checkin.partner.info"]
|
||||
if not doc_number:
|
||||
pass
|
||||
else:
|
||||
if doc_number.valid_from:
|
||||
document_expedition_date = doc_number.valid_from.strftime("%d/%m/%Y")
|
||||
if doc_number.partner_id.birthdate_date:
|
||||
birthdate_date = doc_number.partner_id.birthdate_date.strftime(
|
||||
"%d/%m/%Y"
|
||||
)
|
||||
partners.append(
|
||||
PmsCheckinPartnerInfo(
|
||||
# id=doc_number.partner_id.id,
|
||||
name=doc_number.partner_id.name
|
||||
if doc_number.partner_id.name
|
||||
else "",
|
||||
firstname=doc_number.partner_id.firstname
|
||||
if doc_number.partner_id.firstname
|
||||
else "",
|
||||
lastname=doc_number.partner_id.lastname
|
||||
if doc_number.partner_id.lastname
|
||||
else "",
|
||||
lastname2=doc_number.partner_id.lastname2
|
||||
if doc_number.partner_id.lastname2
|
||||
else "",
|
||||
email=doc_number.partner_id.email
|
||||
if doc_number.partner_id.email
|
||||
else "",
|
||||
mobile=doc_number.partner_id.mobile
|
||||
if doc_number.partner_id.mobile
|
||||
else "",
|
||||
documentType=doc_type.name,
|
||||
documentNumber=doc_number.name,
|
||||
documentExpeditionDate=document_expedition_date
|
||||
if doc_number.valid_from
|
||||
else "",
|
||||
documentSupportNumber=doc_number.support_number
|
||||
if doc_number.support_number
|
||||
else "",
|
||||
gender=doc_number.partner_id.gender
|
||||
if doc_number.partner_id.gender
|
||||
else "",
|
||||
birthdate=birthdate_date
|
||||
if doc_number.partner_id.birthdate_date
|
||||
else "",
|
||||
residenceStreet=doc_number.partner_id.residence_street
|
||||
if doc_number.partner_id.residence_street
|
||||
else "",
|
||||
zip=doc_number.partner_id.residence_zip
|
||||
if doc_number.partner_id.residence_zip
|
||||
else "",
|
||||
residenceCity=doc_number.partner_id.residence_city
|
||||
if doc_number.partner_id.residence_city
|
||||
else "",
|
||||
nationality=doc_number.partner_id.nationality_id.name
|
||||
if doc_number.partner_id.nationality_id
|
||||
else "",
|
||||
countryState=doc_number.partner_id.residence_state_id.name
|
||||
if doc_number.partner_id.residence_state_id
|
||||
else "",
|
||||
)
|
||||
)
|
||||
return partners
|
||||
|
||||
Reference in New Issue
Block a user