[IMP] ensan_sale_managemnt: cron to send cart remainder sms

This commit is contained in:
Abdurrahman Saber 2025-07-10 03:57:24 +03:00
parent 3bb90bcd39
commit 860bcdeced
2 changed files with 22 additions and 0 deletions

View File

@ -10,5 +10,15 @@
<field name="state">code</field>
<field name="code">model._update_remaining_amounts()</field>
</record>
<record id="send_abandoned_cart_sms_remainder" model="ir.cron">
<field name="name">E-Commerce: Send Abandoned Cart SMS Remainder</field>
<field name="model_id" ref="model_sale_order"/>
<field name="interval_number">1</field>
<field name="interval_type">hours</field>
<field name="numbercall">-1</field>
<field name="state">code</field>
<field name="code">model._cron_send_recovery_sms()</field>
</record>
</odoo>

View File

@ -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):