Author: rmarianski
Date: 2007-11-11 14:25:11 -0500 (Sun, 11 Nov 2007)
New Revision: 10896

Modified:
   opencore/trunk/opencore/listen/events.py
Log:
verify that mailing list isn't already registered before creating auto 
discussion list

Modified: opencore/trunk/opencore/listen/events.py
===================================================================
--- opencore/trunk/opencore/listen/events.py    2007-11-11 18:48:01 UTC (rev 
10895)
+++ opencore/trunk/opencore/listen/events.py    2007-11-11 19:25:11 UTC (rev 
10896)
@@ -1,12 +1,15 @@
 from decorator import decorator
 
+from zope.component import getUtility
 from zope.app.event.objectevent import ObjectCreatedEvent
 from zope.event import notify
 
 from Products.CMFCore.utils import getToolByName
 from Products.listen.interfaces import IWriteMembershipList
+from Products.listen.interfaces import IListLookup
 from opencore.listen.mailinglist import OpenMailingList
 from opencore.project.utils import get_featurelets
+from utils import getSuffix
 
 # make sure that modification date gets updated
 # when new messages are sent to list
@@ -62,7 +65,16 @@
     proj_id = proj.getId()
     proj_title = proj.Title()
     ml_id = '%s-discussion' % proj_id
+    address = '%s%s' % (ml_id, getSuffix())
 
+    # need to verify that a mailing list with this name isn't already created
+    portal = getToolByName(proj, 'portal_url').getPortalObject()
+    ll = getUtility(IListLookup, context=portal)
+    if ll.getListForAddress(address) is not None:
+        # XXX we'll just silently fail for now, not sure what else we can do
+        # psm maybe?
+        return
+
     # XXX invokeFactory depends on the title being set in the request
     ml_title = u'%s discussion' % (proj_title)
     proj.REQUEST.set('title', ml_title)
@@ -77,7 +89,6 @@
 
     memlist = IWriteMembershipList(ml)
 
-    portal = getToolByName(proj, 'portal_url').getPortalObject()
     cat = getToolByName(portal, 'portal_catalog')
     teams = getToolByName(portal, 'portal_teams')
     try:



--
Archive: 
http://www.openplans.org/projects/opencore/lists/openplans-svn/archive/2007/11/1194809112377
To unsubscribe send an email with subject unsubscribe to [EMAIL PROTECTED]  
Please contact [EMAIL PROTECTED] for questions.

Reply via email to