Dear Maurits,

finally Poi with your new code is running. It is doing exactly what I want, 
after an issue is created (only the responsible manager is notified via email). 
But during the creation of an issue, still all the track managers are notified 
via email). Also in this case only the responsible manager should be notified 
via email. I already tried to modify the code but without any success.

Any help would be greatly appreciated!

Thomas



-----Ursprüngliche Nachricht-----
Von: [email protected] 
[mailto:[email protected]] Im Auftrag von Maurits van 
Rees
Gesendet: Dienstag, 30. März 2010 14:44
An: [email protected]
Betreff: [Product-Developers] Re: POI Email notification

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



_______________________________________________
Product-Developers mailing list
[email protected]
http://lists.plone.org/mailman/listinfo/product-developers

_______________________________________________
Product-Developers mailing list
[email protected]
http://lists.plone.org/mailman/listinfo/product-developers

Reply via email to