콘텐츠로 건너뛰기
메뉴
커뮤니티에 참여하려면 회원 가입을 하시기 바랍니다.
신고된 질문입니다
1 회신
3673 화면

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)

아바타
취소
베스트 답변

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
아바타
취소
관련 게시물 답글 화면 활동
2
2월 24
15602
1
12월 22
5023
2
12월 22
14510
2
6월 22
6378
2
6월 22
4752