mirror of
https://github.com/OCA/contract.git
synced 2025-02-13 17:57:24 +02:00
[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:
@@ -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 AgreementSection(models.Model):
|
||||
@@ -25,9 +25,24 @@ class AgreementSection(models.Model):
|
||||
string="Clauses"
|
||||
)
|
||||
content = fields.Html(string="Section Content")
|
||||
dynamic_content = fields.Html(compute="_compute_dynamic_content",
|
||||
string="Dynamic Content",
|
||||
help='compute dynamic Content')
|
||||
active = fields.Boolean(
|
||||
string="Active",
|
||||
default=True,
|
||||
help="If unchecked, it will allow you to hide the agreement without "
|
||||
"removing it."
|
||||
)
|
||||
|
||||
# compute the dynamic content for mako expression
|
||||
@api.multi
|
||||
def _compute_dynamic_content(self):
|
||||
MailTemplates = self.env['mail.template']
|
||||
for section in self:
|
||||
lang = section.agreement_id and \
|
||||
section.agreement_id.partner_id.lang or 'en_US'
|
||||
content = \
|
||||
MailTemplates.with_context(lang=lang).render_template(
|
||||
section.content, 'agreement.section', section.id)
|
||||
section.dynamic_content = content
|
||||
|
||||
Reference in New Issue
Block a user