Saya ingin memberi tahu semua anggota Tim Pemeliharaan ketika permintaan baru dibuat di dalam tim tersebut.
Saat ini saya memiliki fungsi ini yang ditangani oleh tindakan otomatis seperti ini:
Kode piton:
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])
Tapi sekarang saya ingin mengubah solusi ini menjadi modul khusus. Apa cara yang benar untuk melakukan ini?
Haruskah saya mewarisi maintenance.request
, mengganti metode pembuatan dan mengirim email saya entah bagaimana (bagaimana tepatnya?) dengan isi email yang dikodekan secara hardcode?
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
Atau adakah cara untuk menghubungkan diri saya ke fungsi yang telah dibuat sebelumnya untuk mengirimkan pemberitahuan dan menyuruhnya dijalankan juga untuk anggota tim? Saya tidak ingin menambahkan mereka semua sebagai pengikut (karena mereka akan menerima spam dengan pembaruan yang tidak perlu tentang permintaan tersebut) - hanya untuk memberi tahu mereka tentang permintaan baru tersebut dan kemudian mereka dapat mengikutinya jika perlu.