emsl.uf = 'MG'
emsl.save()
- from eventos.models import AreaDeInteresse
- AreaDeInteresse(nome='Hurd').save()
- AreaDeInteresse(nome='VoIP').save()
-
- from eventos.models import CategoriaPalestra
- CategoriaPalestra(nome='Admin').save()
- CategoriaPalestra(nome='Filosofia').save()
- CategoriaPalestra(nome='Desenvolvimento').save()
+ from eventos.models import CategoriaTrabalho
+ #CategoriaTrabalho(nome='Admin').save()
+ #CategoriaTrabalho(nome='Filosofia').save()
+ #CategoriaTrabalho(nome='Desenvolvimento').save()
return self.nome
-class AreaDeInteresse(models.Model):
- nome = models.CharField(maxlength=100)
-
- class Meta:
- verbose_name = 'area de interesse'
- verbose_name_plural = 'areas de interesse'
-
- class Admin:
- pass
-
- def __str__(self):
- return self.nome
-
-
class Palestrante(models.Model):
nome = models.CharField(maxlength=100)
email = models.CharField(maxlength=100)
- telefone_residencial = models.CharField(maxlength=11, blank=True)
- telefone_celular = models.CharField(maxlength=11, blank=True)
- telefone_comercial = models.CharField(maxlength=11, blank=True)
+ telefone = models.CharField(maxlength=11, blank=True)
+ celular = models.CharField(maxlength=11, blank=True)
rua = models.CharField(maxlength=100)
numero = models.CharField(maxlength=10)
uf = models.CharField(maxlength=3)
minicurriculo = models.TextField('Mini currículo')
- area_interesse = models.ManyToManyField(AreaDeInteresse)
+ curriculo = models.TextField('Currículo')
usuario = models.ForeignKey(User)
class Admin:
fields = (
(None, {'fields': ('nome', 'email', 'minicurriculo', 'usuario')}),
- ('Telefones', {'fields': ('telefone_residencial',
- 'telefone_celular', 'telefone_comercial')}),
+ ('Telefones', {'fields': ('telefone', 'celular')}),
('Endereço', {'fields': ('rua', 'numero',
'bairro', 'cidade', 'uf')}),
(None, {'fields': ('area_interesse',)}),
return self.nome
-class CategoriaPalestra(models.Model):
+class CategoriaTrabalho(models.Model):
+ nome = models.CharField(maxlength=100)
+
+ class Admin:
+ pass
+
+ class Meta:
+ verbose_name = 'Categoria de trabalho'
+ verbose_name_plural = 'Categorias de trabalhos'
+
+ def __str__(self):
+ return self.nome
+
+
+class TipoTrabalho(models.Model):
nome = models.CharField(maxlength=100)
class Admin:
pass
class Meta:
- verbose_name = 'Categoria de palestra'
- verbose_name_plural = 'Categorias de palestra'
+ verbose_name = 'Tipo de trabalho'
+ verbose_name_plural = 'Tipos de trabalho'
def __str__(self):
return self.nome
-class Palestra(models.Model):
+class Trabalho(models.Model):
titulo = models.CharField(maxlength=100)
- tema = models.CharField(maxlength=100)
evento = models.ForeignKey(Evento)
- categoria = models.ForeignKey(CategoriaPalestra)
+ categoria = models.ForeignKey(CategoriaTrabalho)
palestrante = models.ManyToManyField(Palestrante)
descricao_curta = models.TextField()
descricao_longa = models.TextField()
+ recursos = models.TextField()
class Admin:
fields = (
- (None, {'fields': ('titulo', 'tema', 'evento', 'categoria',
- 'palestrante', 'descricao_curta', 'descricao_longa')}),
+ (None, {'fields': ('titulo', 'evento', 'categoria',
+ 'palestrante', 'descricao_curta', 'descricao_longa',
+ 'recursos')}),
)
-
def __str__(self):
return self.titulo
-class MiniCurso(models.Model):
- titulo = models.CharField(maxlength=100)
+class Avaliacao(models.Model):
+ avaliador = models.ManyToManyField(User)
+ comentario = models.TextField()
+ trabalho = models.ForeignKey(Trabalho)
class Admin:
pass
+ class Meta:
+ verbose_name = 'Avaliação'
+ verbose_name_plural = 'Avaliações'
+
def __str__(self):
- return self.titulo
+ return self.nome
from django import newforms as forms
from django.newforms.widgets import Textarea, PasswordInput
from eventmanager.eventos.models import \
- AreaDeInteresse, CategoriaPalestra, Palestrante, STATE_CHOICES
+ TipoTrabalho, CategoriaTrabalho, Palestrante, STATE_CHOICES
MKCHOICES = lambda K:[(x.id, str(x)) for x in K.objects.all()]
-class InscreverPalestra(forms.Form):
+class SubmeterTrabalho(forms.Form):
def __init__(self, *args, **kwargs):
- super(InscreverPalestra, self).__init__(*args, **kwargs)
+ super(SubmeterTrabalho, self).__init__(*args, **kwargs)
- newchoices = MKCHOICES(CategoriaPalestra)
+ newchoices = MKCHOICES(CategoriaTrabalho)
self.fields['categoria'].choices = newchoices
+ newchoices = MKCHOICES(TipoTrabalho)
+ self.fields['tipo'].choices = newchoices
+
newchoices = MKCHOICES(Palestrante)
self.fields['outros_palestrantes'].choices = newchoices
- titulo = forms.CharField(max_length=100)
- tema = forms.CharField(max_length=100)
+ titulo = forms.CharField(max_length=100, label='Título do trabalho')
+ tipo = forms.ChoiceField()
categoria = 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.')
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())
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(max_length=11, required=False)
+ celular = forms.CharField(max_length=11, required=False)
instituicao = forms.CharField(max_length=100, label='Instituição')
minicurriculo = forms.CharField(widget=Textarea(), label='Mini Currículo')
+ curriculo = forms.CharField(widget=Textarea(), label='Currículo')
rua = forms.CharField(max_length=100)
numero = forms.CharField(max_length=10, label='Número')
cidade = forms.CharField(max_length=100)
uf = forms.ChoiceField(choices=STATE_CHOICES)
- area_interesse = forms.MultipleChoiceField(label='Áreas de Interesse',
- required=0)
-
class Inscricao(forms.Form):
nome_completo = forms.CharField(max_length=100)
<div id="menu-palestrante">
<h3>Menu do palestrante</h3>
<ul>
- <li><a href="/meus_trabalhos">Meus trabalhos inscritos</a></li>
- <li><a href="/inscrever_palestra">Inscreva uma palestra</a></li>
- <li><a href="/inscrever_minicurso">Inscreva um minicurso</a></li>
+ <li><a href="/submeter_trabalho">Submeter Trabalho</a></li>
+ <li><a href="/meus_trabalhos">Trabalhos inscritos</a></li>
<li><a href="/logout">Sair ({{ user }})</a></li>
</ul>
</div>
@enable_login_form
-def cadastro(request):
+def cadastro_palestrante(request):
c = {}
if request.POST:
# django's newforms lib requires a new instance of a form to be bounded
badattr = form.errors
wrong = False
- if not cd['telefone_comercial'] and \
- not cd['telefone_residencial'] and \
- not cd['telefone_celular']:
+ if not cd['telefone'] and not cd['celular']:
badattr['telefone_comercial'] = ['Algum número de telefone '
'precisa ser informado']
wrong = True
p.nome = cd['nome_completo']
p.email = cd['email']
- p.telefone_comercial = cd['telefone_comercial']
- p.telefone_residencial = cd['telefone_residencial']
- p.telefone_celular = cd['telefone_celular']
+ p.telefone = cd['telefone']
+ p.celular = cd['celular']
p.rua = cd['rua']
p.numero = cd['numero']
p.bairro = cd['bairro']
@login_required
@user_passes_test(lambda u:u.palestrante_set.count() == 1, login_url='/')
-def inscrever_palestra(request):
+def submeter_trabalho(request):
c = {}
if request.POST:
- form = InscreverPalestra(request.POST)
+ form = SubmeterTrabalho(request.POST)
if form.is_valid():
cd = form.cleaned_data
- p = Palestra()
+ p = Trabalho()
p.titulo = cd['titulo']
- p.tema = cd['tema']
- p.categoria = CategoriaPalestra.objects.get(pk=cd['categoria'])
+ p.tipo = TipoTrabalho.objects.get(pk=cd['tipo'])
+ p.categoria = CategoriaTrabalho.objects.get(pk=cd['categoria'])
p.descricao_curta = cd['descricao_curta']
p.descricao_longa = cd['descricao_longa']
+ p.recursos = cd['recursos']
p.evento = Evento.objects.get(pk=1) # let the hammer play arround!
p.save()
p.palestrante.add(up)
c.update({'ok': 1})
else:
- form = InscreverPalestra()
+ form = SubmeterTrabalho()
c.update({'form': form})
return build_response(request, 'inscrever_palestra.html', c)
c = {'palestrante': 0}
return build_response(request, 'meus_trabalhos.html', c)
- palestras = Palestra.objects.filter(palestrante=p)
- minicursos = MiniCurso.objects.filter()
- c = {'palestras': palestras, 'minicursos': minicursos, 'palestrante': 1}
+ t = Trabalho.objects.filter(palestrante=p)
+ c = {'trabalhos': t, 'palestrante': 1}
return build_response(request, 'meus_trabalhos.html', c)