[Checkins] SVN: z3ext.layoutform/trunk/ Return added object in createAndAdd method

Nikolay Kim fafhrd at datacom.kz
Fri Sep 26 07:55:23 EDT 2008


Log message for revision 91511:
  Return added object in createAndAdd method

Changed:
  U   z3ext.layoutform/trunk/CHANGES.txt
  U   z3ext.layoutform/trunk/src/z3ext/layoutform/add.py

-=-
Modified: z3ext.layoutform/trunk/CHANGES.txt
===================================================================
--- z3ext.layoutform/trunk/CHANGES.txt	2008-09-26 11:52:58 UTC (rev 91510)
+++ z3ext.layoutform/trunk/CHANGES.txt	2008-09-26 11:55:22 UTC (rev 91511)
@@ -2,12 +2,14 @@
 CHANGES
 =======
 
-1.1.2 (2008-08-??)
+1.1.2 (2008-09-26)
 ------------------
 
 - Added group support
 
+- Return added object in createAndAdd method
 
+
 1.1.1 (2008-08-05)
 ------------------
 

Modified: z3ext.layoutform/trunk/src/z3ext/layoutform/add.py
===================================================================
--- z3ext.layoutform/trunk/src/z3ext/layoutform/add.py	2008-09-26 11:52:58 UTC (rev 91510)
+++ z3ext.layoutform/trunk/src/z3ext/layoutform/add.py	2008-09-26 11:55:22 UTC (rev 91511)
@@ -15,8 +15,7 @@
 
 $Id$
 """
-from zope import interface, event
-from zope.lifecycleevent import ObjectCreatedEvent
+from zope import interface
 from zope.traversing.browser import absoluteURL
 from zope.app.container.interfaces import IAdding
 from zope.app.container.interfaces import IWriteContainer
@@ -26,12 +25,11 @@
 from z3ext.layout.pagelet import BrowserPagelet
 from z3ext.statusmessage.interfaces import IStatusMessage
 
-import interfaces
-from interfaces import _
+from interfaces import _, IPageletAddForm, IAddButton, ICancelButton
 
 
 class PageletAddForm(form.AddForm, BrowserPagelet):
-    interface.implements(interfaces.IPageletAddForm)
+    interface.implements(IPageletAddForm)
 
     render = BrowserPagelet.render
     __call__ = BrowserPagelet.__call__
@@ -40,8 +38,7 @@
 
     formCancelMessage = _(u'Action has been canceled.')
 
-    @button.buttonAndHandler(_(u'Add'), name='add',
-                             provides=interfaces.IAddButton)
+    @button.buttonAndHandler(_(u'Add'), name='add', provides=IAddButton)
     def handleAdd(self, action):
         data, errors = self.extractData()
 
@@ -55,8 +52,7 @@
                 self._finishedAdd = True
                 self.redirect(self.nextURL())
 
-    @button.buttonAndHandler(_(u'Cancel'), name='cancel',
-                             provides=interfaces.ICancelButton)
+    @button.buttonAndHandler(_(u'Cancel'), name='cancel', provides=ICancelButton)
     def handleCancel(self, action):
         self._finishedAdd = True
         self.redirect(self.cancelURL())
@@ -64,8 +60,9 @@
 
     def createAndAdd(self, data):
         obj = self.create(data)
-        event.notify(ObjectCreatedEvent(obj))
-        self.add(obj)
+        addedObj = self.add(obj)
+        if addedObj is not None:
+            return addedObj
         return obj
 
     def nextURL(self):



More information about the Checkins mailing list