[Erp5-report] r21528 - /erp5/trunk/products/ERP5/Tool/NotificationTool.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Thu Jun 12 14:17:48 CEST 2008
Author: nicolas
Date: Thu Jun 12 14:17:47 2008
New Revision: 21528
URL: http://svn.erp5.org?rev=21528&view=rev
Log:
Do not hardcode Portal Type
Modified:
erp5/trunk/products/ERP5/Tool/NotificationTool.py
Modified: erp5/trunk/products/ERP5/Tool/NotificationTool.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Tool/NotificationTool.py?rev=21528&r1=21527&r2=21528&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Tool/NotificationTool.py (original)
+++ erp5/trunk/products/ERP5/Tool/NotificationTool.py Thu Jun 12 14:17:47 2008
@@ -226,7 +226,8 @@
notifier_list=None, priority_level=None,
store_as_event=False,
message_text_format='text/plain',
- event_keyword_argument_dict=None):
+ event_keyword_argument_dict=None,
+ portal_type_list=None):
"""
This method provides a common API to send messages to erp5 users
from object actions of worflow scripts.
@@ -265,15 +266,19 @@
event_keyword_argument_dict -- additional keyword arguments which is used for
constructor of event document.
+ portal_type_list -- Portal Type of Users
+
TODO: support default notification email
"""
portal = self.getPortalObject()
catalog_tool = getToolByName(self, 'portal_catalog')
-
+ if portal_type_list is None:
+ portal_type_list = ('Person',)
# Find "From" Person
from_person = None
if isinstance(sender, basestring):
- sender = catalog_tool.getResultValue(portal_type='Person', reference=sender)
+ sender = catalog_tool.getResultValue(portal_type=portal_type_list,
+ reference=sender)
if sender is not None:
email_value = sender.getDefaultEmailValue()
if email_value is not None and email_value.asText():
@@ -286,7 +291,8 @@
recipient = (recipient,)
for person in recipient:
if isinstance(person, basestring):
- person = catalog_tool.getResultValue(portal_type='Person', reference=person)
+ person = catalog_tool.getResultValue(portal_type=portal_type_list,
+ reference=person)
if person is None:
# For backward compatibility. I recommend to use ValueError.(yusei)
raise IndexError, "Can't find person document which reference is '%s'" % person
More information about the Erp5-report
mailing list