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:

Reply via email to