fix letter new

This commit is contained in:
ronozoro 2024-12-21 17:57:44 -08:00
parent a7045a0bfe
commit 7ee9b5cff9
No known key found for this signature in database
GPG Key ID: 9DC6CC94833D519C
1 changed files with 18 additions and 12 deletions

View File

@ -74,32 +74,38 @@ class Letters(models.Model):
pdf = self.env.ref(REPORT_ID)._render_qweb_pdf(self.ids)
# pdf result is a list
b64_pdf = base64.b64encode(pdf[0])
res_model = ''
res_id = ''
field_name = 'internal_transaction_id'
if self.transaction_type == 'internal':
transaction = self.env['internal.transaction']
res_model = transaction._name
res_id = self.internal_transaction_id.id
field_name = 'internal_transaction_id'
elif self.transaction_type == "outgoing":
transaction = self.env['outgoing.transaction']
res_model = transaction._name
res_id = self.outgoing_transaction_id.id
field_name = 'outgoing_transaction_id'
elif self.transaction_type == "incoming":
transaction = self.env['incoming.transaction']
res_model = transaction._name
res_id = self.incoming_transaction_id.id
# save pdf as attachment
field_name = 'incoming_transaction_id'
file_exists = self.env['cm.attachment.rule'].search([(field_name, '=', res_id)])
if file_exists:
file_exists.unlink()
ATTACHMENT_NAME = "Letter"
return self.env['ir.attachment'].create({
attach_id = self.env['ir.attachment'].create({
'name': ATTACHMENT_NAME + '.pdf',
'type': 'binary',
'datas': b64_pdf,
# 'datas_fname': ATTACHMENT_NAME + '.pdf',
'store_fname': ATTACHMENT_NAME,
'res_model': res_model,
'res_id': res_id,
'mimetype': 'application/x-pdf'
})
return self.env['cm.attachment.rule'].sudo().create({
'employee_id': self.unite.id,
'entity_id': self.unite.id,
'file_save': [(6, 0, attach_id.ids)] ,
'attachment_filename': ATTACHMENT_NAME,
field_name:res_id,
'date': datetime.datetime.now(),
'description': self.name,
})
def write(self, values):
if values.get('content'):