[IMP] pms_api_rest: add account payment service with some filters

This commit is contained in:
Sara Lago
2022-11-01 10:47:20 +01:00
committed by Darío Lodeiros
parent 10499b7f1f
commit 7a5ebc04cc
3 changed files with 139 additions and 0 deletions

View File

@@ -1,15 +1,52 @@
from marshmallow import fields
from odoo.addons.datamodel.core import Datamodel
from odoo.addons.datamodel.fields import NestedModel
class PmsPaymentInfo(Datamodel):
_name = "pms.payment.info"
id = fields.Integer(required=False, allow_none=True)
name = fields.String(required=False, allow_none=True)
amount = fields.Float(required=False, allow_none=True)
journalId = fields.Integer(required=False, allow_none=True)
date = fields.String(required=False, allow_none=True)
partnerName = fields.String(required=False, allow_none=True)
partnerId = fields.Integer(required=False, allow_none=True)
paymentType = fields.String(required=False, allow_none=True)
partnerType = fields.String(required=False, allow_none=True)
isTransfer = fields.Boolean(required=False, allow_none=True)
reference = fields.String(required=False, allow_none=True)
createUid = fields.Integer(required=False, allow_none=True)
class PmsPaymentSearchParam(Datamodel):
_name = "pms.payment.search.param"
_inherit = "pms.rest.metadata"
pmsPropertyId = fields.Integer(required=True, allow_none=False)
filter = fields.String(required=False, allow_none=True)
dateStart = fields.String(required=False, allow_none=True)
dateEnd = fields.String(required=False, allow_none=True)
paymentMethodId = fields.Integer(required=False, allow_none=True)
# TODO: paymentTypes filter
paymentTypes = fields.List(fields.Integer(required=False, allow_none=True))
paymentType = fields.String(required=False, allow_none=True)
partnerType = fields.String(required=False, allow_none=True)
isTransfer = fields.Boolean(required=False, allow_none=True)
class PmsPaymentResults(Datamodel):
_name = "pms.payment.results"
payments = fields.List(NestedModel("pms.payment.info"))
total = fields.Integer(required=False, allow_none=True)
totalPayments = fields.Integer(required=False, allow_none=True)
class PmsAccountPaymentInfo(Datamodel):
_name = "pms.account.payment.short.info"
id = fields.Integer(required=False, allow_none=True)
date = fields.String(required=False, allow_none=True)
journalId = fields.Integer(required=False, allow_none=True)
amount = fields.Float(required=False, allow_none=True)
partnerId = fields.Integer(required=False, allow_none=True)
reservationIds = fields.List(fields.Integer(), required=False)