Skip to Content
เมนู
คุณต้องลงทะเบียนเพื่อโต้ตอบกับคอมมูนิตี้
คำถามนี้ถูกตั้งค่าสถานะ
2690 มุมมอง

I want to notify all Maintenance Team members when a new request is created inside that particular team.

At the moment I have this functionality handled by an automated action like this:
https://i.imgur.com/ZbDstba.png

Python code:

body_html = """
...
""" + record.name + """
...
"""

num_of_members = len(record.maintenance_team_id.member_ids)

if num_of_members:
members_emails = []

for i in range(num_of_members):
members_emails.append(record.maintenance_team_id.member_ids[i].email)

email_to = ",".join(members_emails)

mail_pool = env['mail.mail']
values={}
values.update({'subject': 'New maintenance request - ' + record.company_id.name})
values.update({'email_to': email_to})
values.update({'body_html': body_html})
msg_id = mail_pool.create(values)

if msg_id:
mail_pool.send([msg_id])

But now I would like to convert this solution to a custom module. What is the correct way to do this? 

Should I inherit `maintenance.request`, override the create method and send my email somehow (how exactly?) with my hardcoded email body? 

class MaintenanceRequest(models.Model):
_inherit = 'maintenance.request'

@api.model
def create(self, vals):
req = super(MaintenanceRequest, self).create(vals)

body_html = """
...
""" + req.name + """
...
"""
# ...
if msg_id:
mail_pool.send([msg_id])

return req

Or there is a way to hook myself to a premade function for sending notification and just tell it to run also for the team members?  I don't want to add all of them as followers (because they would get spammed with unnecessary updates about the request) - only to notify them about the new request and then they can follow it if they needed to.

อวตาร
ละทิ้ง
Related Posts ตอบกลับ มุมมอง กิจกรรม
Create Journal Entries whit code แก้ไขแล้ว
2
ส.ค. 25
6480
1
มิ.ย. 22
8448
1
ก.ย. 21
3305
0
ส.ค. 21
95
0
ก.ค. 21
172