Se rendre au contenu
Menu
Cette question a été signalée
1 Répondre
3661 Vues

For example, I want company employees to receive notifications on their page and this should be done at an automatically defined time (e.g. at 2pm today)

Avatar
Ignorer
Meilleure réponse

Hi,

You can use Scheduled actions from settings menu for this purpose.

In your Code

XML

Inside the data directory create an xml file for notification

< odoo>
< data noupdate="1">
< record id="user_notification_scheduler" model="ir.cron">
< field name="name">Employee notification
< field name="model_id" ref="model_hr_employee"/>
< field name="type">ir.actions.server
< field name="state">code
< field name="user_id" ref="base.user_root"/>
< field name="code">model.employee_notification()
< field name="interval_number">1
< field name="interval_type">days
< field name="numbercall">-1
< /record>
< /data>
< /odoo>
This will create scheduler with name 'Employee notification'.You can see that in scheduled actions from settings menu.You can set the Next Execution Date and time from there by manually or it will execute automatically according to the time period we given.It may be 1 day,1 month..etc.Here it is 1 day as you can see from interval_number.

Python

Inherit the model 'hr.employee' and define the employee_notification() function mentioned in the above xml code

class HrEmployeeInherit(models.Model):
_inherit = 'hr.employee'

def employee_notification(self):
employees = self.env['hr.employee'].search([])
user = self.env["res.users"].search([('id', '=', self._uid)])
for rec in employees:
email_values = {
'subject': 'Notification for Employees',
'email_from': user.email,
'email_to': rec.work_email,
'body_html': "< div>Dear %s,\n"
................
"< br/>Kindly Regards,"
"< br/>
%s" % (rec.name, user.name),
'auto_delete': True,
}
mail = self.env['mail.mail'].sudo().create(email_values)
mail.send(raise_exception=False)
Regards
Avatar
Ignorer
Publications associées Réponses Vues Activité
2
févr. 24
15599
1
déc. 22
5020
2
déc. 22
14505
2
juin 22
6370
2
juin 22
4745