diff --git a/agreement_legal/models/agreement.py b/agreement_legal/models/agreement.py
index 32147ddb..8a87cf96 100644
--- a/agreement_legal/models/agreement.py
+++ b/agreement_legal/models/agreement.py
@@ -170,6 +170,46 @@ class Agreement(models.Model):
company_contact_email = fields.Char(
related="company_contact_id.email", string="Email"
)
+ use_parties_content = fields.Boolean(
+ string="Use parties content",
+ help="Use custom content for parties")
+
+ def _get_default_parties(self):
+ deftext = """
+
Company Information
+
+ ${object.company_partner_id.name or ''}.
+ ${object.company_partner_id.street or ''}
+ ${object.company_partner_id.state_id.code or ''}
+ ${object.company_partner_id.zip or ''}
+ ${object.company_partner_id.city or ''}
+ ${object.company_partner_id.country_id.name or ''}.
+ Represented by ${object.company_contact_id.name or ''}.
+
+
+ Partner Information
+
+ ${object.partner_id.name or ''}.
+ ${object.partner_id.street or ''}
+ ${object.partner_id.state_id.code or ''}
+ ${object.partner_id.zip or ''} ${object.partner_id.city or ''}
+ ${object.partner_id.country_id.name or ''}.
+ Represented by ${object.partner_contact_id.name or ''}.
+
+ """
+ return deftext
+
+ parties = fields.Html(
+ string="Parties",
+ track_visibility="onchange",
+ default=_get_default_parties,
+ help="Parties of the agreement",
+ )
+ dynamic_parties = fields.Html(
+ compute="_compute_dynamic_parties",
+ string="Dynamic Parties",
+ help="Compute dynamic parties",
+ )
agreement_type_id = fields.Many2one(
"agreement.type",
string="Agreement Type",
@@ -308,6 +348,18 @@ class Agreement(models.Model):
)
agreement.dynamic_description = description
+ @api.multi
+ def _compute_dynamic_parties(self):
+ MailTemplates = self.env["mail.template"]
+ for agreement in self:
+ lang = agreement.partner_id.lang or "en_US"
+ parties = MailTemplates.with_context(
+ lang=lang
+ )._render_template(
+ agreement.parties, "agreement", agreement.id
+ )
+ agreement.dynamic_parties = parties
+
@api.multi
def _compute_dynamic_special_terms(self):
MailTemplates = self.env["mail.template"]
diff --git a/agreement_legal/report/agreement.xml b/agreement_legal/report/agreement.xml
index f497e7a2..546fa212 100644
--- a/agreement_legal/report/agreement.xml
+++ b/agreement_legal/report/agreement.xml
@@ -25,25 +25,32 @@
Parties
-
Company Information
-
-
- Represented by .
-
-
Partner Information
-
-
- Represented by
.
+
+
+ Company Information
+
+
+ Represented by .
+
+ Partner Information
+
+
+ Represented by .
+
+
Agreement
Recitals
diff --git a/agreement_legal/views/agreement.xml b/agreement_legal/views/agreement.xml
index e9d56129..b400b10b 100644
--- a/agreement_legal/views/agreement.xml
+++ b/agreement_legal/views/agreement.xml
@@ -90,6 +90,14 @@
+
+
+
+
+
+ This section (on the left) allows you to replace the default listing of the parties with custom dynamic content.
+
+
@@ -119,6 +127,9 @@
+
+
+