Hi i double checked it:
class AddForm(...) def createAndAdd(self, data): ob = self.create(data) zope.event.notify(ObjectCreatedEvent(ob)) return self.add(ob) def create(self, data): raise NotImplementedError( "concrete classes must implement create() or createAndAdd()") So if you create in your add form something like this: class MYAddForm(AddForm): def create(self, data): return MyObject(data) the catalog stuff is done for you. HTH Christian > Hello > On Fri, 2011-06-24 at 12:17 +0200, Christian Klinger wrote: >> what do you mean with "via zope.formlib AddForms's createAndAdd' method. >> >> Do you override this method? If so this is wrong you only have to >> add a create method which get's called before the object is persisted in >> the container. The createAndAdd method triggers then the catalog. > > Oh!! I never knew that. I was following the bluebream documentation at > http://bluebream.zope.org/doc/1.0/tutorial2.html#adding-tickets there > they were overriding the 'createAndAdd' method of AddForm. > > Anyways I'll try the 'create' method and get back. > > Thanks > > > > > _______________________________________________ > Zope-Dev maillist - Zope-Dev@zope.org > https://mail.zope.org/mailman/listinfo/zope-dev > ** No cross posts or HTML encoding! ** > (Related lists - > https://mail.zope.org/mailman/listinfo/zope-announce > https://mail.zope.org/mailman/listinfo/zope ) _______________________________________________ Zope-Dev maillist - Zope-Dev@zope.org https://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - https://mail.zope.org/mailman/listinfo/zope-announce https://mail.zope.org/mailman/listinfo/zope )