mirror of
https://github.com/OCA/pms.git
synced 2025-01-29 00:17:45 +02:00
[WIP] pms_api_rest: rebase
This commit is contained in:
committed by
Darío Lodeiros
parent
08bc00d7df
commit
046d26ade4
@@ -23,29 +23,24 @@ class PmsAccountJournalService(Component):
|
||||
auth="jwt_api_pms",
|
||||
)
|
||||
def get_method_payments(self, account_journal_search_param):
|
||||
domain = []
|
||||
if account_journal_search_param.pmsPropertyId:
|
||||
domain.extend(
|
||||
[
|
||||
"|",
|
||||
(
|
||||
"pms_property_ids",
|
||||
"in",
|
||||
account_journal_search_param.pmsPropertyId,
|
||||
),
|
||||
("pms_property_ids", "=", False),
|
||||
]
|
||||
)
|
||||
pms_property = self.env["pms.property"].search(
|
||||
[("id", "=", account_journal_search_param.pmsPropertyId)]
|
||||
)
|
||||
PmsAccountJournalInfo = self.env.datamodels["pms.account.journal.info"]
|
||||
result_account_journals = []
|
||||
for account_journal in self.env["account.journal"].search(
|
||||
domain,
|
||||
):
|
||||
result_account_journals.append(
|
||||
PmsAccountJournalInfo(
|
||||
id=account_journal.id,
|
||||
name=account_journal.name,
|
||||
allowedPayments=account_journal.allowed_pms_payments,
|
||||
if not pms_property:
|
||||
pass
|
||||
else:
|
||||
for method in pms_property._get_payment_methods(automatic_included=True):
|
||||
payment_method = self.env["account.journal"].search(
|
||||
[("id", "=", method.id)]
|
||||
)
|
||||
)
|
||||
result_account_journals.append(
|
||||
PmsAccountJournalInfo(
|
||||
id=payment_method.id,
|
||||
name=payment_method.name,
|
||||
allowedPayments=payment_method.allowed_pms_payments,
|
||||
)
|
||||
)
|
||||
|
||||
return result_account_journals
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
from datetime import datetime
|
||||
|
||||
from odoo.odoo.osv import expression
|
||||
|
||||
from odoo.addons.base_rest import restapi
|
||||
from odoo.addons.base_rest_datamodel.restapi import Datamodel
|
||||
from odoo.addons.component.core import Component
|
||||
from odoo.odoo.osv import expression
|
||||
|
||||
|
||||
class PmsPartnerService(Component):
|
||||
@@ -32,8 +33,11 @@ class PmsPartnerService(Component):
|
||||
if pms_partner_search_params.name:
|
||||
domain_fields.append(("name", "ilike", pms_partner_search_params.name))
|
||||
if pms_partner_search_params.housed:
|
||||
partners_housed = self.env["pms.checkin.partner"].search([("state", "=", "onboard")]).mapped(
|
||||
"partner_id")
|
||||
partners_housed = (
|
||||
self.env["pms.checkin.partner"]
|
||||
.search([("state", "=", "onboard")])
|
||||
.mapped("partner_id")
|
||||
)
|
||||
domain_fields.append(("id", "in", partners_housed.ids))
|
||||
domain_filter = list()
|
||||
if pms_partner_search_params.filter:
|
||||
@@ -56,7 +60,7 @@ class PmsPartnerService(Component):
|
||||
domain,
|
||||
order=pms_partner_search_params.orderBy,
|
||||
limit=pms_partner_search_params.limit,
|
||||
offset=pms_partner_search_params.offset
|
||||
offset=pms_partner_search_params.offset,
|
||||
):
|
||||
checkouts = (
|
||||
self.env["pms.checkin.partner"]
|
||||
@@ -141,16 +145,11 @@ class PmsPartnerService(Component):
|
||||
invoiceToAgency=partner.invoice_to_agency
|
||||
if partner.invoice_to_agency
|
||||
else None,
|
||||
agencyStateId=partner.state_id.id if partner.state_id else None,
|
||||
agencyCity=partner.city if partner.city else None,
|
||||
tagIds=partner.category_id.ids if partner.category_id else [],
|
||||
lastStay=max(checkouts).strftime("%d/%m/%Y") if checkouts else "",
|
||||
)
|
||||
)
|
||||
return PmsPartnerResults(
|
||||
partners=result_partners,
|
||||
total=total_partners
|
||||
)
|
||||
return PmsPartnerResults(partners=result_partners, total=total_partners)
|
||||
|
||||
@restapi.method(
|
||||
[
|
||||
@@ -210,7 +209,7 @@ class PmsPartnerService(Component):
|
||||
amount=round(payment.amount, 2),
|
||||
journalId=payment.journal_id.id,
|
||||
date=payment.date.strftime("%d/%m/%Y"),
|
||||
memo=payment.ref,
|
||||
reference=payment.ref,
|
||||
)
|
||||
)
|
||||
return payments
|
||||
@@ -384,7 +383,7 @@ class PmsPartnerService(Component):
|
||||
("aeat_identification", "=", pms_partner_search_params.vatNumber),
|
||||
]
|
||||
partner = self.env["res.partner"].search(domain)
|
||||
if not partner:
|
||||
if not partner or len(partner) > 1:
|
||||
return PmsPartnerInfo()
|
||||
else:
|
||||
return PmsPartnerInfo(
|
||||
|
||||
Reference in New Issue
Block a user