[IMP]13481: compute dynamic content using mako template mechanism and render it in preview-pdf generation for agreement, clause, recital, section, appendix

This commit is contained in:
Sandip Mangukiya
2018-12-21 01:03:25 -08:00
parent a9942b7a8e
commit 56812369bc
13 changed files with 127 additions and 11 deletions

View File

@@ -1,7 +1,7 @@
# Copyright (C) 2018 - TODAY, Pavlov Media
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo import fields, models
from odoo import api, fields, models
class AgreementAppendix(models.Model):
@@ -15,6 +15,9 @@ class AgreementAppendix(models.Model):
"The name is not.")
sequence = fields.Integer(string="Sequence", default=10)
content = fields.Html(string="Content")
dynamic_content = fields.Html(compute="_compute_dynamic_content",
string="Dynamic Content",
help='compute dynamic Content')
agreement_id = fields.Many2one('agreement', string="Agreement",
ondelete="cascade")
active = fields.Boolean(
@@ -22,3 +25,15 @@ class AgreementAppendix(models.Model):
default=True,
help="If unchecked, it will allow you to hide this appendix without "
"removing it.")
# compute the dynamic content for mako expression
@api.multi
def _compute_dynamic_content(self):
MailTemplates = self.env['mail.template']
for appendix in self:
lang = appendix.agreement_id and \
appendix.agreement_id.partner_id.lang or 'en_US'
content = \
MailTemplates.with_context(lang=lang).render_template(
appendix.content, 'agreement.appendix', appendix.id)
appendix.dynamic_content = content