[IMP]pms_api_rest: added datamodel and service header to mail invoice

This commit is contained in:
braisab
2022-11-04 18:42:20 +01:00
committed by Darío Lodeiros
parent 3b1c1f44c1
commit 2f28920aca
4 changed files with 27 additions and 4 deletions

View File

@@ -54,3 +54,4 @@ from . import pms_room_closure_reason
from . import pms_report
from . import pms_folio_sale_line
from . import pms_invoice_line
from . import pms_mail

View File

@@ -0,0 +1,11 @@
from marshmallow import fields
from odoo.addons.datamodel.core import Datamodel
class PmsMailInfo(Datamodel):
_name = "pms.mail.info"
subject = fields.String(required=False, allow_none=True)
bodyMail = fields.String(required=False, allow_none=True)
partnerIds = fields.List(fields.Integer(), required=False)
emailAddresses = fields.List(fields.String(), required=False)

View File

@@ -573,9 +573,6 @@ class PmsFolioService(Component):
# - date format is in invoice_info but dont save
# - invoice comment is in invoice_info but dont save
date_invoice = fields.Date.from_string(invoice_info.date)
if not date_invoice:
raise MissingError(_("Date is required"))
lines_to_invoice_dict = dict()
for item in invoice_info.saleLines:
if item.qtyToInvoice:
@@ -586,7 +583,6 @@ class PmsFolioService(Component):
)
folios_to_invoice = sale_lines_to_invoice.folio_id
invoices = folios_to_invoice._create_invoices(
date=date_invoice,
lines_to_invoice=lines_to_invoice_dict,
partner_invoice_id=invoice_info.partnerId,
)

View File

@@ -116,3 +116,18 @@ class PmsInvoiceService(Component):
if previus_state == "posted":
invoice.action_post()
return invoice
@restapi.method(
[
(
[
"/<int:invoice_id>/send-mail",
],
"POST",
)
],
input_param=Datamodel("pms.mail.info"),
auth="jwt_api_pms",
)
def send_invoice_mail(self, invoice_id, pms_mail_info):
return True