From 860bcdecedbec42d7f3a0cd01caa1cc503b872fd Mon Sep 17 00:00:00 2001 From: Abdurrahman Saber Date: Thu, 10 Jul 2025 03:57:24 +0300 Subject: [PATCH] [IMP] ensan_sale_managemnt: cron to send cart remainder sms --- .../ensan_sale_management/data/ir_cron.xml | 10 ++++++++++ .../ensan_sale_management/models/sale_order.py | 12 ++++++++++++ 2 files changed, 22 insertions(+) diff --git a/odex25_donation/ensan_sale_management/data/ir_cron.xml b/odex25_donation/ensan_sale_management/data/ir_cron.xml index fc7c61b70..3e1abdaa1 100644 --- a/odex25_donation/ensan_sale_management/data/ir_cron.xml +++ b/odex25_donation/ensan_sale_management/data/ir_cron.xml @@ -10,5 +10,15 @@ code model._update_remaining_amounts() + + + E-Commerce: Send Abandoned Cart SMS Remainder + + 1 + hours + -1 + code + model._cron_send_recovery_sms() + diff --git a/odex25_donation/ensan_sale_management/models/sale_order.py b/odex25_donation/ensan_sale_management/models/sale_order.py index fed569484..7dd8d944e 100644 --- a/odex25_donation/ensan_sale_management/models/sale_order.py +++ b/odex25_donation/ensan_sale_management/models/sale_order.py @@ -150,6 +150,18 @@ class SaleOrder(models.Model): "name": "Send SMS Text Message", "target": "new", } + + @api.model + def _cron_send_recovery_sms(self): + records = self.search([('is_abandoned_cart', '=', True), ('order_mobile_number', '!=', False), ('cart_recovery_sms_sent', '=', False)]) + for rec in records: + sms_template_id = rec.website_id.cart_recovery_sms_template_id + rec._message_sms_with_template( + template=sms_template_id, + put_in_queue=True, + sms_numbers=[rec.order_mobile_number] + ) + records.write({'cart_recovery_sms_sent': True}) class ExtraDonators(models.Model):