diff --git a/pms_api_rest/services/pms_folio_service.py b/pms_api_rest/services/pms_folio_service.py index c1b9448bb..d4f2598e3 100644 --- a/pms_api_rest/services/pms_folio_service.py +++ b/pms_api_rest/services/pms_folio_service.py @@ -214,7 +214,7 @@ class PmsFolioService(Component): "POST", ) ], - input_param=Datamodel("pms.account.payment.info", is_list=False), + input_param=Datamodel("pms.payment.info", is_list=False), auth="jwt_api_pms", ) def create_folio_charge(self, folio_id, pms_account_payment_info): @@ -223,13 +223,18 @@ class PmsFolioService(Component): journal_id = self.env["account.journal"].browse( pms_account_payment_info.journalId ) + reservations = ( + self.env["pms.reservation"].browse(pms_account_payment_info.reservationIds) + if pms_account_payment_info.reservationIds + else False + ) self.env["pms.folio"].do_payment( journal_id, journal_id.suspense_account_id, self.env.user, pms_account_payment_info.amount, folio, - reservations=pms_account_payment_info.reservationIds, + reservations=reservations, services=False, partner=partner_id, date=datetime.strptime(pms_account_payment_info.date, "%m/%d/%Y"), @@ -244,7 +249,7 @@ class PmsFolioService(Component): "POST", ) ], - input_param=Datamodel("pms.account.payment.info", is_list=False), + input_param=Datamodel("pms.payment.info", is_list=False), auth="jwt_api_pms", ) def create_folio_refund(self, folio_id, pms_account_payment_info): @@ -582,4 +587,13 @@ class PmsFolioService(Component): lines_to_invoice=lines_to_invoice_dict, partner_invoice_id=invoice_info.partnerId, ) + for item in invoice_info.saleLines: + if item.id in invoices.invoice_line_ids.mapped("folio_line_ids.id"): + invoice_line = invoices.invoice_line_ids.filtered( + lambda r: item.id in r.folio_line_ids.ids + ) + invoice_line.write({"name": item.name}) + if invoice_info.narration: + invoices.write({"narration": invoice_info.narration}) + return invoices.ids diff --git a/pms_api_rest/services/pms_invoice_service.py b/pms_api_rest/services/pms_invoice_service.py index 34d13ad96..a5e153d0b 100644 --- a/pms_api_rest/services/pms_invoice_service.py +++ b/pms_api_rest/services/pms_invoice_service.py @@ -62,6 +62,19 @@ class PmsInvoiceService(Component): new_vals["invoice_line_ids"].append((1, line.id, line_values)) else: new_vals["invoice_line_ids"].append((2, line.id)) + for line_info in pms_invoice_info.moveLines: + if not line_info.id: + new_vals["invoice_line_ids"].append( + ( + 0, + 0, + { + "name": line_info.name, + "quantity": line_info.quantity, + "sale_line_ids": [(6, 0, line_info.saleLineIds)], + }, + ) + ) if not new_vals: return invoice.id