summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRafi Zadanly <zadanlyr@gmail.com>2024-03-12 11:50:21 +0700
committerRafi Zadanly <zadanlyr@gmail.com>2024-03-12 11:50:21 +0700
commitb7b71be97a73f454f2df9fd9a37f5017c82192ae (patch)
tree18b80d3d6dd74022f01d0663d4a349be6c662193
parent8899771cb6e4d39752a506e7aa95e5e388ff3a9f (diff)
Add email template notification web approve on sale order
-rw-r--r--indoteknik_custom/models/res_partner.py9
-rwxr-xr-xindoteknik_custom/models/sale_order.py3
-rwxr-xr-xindoteknik_custom/views/sale_order.xml38
3 files changed, 50 insertions, 0 deletions
diff --git a/indoteknik_custom/models/res_partner.py b/indoteknik_custom/models/res_partner.py
index c7b8865f..467d3be9 100644
--- a/indoteknik_custom/models/res_partner.py
+++ b/indoteknik_custom/models/res_partner.py
@@ -37,6 +37,15 @@ class ResPartner(models.Model):
partner_child_ids += [x['id'] for x in partner.parent_id.child_ids]
partner_child_ids += [partner.parent_id.id]
return partner_child_ids
+
+ def get_approve_partner_ids(self, type=False):
+ parent = self.parent_id or self
+ partners = self.search([('parent_id', '=', parent.id), ('web_role', 'in', ['manager', 'director'])])
+
+ if type == 'email_comma_sep':
+ return ",".join([x.email for x in partners])
+
+ return partners
@api.constrains('kota_id')
def update_product_solr_flag(self):
diff --git a/indoteknik_custom/models/sale_order.py b/indoteknik_custom/models/sale_order.py
index 0cd7067a..b7578da0 100755
--- a/indoteknik_custom/models/sale_order.py
+++ b/indoteknik_custom/models/sale_order.py
@@ -651,6 +651,9 @@ class SaleOrder(models.Model):
raise UserError('You are not authorized to approve this order. Only %s can approve this order.' % self.partner_id.user_id.name)
self.web_approval = 'company'
+ template = self.env.ref('indoteknik_custom.mail_template_sale_order_web_approve_notification')
+ template.send_mail(self.id, force_send=True)
+
return {
'type': 'ir.actions.client',
'tag': 'display_notification',
diff --git a/indoteknik_custom/views/sale_order.xml b/indoteknik_custom/views/sale_order.xml
index 8e0c9bbe..97726ed7 100755
--- a/indoteknik_custom/views/sale_order.xml
+++ b/indoteknik_custom/views/sale_order.xml
@@ -229,5 +229,43 @@
<field name="state">code</field>
<field name="code">action = records.open_form_multi_update_status()</field>
</record>
+
+ <record id="mail_template_sale_order_web_approve_notification" model="mail.template">
+ <field name="name">Sale Order: Web Approve Notification</field>
+ <field name="model_id" ref="indoteknik_custom.model_sale_order"/>
+ <field name="subject">Permintaan Persetujuan Pesanan ${object.name} di Indoteknik.com</field>
+ <field name="email_from">sales@indoteknik.com</field>
+ <field name="email_to">${object.partner_id.email | safe}</field>
+ <field name="email_cc">${object.partner_id.get_approve_partner_ids("email_comma_sep")}</field>
+ <field name="body_html" type="html">
+ <table border="0" cellpadding="0" cellspacing="0" style="padding: 16px 0; background-color: #F1F1F1; font-family:Inter, Helvetica, Verdana, Arial,sans-serif; line-height: 24px; color: #454748; width: 100%; border-collapse:separate;">
+ <tr><td align="center">
+ <table border="0" cellpadding="0" cellspacing="0" width="590" style="font-size: 13px; padding: 16px; background-color: white; color: #454748; border-collapse:separate;">
+ <tbody>
+ <tr>
+ <td align="center" style="min-width: 590px;">
+ <table border="0" cellpadding="0" cellspacing="0" width="590" style="min-width: 590px; background-color: white; padding: 0px 8px 0px 8px; border-collapse:separate;">
+ <tr><td style="padding-bottom: 24px;">Dear ${(object.partner_id.get_main_parent()).name},</td></tr>
+
+ <tr><td style="padding-bottom: 16px;">Ini adalah konfirmasi pesanan dari ${object.partner_id.name | safe} untuk nomor pesanan ${object.name} yang memerlukan persetujuan agar dapat diproses.</td></tr>
+ <tr><td style="padding-bottom: 16px;">
+ <a href="https://indoteknik.com/my/quotations/${object.id}" style="color: white; background-color: #C53030; border: none; border-radius: 6px; padding: 4px 8px; width: fit-content; display: block;">
+ Lihat Pesanan
+ </a>
+ </td></tr>
+ <tr><td style="padding-bottom: 16px;">Mohon segera melakukan tinjauan terhadap pesanan ini dan memberikan persetujuan. Terima kasih atas perhatian dan kerjasama Anda. Kami berharap dapat segera melanjutkan proses pesanan ini setelah mendapatkan persetujuan Anda.</td></tr>
+
+ <tr><td style="padding-bottom: 2px;">Hormat kami,</td></tr>
+ <tr><td style="padding-bottom: 2px;">PT. Indoteknik Dotcom Gemilang</td></tr>
+ <tr><td style="padding-bottom: 2px;">sales@indoteknik.com</td></tr>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td></tr>
+ </table>
+ </field>
+ </record>
</data>
</odoo> \ No newline at end of file