From a212ce3607c60eb6b8bebaa6e0e8c7f46c3f2235 Mon Sep 17 00:00:00 2001 From: Sara Lago Date: Mon, 6 Mar 2023 17:51:34 +0100 Subject: [PATCH] [IMP] pms_api_rest: change domain and filter in get invoices and add ref field in invoice datamodel --- pms_api_rest/datamodels/pms_invoice.py | 1 + pms_api_rest/services/pms_invoice_service.py | 18 ++++++++++++++---- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/pms_api_rest/datamodels/pms_invoice.py b/pms_api_rest/datamodels/pms_invoice.py index 0d627ef78..defeb41cd 100644 --- a/pms_api_rest/datamodels/pms_invoice.py +++ b/pms_api_rest/datamodels/pms_invoice.py @@ -38,6 +38,7 @@ class PmsAccountInvoiceInfo(Datamodel): # create downpayment invoices from payments originDownPaymentId = fields.Integer(required=False, allow_none=True) originAgencyId = fields.Integer(required=False, allow_none=True) + ref = fields.String(required=False, allow_none=True) class PmsInvoiceResults(Datamodel): _name = "pms.invoice.results" diff --git a/pms_api_rest/services/pms_invoice_service.py b/pms_api_rest/services/pms_invoice_service.py index 9c7db054c..b7554fbce 100644 --- a/pms_api_rest/services/pms_invoice_service.py +++ b/pms_api_rest/services/pms_invoice_service.py @@ -34,7 +34,8 @@ class PmsInvoiceService(Component): domain = [] domain_fields = [ ("state", "in", ("draft", "posted")), - ("move_type","=","out_invoice") + ("move_type", "in", ("out_invoice", "out_refund")), + ("folio_ids", "!=", False) ] domain_filter = list() @@ -42,7 +43,15 @@ class PmsInvoiceService(Component): domain_fields.append( ("origin_agency_id","=", pms_invoice_search_param.originAgencyId), ) - if pms_invoice_search_param.paymentState: + if pms_invoice_search_param.paymentState == "paid": + domain_fields.append( + ("payment_state", "in", ("paid", "reversed", "invoicing_legacy")) + ) + elif pms_invoice_search_param.paymentState == "not_paid": + domain_fields.append( + ("payment_state", "in", ("not_paid", "in_payment")) + ) + elif pms_invoice_search_param.paymentState == "partial": domain_fields.append( ("payment_state", "=", pms_invoice_search_param.paymentState) ) @@ -52,8 +61,8 @@ class PmsInvoiceService(Component): date_to = fields.Date.from_string(pms_invoice_search_param.dateEnd) domain_fields.extend( [ - ("invoice_date",">=", date_from), - ("invoice_date","<=",date_to), + ("invoice_date", ">=", date_from), + ("invoice_date", "<=", date_to), ] ) if pms_invoice_search_param.filter: @@ -171,6 +180,7 @@ class PmsInvoiceService(Component): originAgencyId=invoice.origin_agency_id.id if invoice.origin_agency_id else None, + ref=invoice.ref, ) ) return PmsInvoiceResults(