Caros colegas,

Desenvolvi um site para cadastro de pessoas em Plone 2.0.5.  Ao invés
de a pessoa se cadastrar via join_form, criei um controller page
template para esse fim.

Analisei o script validate_emailaddr do Plone e verifiquei que o email
é validado usando o método
context.portal_registration.isValidEmail(email).  Dessa forma,
implementei o mesmo mecanismo no meu controller validator.  Está
ocorrendo uma situação inusitada, entretanto.  Um email no formato
[EMAIL PROTECTED] (com duas sublinhas) passa pelo crivo de
isValidEmail (retorna 1), mas o portal não consegue cadastrar o
usuário pois retorna o erro:

Error Type
    ValueError
Error Value
    You must enter a valid email address.

Analisando o traceback (ver abaixo) constatei que o erro ocorre em
addMember, RegistrationTool, linha 125, ou seja, nessa validação:

if properties is not None:
            failMessage = self.testPropertiesValidity(properties)
            if failMessage is not None:
                raise ValueError(failMessage)

Ocorre que testPropertiesValidity aparentemente não faz nada, apenas
retorna None, o que não deveria, então, apresentar erro:

def testPropertiesValidity(self, new_properties, member=None):
        '''If the properties are valid, returns None.  If not, returns
        a string explaining why.
        '''
        return None

Parei por aqui porque não sei mais onde procurar.  Alguém tem alguma
idéia de onde realmente está vindo esse erro, para que eu possa
elaborar uma rotina adequada para validação de email.

Zénrique.

Traceback (innermost last):

    * Module ZPublisher.Publish, line 101, in publish
    * Module ZPublisher.mapply, line 88, in mapply
    * Module ZPublisher.Publish, line 39, in call_object
    * Module Products.CMFFormController.FSControllerPageTemplate, line
98, in __call__
    * Module Products.CMFFormController.BaseControllerPageTemplate,
line 39, in _call
    * Module Products.CMFFormController.ControllerBase, line 243, in getNext
    * Module Products.CMFFormController.Actions.TraverseTo, line 36, in __call__
    * Module ZPublisher.mapply, line 88, in mapply
    * Module ZPublisher.Publish, line 39, in call_object
    * Module Products.CMFFormController.FSControllerPythonScript, line
105, in __call__
    * Module Products.CMFFormController.Script, line 141, in __call__
    * Module Products.CMFCore.FSPythonScript, line 104, in __call__
    * Module Shared.DC.Scripts.Bindings, line 306, in __call__
    * Module Shared.DC.Scripts.Bindings, line 343, in _bindAndExec
    * Module Products.CMFCore.FSPythonScript, line 160, in _exec
    * Module None, line 18, in register
      <FSControllerPythonScript at /saes/register>
      Line 18
    * Module Products.CMFCore.RegistrationTool, line 125, in addMember

ValueError: You must enter a valid email address.


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