各位大大好,目前在實作一個功能但遇到困難,想請求幫忙
功能標題所述,ODOO寄送EMAIL時,想將附件PDF加密
現在的code如下,作法為
1.先將我選的資料跑相對應的報表
2.將報表資料解析成base64存到附件的table中
3.把信件模板放上我的附件
4.把信寄出去
def action_mail_send_payslip(self):
report_template_id = self.env.ref(
'om_hr_payroll.payslip_details_report').render_qweb_pdf(self.id)
data_record = base64.b64encode(report_template_id[0])
ir_values = {
'name': self.name,
'type': 'binary',
'datas': data_record,
'store_fname': data_record,
'mimetype': 'application/pdf',
}
data_id = self.env['ir.attachment'].create(ir_values)
template = self.env.ref('idx_hrm.service_email_template_hrm_payroll')
template.attachment_ids = [(6, 0, [data_id.id])]
template.send_mail(self.id, force_send=True)
我應該是要在第三個步驟 template.attachment_ids = [(6, 0, [data_id.id])]
把附件檔案加密,但是因為我看odoo附件存在本機的資料都是二進制的檔案
而開啟odoo附件功能的時候會依照mimetype得設定轉成對應的檔案顯示
然後我直接寄信的時後他就會幫我在底層轉成pdf了,所以我也不知道要在哪裡進行加密
想問各位大大有沒有寫過這種功能,或是解決方法,謝謝!!