X-Git-Url: http://git.cascardo.info/?p=cascardo%2Feventmanager.git;a=blobdiff_plain;f=forms.py;h=ed1034d237373960f01cd7244acba61fd55e26bc;hp=125f59423dd8e0ed6f39a5ff459d20462493260a;hb=036722efd74222e5807a031952faa50bf0f71f32;hpb=937615436ceacf35c74375ffa2808045defb0a2c diff --git a/forms.py b/forms.py index 125f594..ed1034d 100644 --- a/forms.py +++ b/forms.py @@ -1,3 +1,4 @@ +# -*- coding: utf-8; -*- """ Copyright (C) 2007 Lincoln de Sousa @@ -17,6 +18,114 @@ Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. """ from django import newforms as forms +from django.newforms.widgets import Textarea, PasswordInput +from eventmanager.eventos.models import \ + TipoTrabalho, CategoriaTrabalho, Palestrante, STATE_CHOICES -class InscreverPalestra(forms.Form): - pass +MKCHOICES = lambda K, xid=-1:[(x.id, str(x)) for x in K.objects.all() \ + if xid != x.id] + +class SubmeterTrabalho(forms.Form): + def __init__(self, request, *args, **kwargs): + super(SubmeterTrabalho, self).__init__(*args, **kwargs) + + newchoices = MKCHOICES(TipoTrabalho) + self.fields['tipo'].choices = newchoices + + palestrante = request.user.palestrante_set.get() + newchoices = MKCHOICES(Palestrante, xid=palestrante.id) + self.fields['outros_palestrantes'].choices = newchoices + + titulo = forms.CharField(max_length=100, label='Título do trabalho') + tipo = forms.ChoiceField() + descricao_curta = forms.CharField(widget=Textarea(), + label='Descrição curta', max_length=250, + help_text='Esta descrição será utilizada para exibição no ' + 'material de divulgação (máximo 250 caracteres).') + descricao_longa = forms.CharField(widget=Textarea(), + max_length=1500, label='Descrição longa', + help_text='Esta descrição será utilizada para avaliação do seu ' + 'trabalho. Insira também referências ' + '(máximo 1500 caracteres).') + recursos = forms.CharField(widget=Textarea(), max_length=300, required=0, + help_text='Liste os recursos que seu trabalho irá necessitar, ' + 'ex.: Computadores, softwares, etc. Máximo de 300 caracteres.') + outros_palestrantes = forms.MultipleChoiceField(required=0) + +class CadastroPalestrante(forms.Form): + nome_completo = forms.CharField(max_length=100) + nome_usuario = forms.CharField(max_length=100) + senha = forms.CharField(max_length=100, widget=PasswordInput()) + senha_2 = forms.CharField(max_length=100, widget=PasswordInput(), + label='Conferir Senha') + email = forms.CharField(max_length=100) + + telefone = forms.CharField(required=False) + celular = forms.CharField(required=False) + + instituicao = forms.CharField(max_length=100, label='Instituição') + minicurriculo = forms.CharField(widget=Textarea(), max_length=250, label='Mini Currículo', + help_text='Este mini currículo será utilizado no material de divulgação ' + 'e no sítio. Máximo de 250 caracteres.') + curriculo = forms.CharField(widget=Textarea(), max_length=6000, label='Currículo', + help_text='Este currículo será utilizado para avaliação do palestrante. ' + 'Máximo de 6000 caracteres.') + rua = forms.CharField(max_length=100) + numero = forms.CharField(max_length=10, label='Número') + bairro = forms.CharField(max_length=100) + cidade = forms.CharField(max_length=100) + uf = forms.ChoiceField(choices=STATE_CHOICES) + +class EditarPalestrante(forms.Form): + nome = forms.CharField(max_length=100, label='Nome completo') + email = forms.CharField(max_length=100) + + telefone = forms.CharField(required=False) + celular = forms.CharField(required=False) + + instituicao = forms.CharField(max_length=100, label='Instituição') + minicurriculo = forms.CharField(widget=Textarea(), max_length=250, label='Mini Currículo', + help_text='Este mini currículo será utilizado no material de divulgação' + 'e no site. Máximo de 250 caracteres.') + curriculo = forms.CharField(widget=Textarea(), max_length=6000, label='Currículo', + help_text='Este currículo será utilizado para avaliação do palestrante.' + 'Máximo de 6000 caracteres.') + rua = forms.CharField(max_length=100) + numero = forms.CharField(max_length=10, label='Número') + bairro = forms.CharField(max_length=100) + cidade = forms.CharField(max_length=100) + uf = forms.ChoiceField(choices=STATE_CHOICES) + +class EditarSenha(forms.Form): + senha_atual = forms.CharField(max_length=100, widget=PasswordInput()) + nova_senha = forms.CharField(max_length=100, widget=PasswordInput()) + nova_senha_2 = forms.CharField(max_length=100, widget=PasswordInput(), + label='Conferir Senha') + +class InscricaoBase(forms.Form): + nome_completo = forms.CharField(max_length=100) + rg = forms.CharField(max_length=100) + nome_usuario = forms.CharField(max_length=100) + senha = forms.CharField(max_length=100, widget=PasswordInput()) + senha_2 = forms.CharField(max_length=100, widget=PasswordInput(), + label='Conferir Senha') + + email = forms.CharField(max_length=100) + rua = forms.CharField(max_length=100) + numero = forms.CharField(max_length=10, label='Número') + bairro = forms.CharField(max_length=100) + cidade = forms.CharField(max_length=100) + uf = forms.ChoiceField(choices=STATE_CHOICES) + telefone = forms.CharField(max_length=100) + home_page = forms.CharField(max_length=100, label='Página Pessoal', + required=False) + +class Inscricao(InscricaoBase): + inscricao_comercial = forms.BooleanField(required=False, + label='Inscrição Comercial') + +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>')