Opa André,

> Estou fazendo alguns tipos de conteúdos para controle de processos
> jurídicos. Um processo é um folderish e ele terá várias tramitações
> (data de início, data fim, usuário responsável e andamento) associadas.
> Mas não é interessante que a tramitação seja um tipo de conteúdo. Estou
> fazendo então uma classe que herda de SimpleItem só. Na criação de um
> processo ele já precisa ter uma primeira tramitação, cujo responsável
> será o próprio usuário criador. A abordagem que eu estava pensando em
> utilizar sem sucesso:
> 
> def __init__(self,id,**kwargs):
>         BaseBTreeFolder.__init__(self,id,**kwargs)
>         novaTramitacao = UFALTramitacao('primeira-tramitacao')
>         novaTramitacao.setUserId([USUÁRIO LOGADO])
>         self._setObject('primeira-tramitacao',novaTramitacao)

duas opções:

a) manage_afterAdd(self, item, container)

b) at_post_create_script(self)

Sendo que a primeira é executada logo após a instanciação do objeto,
quando o objeto já possui um contexto. Detalhe que este método também
é chamado sempre que uma cópia do objeto for feita, por tanto, antes
de adicionar qualquer coisa, é melhor testar se essa coisa já existe.
Outro detalhe é que quando este método for usado, deve-se primeiro
executá-los na(s) classe(s) base, da mesma forma que você fez com o
__init__.

A segunda opção é executada após a primeira validação dos dados,
quando o formulário com o título e demais dados do conteúdo for
submetido. Ela pode ser a mais recomendada, desde que você não
precise de nenhuma tramitação antes de salvar o conteúdo pela
primeira vez.

Pegando o gancho, se você precisar executar um processamento adicional
depois que o conteúdo é salvo (da segunda vez em diante), existe ainda
outro método que pode ser útil:

at_post_edit_script(self)

HTH,

-- 

Dorneles Treméa
X3ng Web Technology


Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED] 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/zope-pt/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a