mirror of
https://github.com/OCA/pms.git
synced 2025-01-29 00:17:45 +02:00
[IMP]pms_api_rest: added datamodel and service header to mail invoice
This commit is contained in:
@@ -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
|
||||
|
||||
11
pms_api_rest/datamodels/pms_mail.py
Normal file
11
pms_api_rest/datamodels/pms_mail.py
Normal 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)
|
||||
@@ -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,
|
||||
)
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user