[Product-Developers] Re: POI Email notification

Maurits van Rees m.van.rees at zestsoftware.nl
Tue Mar 30 12:43:56 UTC 2010


Hi Thomas,

Please keep the discussion on the list, thanks.

Op 30-03-10 09:46, Nunner, Thomas schreef:
 > I am using Plone 3 and Poi 1.2.8. I had a look at the code but do not 
fully understand it. As far as I understand it, in 
Products/Poi/content/PoiTracker.py the responsible person ist not 
specified but in Products/Poi/content/PoiIssue.py it is.
 > Can you give me some more hints of how to change the code?

Something like this in PoiTracker.py in the 
getNotificationEmailAddresses method should do the trick (untested):


=========================================================================
   if not self.getSendNotificationEmails():
       return []

   portal_membership = getToolByName(self, 'portal_membership')

   member = portal_membership.getAuthenticatedMember()
   email = member.getProperty('email')

   # make sure no duplicates are added
   addresses = sets.Set()

   mailingList = self.getMailingList()
   if mailingList:
       addresses.add(mailingList)
   else:
       addresses.union_update([self._getMemberEmail(x, portal_membership)
                               for x in self.getManagers() or []])

   if issue is not None:
       ####### BEGINNING OF EXTRA CODE
       manager = issue.getResponsibleManager()
       if manager:
           # Empty the current addresses.
           addresses = sets.Set()
           addresses.add(self._getMemberEmail(manager, portal_membership)
       ####### END OF EXTRA CODE
       addresses.add(issue.getContactEmail())
       addresses.union_update([self._getMemberEmail(x, portal_membership)
                               for x in issue.getWatchers() or []])

   addresses.discard(None)
   addresses.discard(email)

   return tuple(addresses)
=========================================================================

Of course, changing the code of Poi directly is not recommended.  A 
monkey patch in a package of your own would be better, so you do not 
have to make the same change again by hand once version 1.2.9 comes out. 
  But changing the code directly may be the fastest.

Maurits






More information about the Product-Developers mailing list