Fernando, verifiquei o código que vc me passou e fiz algumas
alterações e deu certo...

ficou assim:

'''COLOQUEI ESTE MÉTODO NO MEU ARCHETYPE'''
def at_post_create_script(self):
        
        pwf = getToolByName(self, 'portal_workflow')
        pw = pwf.doActionFor
        pw(self,'submit')

Agora, quando crio um objeto, automaticamente ele já altera o estado.
Muito obrigado.


--- Em zope-pt@yahoogrupos.com.br, "Fernando Rocha Bezerra"
<[EMAIL PROTECTED]> escreveu
>
> Bom dia João,
>     O que vc tá querendo fazer não é tão complicado. Tenta ver esse
> código que eu criei e vê se ajuda.
>     Esse código eu usei para mudar o estado de um objeto e cria
> permissões locais(Local Roles) para o mesmo.
> 
> from Products.CMFCore.utils import getToolByName
> '''CHAMA O PORTAL_WORKFLOW'''
> pwf = getToolByName(context,'portal_workflow')
> pw = pwf.doActionFor
> '''PEGA OS USUÁRIOS DO PORTAL'''
> pm = getToolByName(context,'portal_membership')
> slr = pm.setLocalRoles
> 
> pastas = ['aaa','bbb','ccc']
> 
> for p in pastas:
>    '''PEGA OS ATRIBUTOS DO OBJETO'''
>    objeto=getattr(context,p) 
>    '''REDEFINE O ESTADO. Nesse exemplo eu tiver que alterar para
> PRIVADO. No seu caso em vez de hide vc deve usar submit ''' 
>    pw(objeto,'hide')
> 
> '''CRIA PERMISSÕES LOCAIS'''
>    elemento = [objeto.id]
>    slr(objeto,elemento,'Manager') 
> return 'Permissões alteradas'
> 
> Espero que possa ser útil.
> 
> T+
> 
> 
> --- Em zope-pt@yahoogrupos.com.br, "jpsinieghi" <[EMAIL PROTECTED]>
escreveu
> >
> > Bom dia pessoal...
> > 
> > Comecei a trabalhar com Archetypes e fiz um pequeno produto. Agora
> > quero que quando eu criar um objeto deste produto, ele automaticamente
> > muda o estado do workflow de "rascunho publico" para "pendente", sem
> > precisar que o usuário envie para o revisador. Como eu posso mudar no
> > meu código fonte (archetype) para funcionar deste jeito?? Alguém
> > poderia me ajudar nisto?
> > 
> > Obrigado.
> > João P. Sinieghi
> > [EMAIL PROTECTED]
> > Fundação João Paulo II
> > Sistema de Comunicação Canção Nova
> >
>






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