1 # -*- coding: utf8; -*-
3 Copyright (C) 2007 Lincoln de Sousa <lincoln@archlinux-br.org>
5 This program is free software; you can redistribute it and/or
6 modify it under the terms of the GNU General Public License as
7 published by the Free Software Foundation; either version 2 of the
8 License, or (at your option) any later version.
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 General Public License for more details.
15 You should have received a copy of the GNU General Public
16 License along with this program; if not, write to the
17 Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18 Boston, MA 02111-1307, USA.
20 from django import newforms as forms
21 from django.newforms.widgets import Textarea, PasswordInput
22 from eventmanager.eventos.models import \
23 TipoTrabalho, CategoriaTrabalho, Palestrante, STATE_CHOICES
25 MKCHOICES = lambda K:[(x.id, str(x)) for x in K.objects.all()]
27 class SubmeterTrabalho(forms.Form):
28 def __init__(self, *args, **kwargs):
29 super(SubmeterTrabalho, self).__init__(*args, **kwargs)
31 newchoices = MKCHOICES(CategoriaTrabalho)
32 self.fields['categoria'].choices = newchoices
34 newchoices = MKCHOICES(TipoTrabalho)
35 self.fields['tipo'].choices = newchoices
37 newchoices = MKCHOICES(Palestrante)
38 self.fields['outros_palestrantes'].choices = newchoices
40 titulo = forms.CharField(max_length=100, label='Título do trabalho')
41 tipo = forms.ChoiceField()
42 categoria = forms.ChoiceField()
43 descricao_curta = forms.CharField(widget=Textarea(),
44 label='Descrição curta', max_length=250,
45 help_text='Esta descrição será utilizada para exibição no '
46 'material de divulgação (máximo 250 caracteres).')
47 descricao_longa = forms.CharField(widget=Textarea(),
48 max_length=1500, label='Descrição longa',
49 help_text='Esta descrição será utilizada para avaliação do seu '
50 'trabalho. Insira também referências '
51 '(máximo 1500 caracteres).')
52 recursos = forms.CharField(widget=Textarea(), max_length=300, required=0,
53 help_text='Liste os recursos que seu trabalho irá necessitar, '
54 'ex.: Computadores, softwares, etc.')
55 outros_palestrantes = forms.MultipleChoiceField(required=0)
58 class CadastroPalestrante(forms.Form):
59 nome_completo = forms.CharField(max_length=100)
60 nome_usuario = forms.CharField(max_length=100)
61 senha = forms.CharField(max_length=100, widget=PasswordInput())
62 senha_2 = forms.CharField(max_length=100, widget=PasswordInput(),
63 label='Conferir Senha')
64 email = forms.CharField(max_length=100)
66 telefone = forms.CharField(required=False)
67 celular = forms.CharField(required=False)
69 instituicao = forms.CharField(max_length=100, label='Instituição')
70 minicurriculo = forms.CharField(widget=Textarea(), label='Mini Currículo')
71 curriculo = forms.CharField(widget=Textarea(), label='Currículo')
73 rua = forms.CharField(max_length=100)
74 numero = forms.CharField(max_length=10, label='Número')
75 bairro = forms.CharField(max_length=100)
76 cidade = forms.CharField(max_length=100)
77 uf = forms.ChoiceField(choices=STATE_CHOICES)
80 class EditarPalestrante(forms.Form):
81 nome = forms.CharField(max_length=100, label='Nome completo')
82 email = forms.CharField(max_length=100)
84 telefone = forms.CharField(required=False)
85 celular = forms.CharField(required=False)
87 instituicao = forms.CharField(max_length=100, label='Instituição')
88 minicurriculo = forms.CharField(widget=Textarea(), label='Mini Currículo')
89 curriculo = forms.CharField(widget=Textarea(), label='Currículo')
91 rua = forms.CharField(max_length=100)
92 numero = forms.CharField(max_length=10, label='Número')
93 bairro = forms.CharField(max_length=100)
94 cidade = forms.CharField(max_length=100)
95 uf = forms.ChoiceField(choices=STATE_CHOICES)
98 class EditarSenha(forms.Form):
99 senha_atual = forms.CharField(max_length=100, widget=PasswordInput())
100 nova_senha = forms.CharField(max_length=100, widget=PasswordInput())
101 nova_senha_2 = forms.CharField(max_length=100, widget=PasswordInput(),
102 label='Conferir Senha')
105 class Inscricao(forms.Form):
106 nome_completo = forms.CharField(max_length=100)
107 cpf = forms.CharField(max_length=100)
108 email = forms.CharField(max_length=100)
110 rua = forms.CharField(max_length=100)
111 numero = forms.CharField(max_length=10, label='Número')
112 bairro = forms.CharField(max_length=100)
113 cidade = forms.CharField(max_length=100)
114 uf = forms.ChoiceField(choices=STATE_CHOICES)