跳至內容
選單
此問題已被標幟
2 回覆
3505 瀏覽次數

Is it a simple task to send a reminder email to the user that an activity (reminder, To Do etc) is due in x number of days?

How can this be done?

頭像
捨棄
最佳答案

Hi,

You need to create a model and based on that model you can create a schedular action

Create a Scheduled Action, Define a Function to Send Emails, Create an Email Template, Configure Email Sending, Link Scheduled Action with Function:


from odoo import api, fields, models

class Reminder(models.Model):
    _name = 'your.module.reminder'
    _description = 'Activity Reminder'

    name = fields.Char(string='Activity Name', required=True)
    due_date = fields.Date(string='Due Date', required=True)
    user_id = fields.Many2one('res.users', string='User', required=True)

    @api.model
    def send_reminder_emails(self):
        # Triggered by scheduled action
        upcoming_activities = self.search([('due_date', '=', fields.Date.today() + timedelta(days=7))])

        for activity in upcoming_activities:
            template = self.env.ref('your.module_email_template')
            template.send_mail(activity.id, force_send=True)

class ReminderEmailTemplate(models.Model):
    _name = 'your.module.email.template'
    _description = 'Reminder Email Template'

    name = fields.Char(string='Template Name', required=True)
    subject = fields.Char(string='Email Subject', required=True)
    body_html = fields.Html(string='Email Body', required=True)


Hope it helps

頭像
捨棄
最佳答案

Hi 

You can Create Automated actions for Mail activity based on the due days.

Automated Actions

Automated actions using Studio


Regards

頭像
捨棄
相關帖文 回覆 瀏覽次數 活動
1
5月 23
2099
2
4月 23
3157
2
2月 24
4854
1
4月 24
2336
0
3月 24
4439