[Zope-dev] ZPatterns -- trigger add events not working

Phillip J. Eby pje@telecommunity.com
Tue, 11 Jul 2000 16:22:16 -0500


At 09:29 PM 7/11/00 +0100, Steve Alexander wrote:
>
>I've inserted print statements into the _objectChanging() and
>_objectAdding() methods of DataManagers.DataManager. It seems that when
>I add a DataSkin-derived-ZClass, it gets added and also changed set in a
>single transaction, and only one of them gets reported to the trigger.

Hm.  That's a bug, since if an object is changed and added, it should only
get the *add* event, not the change event. 


>Strangely, the call to _objectChanging() comes before the call to
>_objectAdding().

This would explain why you only get a change event, since if add happens
after change, it is ignored.  I'm curious how the change event is getting
called first, since...  Oh.  I'll bet I know what it is.  It's probably
that manage_afterAdd is being called later in the ObjectManager code than
it used to be, and/or Zope is trying to set an _owner attribute on the
newly added object.  Crap.  This is going to take some rethinking to find
another way to trap the Zope "add" event.  :(