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