--- Em zope-pt@yahoogrupos.com.br, "José Henrique" <[EMAIL PROTECTED]> escreveu
>
> 2008/6/4 illidam <[EMAIL PROTECTED]>:
> > --- Em zope-pt@yahoogrupos.com.br, "Luciano Ramalho" <ramalho@>
> > escreveu
> >>
> >> 2008/6/3 illidam <illidam.lopes@>:
> >> > Meu primeiro post aqui, tipo dei uma olhada não vi ninguem com esse
> >> > problema aqui no grupo então vai ai o problema pra quem pduer me
> > ajudar.
> >> > Eu criei um formulario no ploneFormGen certinho e tudo mais...criei
> >> > zSqlMethod q insere os dados do formulario na banco e tb criei um
> >> > script que tb esta funcionando corretamente inserindo no banco..o
> >> > problema é que quando clico em enviar no formulario, aparece o
> >> > seguinte erro...
> >> >
> >> > TypeError: pegar_do_formulario() takes exactly 4 arguments (0
given)
> >> > (Also, the following error occurred while attempting to render the
> >> > standard error message, please see the event log for full details:
> >> > name 'plone_context_state' is not defined)
> >> >
> >> > tipo eu entendi +- o erro, fala q o pegar formulario tem 4
parametros
> >> > e ele nao esta recendo nenhum ou 0, e ai oq faço!?
> >> > vo postar o meu pegar pegar parametro pra casa tenha algo
> >> > errado...alguem me falar...
> >> > segue o pegar_formulario:
> >> >
> >>
> >> Eu nunca usei o PloneFormGen, mas evidentemente o problema está em
> >> como você está chamando o script. Se fosse um formulário normal,
> >> bastaria colocar a URL do script no actio do form, assim: <FORM
> >> ACTION="pegar_do_formulario">
> >>
> >> > o parameters list dele é:
> >> > cliente,checador,numerodaproposta,valordaproposta
> >>
> >> OK, esta parte está certa. Com esta lista de parâmetros, o Zope busca
> >> automaticamente os dados no request, não precisa fazer manualmente
> >> como você faz.
> >>
> >> >
> >> > e depois vem o codigo:
> >> >
> >>
> >> Vou comentar trecho por trecho.
> >>
> >> O trecho abaixo é absolutamente desnecessário, porque como eu disse o
> >> Zope busca os parâmetros do script no request automaticamente.
> >>
> >> > # Pega as variáveis do Ambiente
> >> > ################################################
> >> > request = container.REQUEST
> >> > RESPONSE =  request.RESPONSE
> >> >
> >> > ################################################
> >> > # Recebe os valores da Pagina
> >> > ################################################
> >> > cliente = request.get('cliente')
> >> > checador = request.get('checador')
> >> > numerodaproposta = request.get('numerodaproposta')
> >> > valordaproposta = request.get('valordaproposta')
> >>
> >> Bastaria o trecho abaixo:
> >>
> >> >
> >> > ################################################
> >> > # Insere as informações no banco
> >> > ################################################
> >> >
> >> > context.insereir_banco(cliente=cliente,checador=checador,
> >> > numero_da_proposta=numerodaproposta,
> >> > valor_da_proposta=valordaproposta)
> >> >
> >> > return "Adicionado com sucesso!"
> >>
> >> Normalmente você não vai querer retornar uma string, e sim uma
página.
> >> Um jeito de fazer isso é assim:
> >>
> >> return context.pagina_de_resposta()
> >>
> >> Onde pagina_de_resposta é o nome de um template.
> >>
> >> Infelizmente eu nao conheco o PloneFormGen então não posso ser mais
> >> específico, mas tudo o que eu disse aí em cima funciona para
> >> formulários normais no Zope.
> >>
> >> [ ]s
> >> Luciano
> >>
> >
> > Aew Luciano valeu pelas dicas consegui resolver.
> > Eu mantive os request, e apaguei os parameters list dessa maneira
> > funcionou.
> >
> > Agora vem a segunda parte que não consegui fazer por ter pouco
> > conhecimento.
> > Se por acaso eu quisesse pegar o nome do usuario logado e salva-lo no
> > banco, como faço isso?
> > Pois os exemplos que vi foram feitos com dtml-call e tals... no meu
> > caso não consegui entender onde eu faria a obteção do nome do do
> > usuario se seria no ZsqlMethod ou no script python ou em nehum deles e
> > sim no formulario!?
> >
> > att.
> > Guilherme
> 
> No script python:
> 
> from AccessControl import getSecurityManager
> user = getSecurityManager().getUser()
> username = user.getUserName()
> 
> Zénrique.
>
Aew Zénrique valeu de mais funcionou liso aqui...
brigadão mesmo ae pessoal...
flws


Responder a