From 77375b0e2382f4b5c75bccfb2b2a68f4dcbce865 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Thu, 17 Sep 2020 17:18:02 +0200 Subject: [PATCH] Send client email via server issue9449 review292001002 --- __init__.py | 1 + ir.py | 26 ++++++++++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/__init__.py b/__init__.py index f2dd73b0b5..6ee59e2ef6 100644 --- a/__init__.py +++ b/__init__.py @@ -24,6 +24,7 @@ def register(): ir.Rule, ir.Cron, ir.CronCompany, + ir.EmailTemplate, party.Configuration, party.ConfigurationLang, party.Party, diff --git a/ir.py b/ir.py index 9e3917ebae..4d4a9e52b1 100644 --- a/ir.py +++ b/ir.py @@ -112,3 +112,29 @@ class CronCompany(ModelSQL): required=True, select=True) company = fields.Many2One('company.company', 'Company', ondelete='CASCADE', required=True, select=True) + + +class EmailTemplate(metaclass=PoolMeta): + __name__ = 'ir.email.template' + + @classmethod + def email_models(cls): + return super().email_models() + ['company.employee'] + + @classmethod + def _get_address(cls, record): + pool = Pool() + Employee = pool.get('company.employee') + address = super()._get_address(record) + if isinstance(record, Employee): + address = cls._get_address(record.party) + return address + + @classmethod + def _get_language(cls, record): + pool = Pool() + Employee = pool.get('company.employee') + language = super()._get_language(record) + if isinstance(record, Employee): + language = cls._get_language(record.party) + return language