[Zope] Deletion of ZClass Object Does not Remove it from Catalog

Dieter Maurer dieter@handshake.de
Sat, 7 Dec 2002 21:18:29 +0100


Edward Pollard writes:
 > I've got my bastardised ZClass based of Page Tempate, I've made it
 > Catalog aware.
 > 
 > Creating the item puts it in the ZCatalog. Fantastic.
 > 
 > With the help of this list I've constructed the appropriate forms so
 > that editing the properties is reflected in the Catalog. Brilliant.
 > 
 > Deleting items does not delete them from the catalog. Damn.
 > 
 > Well, while 2 for 3 is good, I need to conquor this last little problem.
Strange.

  Apparently, your way to make it Catalog aware was not complete.

  You know, that "CatalogAware" must be the first inherited class
  (as otherwise, "manage_afterAdd" and "manage_beforeDelete",
  the hooks to provide catalog awarability, may be taken from
  another class).

As it looks like, the effective "manage_beforeDelete" is not the
one of "CatalogAware".

 > ...
 > Could this relate to not using the default catalog? ('Catalog') I had to
 > change the constructor when I moved to a different Z Catalog, is there
 > something I have to change in the destructor? (Which, really, I don't
 > see anywhere. Do I have to create one? What on earth would it look
 > like?)
No, both "manage_afterAdd" and "manage_beforeDelete" should look
at the same attribute to find the catalog.


Dieter