summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRafi Zadanly <zadanlyr@gmail.com>2023-08-09 15:29:16 +0700
committerRafi Zadanly <zadanlyr@gmail.com>2023-08-09 15:29:16 +0700
commit7b4f47e43d6485bb7822f1eb21497e68ab782ab1 (patch)
tree2d404e4f0d9cae575772ac64e7390afd4c736f0d
parent82368e58dbc4d1ee8f6ff842ebb349172256d449 (diff)
Add field other carts, mail template, and cron on website user cart
-rw-r--r--indoteknik_custom/models/website_user_cart.py12
-rwxr-xr-xindoteknik_custom/views/website_user_cart.xml97
2 files changed, 108 insertions, 1 deletions
diff --git a/indoteknik_custom/models/website_user_cart.py b/indoteknik_custom/models/website_user_cart.py
index 9b82aa93..13bad358 100644
--- a/indoteknik_custom/models/website_user_cart.py
+++ b/indoteknik_custom/models/website_user_cart.py
@@ -14,6 +14,12 @@ class WebsiteUserCart(models.Model):
('add_to_cart', 'Add To Cart'),
('buy', 'Buy')
], 'Source', default='add_to_cart')
+ other_carts = fields.One2many('website.user.cart', 'id', 'Other Products', compute='_compute_other_carts')
+
+ def _compute_other_carts(self):
+ for record in self:
+ others = self.search([('user_id', '=', record.user_id.id)])
+ record.other_carts = others
def get_product(self):
user_data = {
@@ -84,4 +90,8 @@ class WebsiteUserCart(models.Model):
'has_product_without_weight': any(not product.get('weight') or product.get('weight') == 0 for product in products),
'products': products
}
- return result \ No newline at end of file
+ return result
+
+ def action_mail_reminder_to_checkout(self, id):
+ template = self.env.ref('indoteknik_custom.mail_template_user_cart_reminder_to_checkout')
+ template.send_mail(int(id), force_send=True) \ No newline at end of file
diff --git a/indoteknik_custom/views/website_user_cart.xml b/indoteknik_custom/views/website_user_cart.xml
index f942cdda..a6456cf2 100755
--- a/indoteknik_custom/views/website_user_cart.xml
+++ b/indoteknik_custom/views/website_user_cart.xml
@@ -49,5 +49,102 @@
sequence="1"
action="website_user_cart_action"
/>
+
+ <record id="cron_user_cart_reminder_to_checkout" model="ir.cron">
+ <field name="name">User Cart: Reminder to checkout</field>
+ <field name="interval_number">1</field>
+ <field name="interval_type">days</field>
+ <field name="numbercall">-1</field>
+ <field name="doall" eval="False"/>
+ <field name="model_id" ref="indoteknik_custom.model_website_user_cart"/>
+ <field name="code">model.action_mail_reminder_to_checkout()</field>
+ <field name="state">code</field>
+ <field name="priority">75</field>
+ <field name="active">False</field>
+ </record>
+
+ <record id="mail_template_user_cart_reminder_to_checkout" model="mail.template">
+ <field name="name">User Cart: Reminder to checkout</field>
+ <field name="model_id" ref="indoteknik_custom.model_website_user_cart"/>
+ <field name="subject">Hello ${object.user_id.name}</field>
+ <field name="email_from">sales@indoteknik.com</field>
+ <field name="email_to">${object.user_id.login | safe}</field>
+ <field name="body_html" type="html">
+ <div>
+ <style>
+ .product-card {
+ box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
+ }
+ .product-card td {
+ padding: 0px 8px;
+ }
+ </style>
+ <table border="0" cellpadding="0" cellspacing="0" style="padding-top: 16px; 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>
+ <!-- HEADER -->
+ <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 valign="middle">
+ <span></span>
+ </td>
+ </tr>
+
+ <tr>
+ <td colspan="2" style="text-align:center;">
+ <hr width="100%" style="background-color:rgb(204,204,204);border:medium none;clear:both;display:block;font-size:0px;min-height:1px;line-height:0; margin: 16px 0px 16px 0px;" />
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ <!-- CONTENT -->
+ <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;">Halo ${object.user_id.name},</td></tr>
+
+ <tr><td style="padding-bottom: 16px;">Kami harap Anda dalam keadaan baik. Kami ingin mengingatkan Anda bahwa Anda memiliki beberapa produk yang masih ada di keranjang belanja Anda di situs kami, tetapi belum selesai untuk proses checkout.</td></tr>
+ <tr><td style="padding-bottom: 16px;">Jika Anda masih tertarik dengan produk-produk tersebut, jangan ragu untuk segera melanjutkan proses pembayaran. Ini adalah kesempatan Anda untuk mendapatkan barang-barang yang Anda inginkan sebelum kehabisan stok.</td></tr>
+ <tr><td style="padding-bottom: 16px;">Berikut adalah daftar produk yang masih ada di keranjang belanja Anda:</td></tr>
+ <!-- PRODUCT TABLE -->
+ <tr><td><table style="width: 100%;">
+ <tbody>
+ <tr class="product-card">
+ <td>
+ <img src="https://erp.indoteknik.com/api/image/product.template/image_512/126701" alt="Nama Produk" width="120" height="120">
+ </td>
+ </tr>
+ </tbody>
+ </table></td></tr>
+
+ <tr><td style="padding-bottom: 16px;">Kami juga ingin memberitahu Anda bahwa kami menyediakan layanan pelanggan yang siap membantu jika Anda memiliki pertanyaan atau memerlukan bantuan dalam proses pembayaran. Jangan ragu untuk menghubungi kami melalui email ini atau nomor layanan pelanggan kami yang tertera di situs.</td></tr>
+ <tr><td style="padding-bottom: 16px;">Terima kasih atas perhatian Anda dan kesempatan untuk melayani Anda. Kami berharap dapat segera melihat Anda menyelesaikan pembelian 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>
+ <tr>
+ <td style="text-align:center;">
+ <hr width="100%"
+ style="background-color:rgb(204,204,204);border:medium none;clear:both;display:block;font-size:0px;min-height:1px;line-height:0; margin: 16px 0px 16px 0px;" />
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </table>
+ </div>
+ </field>
+ </record>
+
</data>
</odoo> \ No newline at end of file