melhorias no formulário de inscrição e fazendo também a confirmação via email na...
[cascardo/eventmanager.git] / forms.py
index bd94a5f..d33a8c5 100644 (file)
--- a/forms.py
+++ b/forms.py
@@ -1,4 +1,4 @@
-# -*- coding: utf8; -*-
+# -*- coding: utf-8; -*-
 """
 Copyright (C) 2007 Lincoln de Sousa <lincoln@archlinux-br.org>
 
@@ -20,52 +20,90 @@ Boston, MA 02111-1307, USA.
 from django import newforms as forms
 from django.newforms.widgets import Textarea, PasswordInput
 from eventmanager.eventos.models import \
-        AreaDeInteresse, CategoriaPalestra, STATE_CHOICES
+        TipoTrabalho, CategoriaTrabalho, Palestrante, STATE_CHOICES
 
-MKCHOICES = lambda K:[(x.id, str(x)) for x in K.objects.all()]
+MKCHOICES = lambda K, xid=-1:[(x.id, str(x)) for x in K.objects.all() \
+        if xid != x.id]
 
-class InscreverPalestra(forms.Form):
-    def __init__(self, *args, **kwargs):
-        super(InscreverPalestra, self).__init__(*args, **kwargs)
+class SubmeterTrabalho(forms.Form):
+    def __init__(self, request, *args, **kwargs):
+        super(SubmeterTrabalho, self).__init__(*args, **kwargs)
 
-        newchoices = MKCHOICES(CategoriaPalestra)
-        self.fields['categoria'].choices = newchoices
+        newchoices = MKCHOICES(TipoTrabalho)
+        self.fields['tipo'].choices = newchoices
 
-    titulo = forms.CharField(max_length=100)
-    tema = forms.CharField(max_length=100)
-    categoria = forms.ChoiceField()
+        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')
+        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(),
-        label='Descrição longa')
+        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):
-    def __init__(self, *args, **kwargs):
-        super(CadastroPalestrante, self).__init__(*args, **kwargs)
-
-        newchoices = MKCHOICES(AreaDeInteresse)
-        self.fields['area_interesse'].choices = newchoices
-
     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_comercial = forms.CharField(max_length=11, required=False)
-    telefone_residencial = forms.CharField(max_length=11, required=False)
-    telefone_celular = forms.CharField(max_length=11, required=False)
+    telefone = forms.CharField(required=False)
+    celular = forms.CharField(required=False)
 
     instituicao = forms.CharField(max_length=100, label='Instituição')
-    minicurriculo = forms.CharField(widget=Textarea(), label='Mini Currículo')
+    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 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)
 
-    area_interesse = forms.MultipleChoiceField(label='Áreas de Interesse')
+
+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 Inscricao(forms.Form):
@@ -78,3 +116,28 @@ class Inscricao(forms.Form):
     bairro = forms.CharField(max_length=100)
     cidade = forms.CharField(max_length=100)
     uf = forms.ChoiceField(choices=STATE_CHOICES)
+    pagina_pessoal = forms.CharField(max_length=100)
+
+    telefone = forms.CharField(max_length=100)
+    estudante = forms.BooleanField(required=False)
+
+    first_step = forms.CharField(max_length=1,
+            widget=forms.HiddenInput, initial='1')
+
+
+class InscricaoEstudante(forms.Form):
+    post2 = forms.CharField(max_length=1,
+            widget=forms.HiddenInput, initial='1')
+    estudante = forms.CharField(max_length=1,
+            widget=forms.HiddenInput, initial='1')
+
+    instituicao = forms.CharField(max_length=100)
+    curso = forms.CharField(max_length=100)
+    periodo = forms.CharField(max_length=100)
+
+
+class InscricaoNormal(forms.Form):
+    empresa = forms.CharField(max_length=100)
+    post2 = forms.CharField(max_length=1,
+            widget=forms.HiddenInput, initial='1')
+