changeset 2e6d46585d1f in modules/notification_email:default
details:
https://hg.tryton.org/modules/notification_email?cmd=changeset;node=2e6d46585d1f
description:
Add commission agent as a recipient
issue9031
review262911002
diffstat:
CHANGELOG | 2 ++
notification.py | 20 +++++++++++++++++++-
tryton.cfg | 1 +
3 files changed, 22 insertions(+), 1 deletions(-)
diffs (78 lines):
diff -r d5ca8d7f3709 -r 2e6d46585d1f CHANGELOG
--- a/CHANGELOG Wed Dec 04 11:09:35 2019 +0100
+++ b/CHANGELOG Sat Feb 22 15:11:06 2020 +0100
@@ -1,3 +1,5 @@
+* Add commission agent as a recipient
+
Version 5.4.0 - 2019-11-04
* Bug fixes (see mercurial logs for details)
* Use party language for employees notifications
diff -r d5ca8d7f3709 -r 2e6d46585d1f notification.py
--- a/notification.py Wed Dec 04 11:09:35 2019 +0100
+++ b/notification.py Sat Feb 22 15:11:06 2020 +0100
@@ -17,7 +17,12 @@
from trytond.transaction import Transaction
__all__ = ['Email', 'EmailAttachment', 'EmailLog']
-_EMAIL_MODELS = ['res.user', 'party.party', 'web.user', 'company.employee']
+_EMAIL_MODELS = [
+ 'res.user',
+ 'party.party',
+ 'web.user',
+ 'company.employee',
+ 'commission.agent']
def _formataddr(name, email):
@@ -154,6 +159,10 @@
Employee = pool.get('company.employee')
except KeyError:
Employee = None
+ try:
+ Agent = pool.get('commission.agent')
+ except KeyError:
+ Agent = None
if isinstance(record, User) and record.email:
return _formataddr(record.rec_name, record.email)
elif Party and isinstance(record, Party):
@@ -169,6 +178,8 @@
return _formataddr(name, record.email)
elif Employee and isinstance(record, Employee):
return self._get_address(record.party)
+ elif Agent and isinstance(record, Agent):
+ return self._get_address(record.party)
def _get_addresses(self, value):
if isinstance(value, (list, tuple)):
@@ -194,6 +205,10 @@
Employee = pool.get('company.employee')
except KeyError:
Employee = None
+ try:
+ Agent = pool.get('commission.agent')
+ except KeyError:
+ Agent = None
if isinstance(record, User):
if record.language:
return record.language
@@ -206,6 +221,9 @@
elif Employee and isinstance(record, Employee):
if record.party.lang:
return record.party.lang
+ elif Agent and isinstance(record, Agent):
+ if record.party.lang:
+ return record.party.lang
lang, = Lang.search([
('code', '=', Configuration.get_language()),
], limit=1)
diff -r d5ca8d7f3709 -r 2e6d46585d1f tryton.cfg
--- a/tryton.cfg Wed Dec 04 11:09:35 2019 +0100
+++ b/tryton.cfg Sat Feb 22 15:11:06 2020 +0100
@@ -5,6 +5,7 @@
res
extras_depend:
company
+ commission
party
web_user
xml: