diff options
Diffstat (limited to 'indoteknik_custom/models/website_user_cart.py')
| -rw-r--r-- | indoteknik_custom/models/website_user_cart.py | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/indoteknik_custom/models/website_user_cart.py b/indoteknik_custom/models/website_user_cart.py index 10821cd3..d9352abb 100644 --- a/indoteknik_custom/models/website_user_cart.py +++ b/indoteknik_custom/models/website_user_cart.py @@ -145,14 +145,15 @@ class WebsiteUserCart(models.Model): } return result - def action_mail_reminder_to_checkout(self): - user_ids = self.search([]).mapped('user_id') + def action_mail_reminder_to_checkout(self, limit=10): + user_ids = self.search([]).mapped('user_id')[:limit] - # user_ids = [1102] - for user in user_ids: + for user in user_ids: latest_cart = self.search([('user_id', '=', user.id), ('is_reminder', '=', False)], order='create_date desc', limit=1) + # Proses semua keranjang untuk user tersebut carts_to_remind = self.search([('user_id', '=', user.id)]) + if latest_cart and not latest_cart.is_reminder: for cart in carts_to_remind: check = cart.check_product_flashsale(cart.product_id.id) @@ -161,9 +162,12 @@ class WebsiteUserCart(models.Model): if cart.program_line_id or check['is_flashsale'] or cart.product_id.default_code and 'BOM' in cart.product_id.default_code: cart.is_selected = False cart.is_reminder = True + + # Mengirim email pengingat untuk keranjang terbaru template = self.env.ref('indoteknik_custom.mail_template_user_cart_reminder_to_checkout') template.send_mail(latest_cart.id, force_send=True) + def calculate_discount(self, user_id): carts = self.search([('user_id', '=', user_id)]) voucher = self.env['voucher'].browse(146) |
