Skip to Content
Menu
This question has been flagged
1 Reply
666 Views

My master asked me to create a modul witch enherit of digest module and modify the mail template. So I tried the following code : 

from odoo import api, fields, models, tools, _

class CostumeDigest(models.Model):
_name = 'costum.digest'
_inherit = 'digest.digest'
_description = 'Digest Personnalisé'

Now I don't  know I can modify the mail template of my costume.digest.

Will someone help me please ?


Avatar
Discard
Best Answer

Hi,

You have to inherit the digest model and have to necessary fields like a boolean to activate or to send this value in the digest email and then an computed field to compute value.


You can refer existing modules in Odoo, where the digest.digest model is inherited and added new values.


Sample from POS module:


class Digest(models.Model):
_inherit = 'digest.digest'

kpi_pos_total = fields.Boolean('POS Sales')
kpi_pos_total_value = fields.Monetary(compute='_compute_kpi_pos_total_value')

def _compute_kpi_pos_total_value(self):
if not self.env.user.has_group('point_of_sale.group_pos_user'):
raise AccessError(_("Do not have access, skip this data for user's digest email"))
for record in self:
start, end, company = record._get_kpi_compute_parameters()
record.kpi_pos_total_value = sum(self.env['pos.order'].search([
('date_order', '>=', start),
('date_order', ', end),
('state', 'not in', ['draft', 'cancel', 'invoiced']),
('company_id', '=', company.id)
]).mapped('amount_total'))

def _compute_kpis_actions(self, company, user):
res = super(Digest, self)._compute_kpis_actions(company, user)
res['kpi_pos_total'] = 'point_of_sale.action_pos_sale_graph&menu_id=%s' % self.env.ref('point_of_sale.menu_point_root').id
return res



Thanks & Regards

Walnut Software Solutions

Avatar
Discard