[Zope] Re: CatalogPathAwareness and manage_beforeDelete

Maik Jablonski maik.jablonski@uni-bielefeld.de
Tue, 17 Dec 2002 19:05:03 +0100


Bakhtiar A Hamid wrote:
> hello all
> i have a product that subclass CatalogPathAwareness and SimpleItem all works 
> ok.  i,e an object instance will be added and deleted from the catalog
> 
> however, if i override manage_beforeDelete, the catalog is not cleared when i 
> delete the object instance
> 
> is that natural?  do i have to supply my own uncatalog_object ?
> 
> with this snippet, it still doesnt work.  i guess i don't get what uid for 
> uncatalog_object is ...
> 
> here's the snippet
> 
>         def manage_beforeDelete(self, item, container):
>                 """method for delete /cut/paste/rename"""
>                 img_dir = getattr(self.aq_parent, 'images')
>                 img_dir.manage_delObjects([item.getId()+'_image'])
>                 self.uncatalog_object(item.absolute_url(1))
> 

Hi,

just a guess: Maybe you should unindex your object first and then delete 
it... and another one: please try unindex_object instead of 
uncatalog_object:

          def manage_beforeDelete(self, item, container):
                  """method for delete /cut/paste/rename"""
                  img_dir = getattr(self.aq_parent, 'images')
                  self.unindex_object()
                  img_dir.manage_delObjects([item.getId()+'_image'])

-mj