Oi Fabricio,

por acaso, não seria pq depois do invokeFactory você não executou um
.indexObject()

Algo assim:

     try:
         local.invokeFactory(tipo, id = id, title = titulo,
description = descricao)
         obj = getattr(local, id)
         obj.indexObject()
         message = 'Objeto criado com sucesso.'

Não sei se resolve, mas deve ajudar.

Att.

Fabiano Weimar


2009/1/7 Fabricio Scariott <fscari...@yahoo.com.br>:
> Ola,.,.
>
>     Olhando meu catalogo percebi que aleatoriamente alguns objetos sao
> criados com RIDs negativos, afetando a ordem dos resultados em um
> searchResults, que so sao corrigidos com um rebuild no catalogo.
>     Gostaria de saber qual a causa desse numero.
>
> Uso um metodo proprio para criar os objetos:
> def criaObj(self, tipo, local, id, titulo, descricao):
>     uTool = getToolByName(self, 'plone_utils')
>     try:
>         local.invokeFactory(tipo, id = id, title = titulo, description =
> descricao)
>         message = 'Objeto criado com sucesso.'
>     except ConflictError:
>         raise
>     except ValueError:
>         message = self.item_nao_permitido
>     except Unauthorized:
>         message = self.nao_autorizado
>     except:
>         message = self.erro
>     uTool.addPortalMessage(PloneMessageFactory(message))
>     return self.request['RESPONSE'].redirect(local.absolute_url())
>
> Versoes
>     Ubuntu 8.10
>     python 2.4.5
>     Zope 2.9.9-final
>     Plone 2.5.5
>
> Fabricio
> ________________________________
> Veja quais são os assuntos do momento no Yahoo! + Buscados: Top 10 -
> Celebridades - Música - Esportes
> 



-- 
==================================
Fabiano Weimar dos Santos (xiru)
Weimar Consultoria

Hospedagem Plone, Django, Zope 3, Grok...
http://www.pytown.com
==================================

Responder a