#python #xml #cron #odoo #odoo-12
#python #xml #cron #odoo #odoo-12
Вопрос:
Я разработал Cron для того, чтобы, когда у задачи есть строка date_deadline, равная today, ответственный пользователь этой задачи получит электронное письмо.
Функция по-прежнему базовая, потому что она тестируется.
class ProjectTasks(models.Model):
_inherit = 'project.task'
@api.multi
def send_email(self):
print('Executing CRON')
today = date.today()
tasks = self.env['project.task'].search([('date_deadline','=',today)])
body = 'Reminder, your task %s is going to expire today' % (tasks.name)
subject = 'Reminder Task Expire Today'
email_from = self.env['ir.mail_server'].search([('id','=',1)])
email_to = tasks.user_id.email
values = {
'res_id' : 1,
'email_from' : email_from.smtp_user,
'email_to' : email_to,
'auto_delete' : False,
'model' : 'project.task',
'body' : body,
'subject' : subject,
}
send_mail = self.env['mail.mail'].sudo().create(values)
send_mail.send()
И мой XML:
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<record id="ir_send_mail_task" model="ir.cron">
<field name="name">Recordatorio Vencimiento Tarea</field>
<field name="active">True</field>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="numbercall">-1</field>
<field name="model_id" ref="model_project_task"/>
<field name="state">code</field>
<field name="code">model.send_email()</field>
</record>
</data>
</odoo>
Итак … чего мне здесь не хватает? Я получаю тему, но не тело.
Ответ №1:
Попробуйте изменить свой тег body.
values = {
'res_id' : 1,
'email_from' : email_from.smtp_user,
'email_to' : email_to,
'auto_delete' : False,
'model' : 'project.task',
'body_html' : body,
'subject' : subject,
}
Комментарии:
1. Именно то, что мне было нужно. Спасибо