ฉันต้องการแจ้งให้สมาชิกทีมบำรุงรักษาทุกคนทราบเมื่อมีการสร้างคำขอใหม่ภายในทีมนั้น
ในขณะนี้ ฉันมีฟังก์ชันนี้ที่จัดการโดยการดำเนินการอัตโนมัติดังนี้:
รหัสหลาม:
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])
แต่ตอนนี้ฉันต้องการแปลงโซลูชันนี้เป็นโมดูลที่กำหนดเอง วิธีที่ถูกต้องในการทำเช่นนี้คืออะไร?
ฉันควรสืบทอด maintenance.request
แทนที่วิธีการสร้างและส่งอีเมลของฉันด้วยวิธีใดวิธีหนึ่ง (แน่นอนแค่ไหน) ด้วยเนื้อหาอีเมลแบบฮาร์ดโค้ด
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
หรือมีวิธีที่จะดึงดูดตัวเองให้เข้ากับฟังก์ชั่นที่สร้างไว้ล่วงหน้าเพื่อส่งการแจ้งเตือนและบอกให้มันทำงานให้กับสมาชิกในทีมด้วย? ฉันไม่ต้องการเพิ่มพวกเขาทั้งหมดเป็นผู้ติดตาม (เพราะพวกเขาจะได้รับสแปมพร้อมการอัปเดตที่ไม่จำเป็นเกี่ยวกับคำขอ) - เพียงเพื่อแจ้งให้ทราบเกี่ยวกับคำขอใหม่ จากนั้นพวกเขาสามารถติดตามได้หากจำเป็น