Em meu Plone Form Gen eu coloquei um campo que recebe dinamicamente uma
string.O campo, óbvio, é um campo string e um script python se encarrega de
passar uma string para o campo.
Veja o código abaixo.

<code>
request = context.REQUEST
unidadeP = request.form['unidadeRequisitada']

emailUnidade = {
        1 : 'em...@1',
        2 : 'em...@2',
        3 : 'em...@3'
}

return emailUnidade.get( int(unidadeP) )
</code>

pelo plone, ao acessar o campo que recebe a string, não esta configurado
para validar. o problema é que ao rodar ele mostra o seguinte log:

 Exception Type AttributeError Exception Value getEmailTransportepy

Traceback (innermost last):

   - Module ZPublisher.Publish, line 119, in publish
   - Module ZPublisher.mapply, line 88, in mapply
   - Module ZPublisher.Publish, line 42, in call_object
   - Module Products.CMFFormController.FSControllerPageTemplate, line 90, in
   __call__
   - Module Products.CMFFormController.BaseControllerPageTemplate, line 26,
   in _call
   - Module Products.CMFFormController.FormController, line 384, in validate

   - Module ZPublisher.mapply, line 88, in mapply
   - Module ZPublisher.Publish, line 42, in call_object
   - Module Products.CMFFormController.FSControllerValidator, line 58, in
   __call__
   - Module Products.CMFFormController.Script, line 145, in __call__
   - Module Products.CMFCore.FSPythonScript, line 140, in __call__
   - Module Shared.DC.Scripts.Bindings, line 313, in __call__
   - Module Shared.DC.Scripts.Bindings, line 350, in _bindAndExec
   - Module Products.CMFCore.FSPythonScript, line 196, in _exec
   - Module None, line 20, in fgvalidate_base
   *<FSControllerValidator at /intranet/fgvalidate_base used for
   /intranet/menu/informatica/solicitacao-de-veiculo/solicitar-veiculo>*
   *Line 20*
   - Module Products.PloneFormGen.content.form, line 618, in fgvalidate
   - Module Products.PloneFormGen.content.formMailerAdapter, line 544, in
   onSuccess
   - Module Products.PloneFormGen.content.formMailerAdapter, line 931, in
   send_form
   - Module Products.PloneFormGen.content.formMailerAdapter, line 656, in
   get_mail_text
   - Module Products.PloneFormGen.content.formMailerAdapter, line 860, in
   get_header_body_tuple
   - Module Products.Archetypes.ClassGen, line 56, in generatedAccessor
   - Module Products.TALESField._field, line 59, in get
   - Module Products.CMFCore.Expression, line 48, in __call__
   - Module zope.tales.expressions, line 217, in __call__
   - Module Products.PageTemplates.Expressions, line 153, in _eval
   - Module zope.tales.expressions, line 124, in _eval
   - Module Products.PageTemplates.Expressions, line 80, in
   boboAwareZopeTraverse
   - Module OFS.Traversable, line 301, in restrictedTraverse
   - Module OFS.Traversable, line 269, in unrestrictedTraverse
   __traceback_info__: ([], 'getEmailTransportepy')

AttributeError: getEmailTransportepy

Display traceback as
text<http://intranet.prpb.mpf.gov.br:8082/intranet/error_log/getLogEntryAsText?id=1252686935.80.828449270102>

 REQUEST form  data-e-hora-da-saida_minute '15' local-is-destino
['Minist\xc3\xa9rio
P\xc3\xbablico Estadual'] last_referer '
http://intranet.prpb.mpf.gov.br:8082/intranet/menu/informatica/solicitacao-de-veiculo
' nomesolicitante 'Tony Edson Torres de Morais' observacao-oes ''
objetivo-s-da-solicitacao ['Levar e trazer processos'] local-is-outro-s ''
form.submitted '1' data-e-hora-da-saida_hour '03' textCounter_observacao-oes
'300' data-e-hora-da-saida '2011-04-29 03:15' data-e-hora-da-saida_day '29'
emailsolicitante 'tonymor...@prpb.mpf.gov.br' fieldset 'default'
data-e-hora-da-saida_ampm '' add_reference {'destination': '', 'field': '',
'type': ''} form_submit 'enviar' emailTransporte 'em...@1' setor 'ASS
KL\xc3\x89BER' _authenticator '2127b1deb5cca27fc7982abf273b679c8e8b1826'
usuario 'AMANDA NOBREGA' data-e-hora-da-saida_year '2011' objetivo-outro ''
unidadeRequisitada '1' data-e-hora-da-saida_month '04'


ENTÃO... o erro é mesmo de validação? e se for.. como posso resolver?
note que o campo que supostamente deve receber a string realmente a recebe
->emailTransporte.

Tony Morais
Estudante de Ciências da Computação

Responder a