X-Git-Url: http://git.cascardo.info/?p=cascardo%2Feventmanager.git;a=blobdiff_plain;f=forms.py;h=1f10f13c543e7f966507bf52cd5cfee2ba54c34c;hp=d13036dc5fbeb4f5c9c582d19ea1bf36c522339e;hb=1fd488a54c41b17e5a10240e4c05b74a7b7d123d;hpb=3218dbfe3ee0eb9b73da12705559ad15c80fbc05 diff --git a/forms.py b/forms.py index d13036d..1f10f13 100644 --- a/forms.py +++ b/forms.py @@ -19,7 +19,7 @@ Boston, MA 02111-1307, USA. """ from django import newforms as forms from django.newforms import ValidationError -from django.newforms.widgets import Textarea, PasswordInput +from django.newforms.widgets import Textarea, PasswordInput, HiddenInput from django.contrib.auth.models import User from eventmanager.eventos.models import \ TipoTrabalho, CategoriaTrabalho, Palestrante, STATE_CHOICES @@ -134,6 +134,7 @@ class InscricaoBase(LoginBase): bairro = forms.CharField(max_length=100) cidade = forms.CharField(max_length=100) uf = forms.ChoiceField(choices=STATE_CHOICES) + cep = forms.CharField(max_length=8, help_text='Somente números') telefone = forms.CharField(max_length=100) home_page = forms.CharField(max_length=100, label='Página Pessoal', required=False) @@ -141,9 +142,48 @@ class InscricaoBase(LoginBase): class Inscricao(InscricaoBase): inscricao_comercial = forms.BooleanField(required=False, label='Inscrição Comercial') + cpf_cnpj = forms.CharField(max_length=20, required=False, label='CPF/CNPJ', + help_text='Somente necessário para a inscrição comercial') + + def clean_cpf_cnpj(self): + cpf_cnpj = self.cleaned_data['cpf_cnpj'] + if self.cleaned_data['inscricao_comercial'] and not cpf_cnpj: + raise ValidationError('Você escolheu a inscrição comercial, ' + 'portanto este campo se torna obrigatório') + return cpf_cnpj class InscricaoCaravana(InscricaoBase): lista_nomes = forms.CharField(label='Lista de nomes', widget=forms.Textarea(), help_text='Um participante por linha, ' 'informando nome completo e email no seguine formato: ' 'Nome Completo <email@server.domain>') + + def clean_lista_nomes(self): + nomes = self.cleaned_data['lista_nomes'] + if len([x for x in nomes.split('\n') if x]) < 10: + raise ValidationError('A caravana precisa de pelo menos 10 ' + 'participantes.') + return nomes + +class Boleto(forms.Form): + # Field names are in mixedCase because of bb's sistem request =/ + idConv = forms.CharField(max_length=6, initial='303366', + widget=HiddenInput()) + refTran = forms.CharField(max_length=17, + widget=HiddenInput()) + tpPagamento = forms.CharField(max_length=2, initial='21', + widget=HiddenInput()) + valor = forms.CharField(max_length=15, widget=HiddenInput()) + dtVenc = forms.CharField(max_length=8, widget=HiddenInput()) + urlRetorno = forms.CharField(max_length=60, initial='/inscricao', + widget=HiddenInput()) + urlInforma = forms.CharField(max_length=60, initial='/inscricao', + widget=HiddenInput()) + nome = forms.CharField(max_length=60, widget=HiddenInput()) + endereco = forms.CharField(max_length=60, widget=HiddenInput()) + cidade = forms.CharField(max_length=18, widget=HiddenInput()) + uf = forms.CharField(max_length=2, widget=HiddenInput()) + cep = forms.CharField(max_length=8, widget=HiddenInput()) + msgLoja = forms.CharField(max_length=480, + initial='Nao receber apos a data de vencimento', + widget=HiddenInput())