summaryrefslogtreecommitdiff
path: root/addons/product_email_template/models/account_move.py
diff options
context:
space:
mode:
authorstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
committerstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
commit3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch)
treea44932296ef4a9b71d5f010906253d8c53727726 /addons/product_email_template/models/account_move.py
parent0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff)
initial commit 2
Diffstat (limited to 'addons/product_email_template/models/account_move.py')
-rw-r--r--addons/product_email_template/models/account_move.py31
1 files changed, 31 insertions, 0 deletions
diff --git a/addons/product_email_template/models/account_move.py b/addons/product_email_template/models/account_move.py
new file mode 100644
index 00000000..07039372
--- /dev/null
+++ b/addons/product_email_template/models/account_move.py
@@ -0,0 +1,31 @@
+# -*- coding: utf-8 -*-
+
+from odoo import api, models, SUPERUSER_ID
+
+
+class AccountMove(models.Model):
+ _inherit = 'account.move'
+
+ def invoice_validate_send_email(self):
+ if self.env.su:
+ # sending mail in sudo was meant for it being sent from superuser
+ self = self.with_user(SUPERUSER_ID)
+ for invoice in self.filtered(lambda x: x.move_type == 'out_invoice'):
+ # send template only on customer invoice
+ # subscribe the partner to the invoice
+ if invoice.partner_id not in invoice.message_partner_ids:
+ invoice.message_subscribe([invoice.partner_id.id])
+ for line in invoice.invoice_line_ids:
+ if line.product_id.email_template_id:
+ invoice.message_post_with_template(
+ line.product_id.email_template_id.id,
+ composition_mode="comment",
+ email_layout_xmlid="mail.mail_notification_light"
+ )
+ return True
+
+ def _post(self, soft=True):
+ # OVERRIDE
+ posted = super()._post(soft)
+ posted.invoice_validate_send_email()
+ return posted