Conjunto de mudanças 5932 no repositório publico


Ignorar:
Timestamp:
18/12/2011 00:05:48 (8 anos atrás)
Autor:
fabianosantos
Mensagem:

Finalizado a validacao de cep, email, cpf e cnpj no cadastro de pessoas.

Localização:
il.spdo/trunk
Arquivos:
1 adicionado
3 editados

Legenda:

Não Modificado
Adicionado
Removido
  • il.spdo/trunk/docs/TODO.txt

    r5928 r5932  
    11Importante
    22==========
    3 
    4  - Validar email, cep, cpf/cnpj no cadastro de pessoas.
    53 
    64 - Validar a data de emissão no cadastro do protocolo (se informada,
  • il.spdo/trunk/il/spdo/browser/forms/pessoa.py

    r5900 r5932  
    3434    def createAndAdd(self, data):
    3535        del data['id']
     36        # garante que alguns campos são armazenados apenas como números
     37        for campo in ('cep', 'cpf_cnpj'):
     38            if data[campo] is not None:
     39                data[campo] = ''.join([c for c in data[campo] if c.isdigit()])       
    3640        pessoa = Pessoa(**data)
    3741        session = Session()
     
    5761        super(PessoaEditForm, self).update()
    5862
     63    @log
     64    def applyChanges(self, data):
     65        content = self.getContent()
     66        if content:
     67            for k, v in data.items():
     68                # garante que alguns campos são armazenados apenas como números
     69                if k in ('cep', 'cpf_cnpj') and v is not None:
     70                    v = ''.join([c for c in v if c.isdigit()])
     71                setattr(content, k, v)
     72
    5973class PessoaShowForm(base.ShowForm):
    6074    """Formulário de visualização de uma pessoa.
  • il.spdo/trunk/il/spdo/interfaces.py

    r5931 r5932  
    1515from il.spdo.config import MessageFactory as _
    1616from il.spdo.config import ENABLE_FLASH_MULTIFILE, EMAIL_RE
     17from il.spdo.util import valida_cpf_cnpj
    1718
    1819# Default Factories #
     
    158159        max_length=100)
    159160
    160     # TODO: validar email
    161161    email = schema.TextLine(
    162162        title=_(u'Email'),
     
    179179        title=_(u'CEP'),
    180180        description=_(u'Informe o CEP (apenas números)'),
    181         min_length=8,
    182         max_length=8,
    183181        required=False)
    184182
     
    201199        vocabulary='il.spdo.tipopessoa-vocab')
    202200
    203     # TODO: validar CPF/CNPJ
    204201    cpf_cnpj = schema.TextLine(
    205202        title=_(u'CPF/CNPJ'),
     
    675672def validateCep(value):
    676673    if value:
    677         try:
    678             int(value)
    679         except ValueError:
     674        value = ''.join([c for c in value if c.isdigit()])
     675        if len(value) != 8:
    680676            raise interface.Invalid(_(u'CEP inválido.'))
    681677
    682678@form.validator(field=IPessoa['email'])
    683679def validateEmail(value):
    684     if value:
    685         check_email = re.compile(EMAIL_RE).match
    686         if check_email(value) is None:
    687             raise interface.Invalid(_(u'E-mail inválido.'))
    688        
     680    if value and re.compile(EMAIL_RE).match(value) is None:
     681        raise interface.Invalid(_(u'E-mail inválido.'))
     682
     683@form.validator(field=IPessoa['cpf_cnpj'])
     684def validateCPFCNPJ(value):
     685    if value and not valida_cpf_cnpj(value):
     686        raise interface.Invalid(_(u'CPF/CNPJ inválido.'))
     687
    689688@form.validator(field=IAddProtocolo['origem'])
    690689def validateOrigem(value):
Note: Veja TracChangeset para ajuda no uso do visualizador de conjunto de mudanças.
 

The contents and data of this website are published under license:
Creative Commons 4.0 Brasil - Atribuir Fonte - Compartilhar Igual.