from django.db import models
from django.contrib.localflavor.br.br_states import STATE_CHOICES
from django.contrib.auth.models import User
+from django.contrib.sites.models import Site
class Evento(models.Model):
nome = models.CharField(max_length=100)
local = models.CharField(max_length=100)
nome_contato = models.CharField(u'Nome do contato', max_length=100)
telefone = models.CharField(max_length=100)
+ endereco = models.TextField()
cidade = models.CharField(max_length=100)
estado = models.CharField(max_length=2, choices=STATE_CHOICES)
- rua = models.CharField(max_length=100)
- numero = models.CharField(u'Número', max_length=10)
info_adicional = models.TextField(blank=True)
- class Admin:
- fields = (
- (u'Informações do evento',
- {'fields': ('nome', 'data_inicio', 'data_final')}),
-
- (u'Informações da sede',
- {'fields': ('local', 'nome_contato', 'rua', 'numero', 'cidade',
- 'estado', 'telefone', 'info_adicional')}),
- )
+ site = models.ForeignKey(Site)
def __str__(self):
return self.nome
telefone = models.CharField(max_length=100, blank=True)
celular = models.CharField(max_length=100, blank=True)
- instituicao = models.CharField(max_length=250, blank=True)
+ instituicao = models.CharField(u'Instituição', max_length=250, blank=True)
- rua = models.CharField(max_length=100)
- numero = models.CharField(max_length=10)
- bairro = models.CharField(max_length=100)
+ endereco = models.TextField()
+ cep = models.CharField(max_length=8)
cidade = models.CharField(max_length=100)
- uf = models.CharField(max_length=3)
+ estado = models.CharField(max_length=2, choices=STATE_CHOICES)
+
+ minicurriculo = models.TextField(u'Mini currículo')
+ curriculo = models.TextField(u'Currículo')
+
+ usuario = models.ForeignKey(User, help_text=u'Este campo associa o '
+ 'palestrante a uma conta no sistema para '
+ 'que ele possa enviar trabalhos e alterar '
+ 'dados pessoais.')
- minicurriculo = models.TextField('Mini currículo')
- curriculo = models.TextField('Currículo')
+ def __str__(self):
+ return self.nome
- usuario = models.ForeignKey(User)
+class TipoTrabalho(models.Model):
+ nome = models.CharField(max_length=100)
+ evento = models.ForeignKey(Evento)
- class Admin:
- fields = (
- (None, {'fields': ('nome', 'email', 'instituicao',
- 'minicurriculo', 'curriculo')}),
- ('Telefones', {'fields': ('telefone', 'celular')}),
- ('Endereço', {'fields': ('rua', 'numero',
- 'bairro', 'cidade', 'uf')}),
- )
+ class Meta:
+ verbose_name = u'Tipo de trabalho'
+ verbose_name_plural = u'Tipos de trabalho'
def __str__(self):
return self.nome
+
+class Trilha(models.Model):
+ nome = models.CharField(max_length=100)
+ evento = models.ForeignKey(Evento)
+
+ def __str__(self):
+ return self.nome
+
+class Trabalho(models.Model):
+ titulo = models.CharField(max_length=100)
+ evento = models.ForeignKey(Evento)
+ tipo = models.ForeignKey(TipoTrabalho)
+ trilha = models.ForeignKey(Trilha)
+ palestrante = models.ForeignKey(Palestrante)
+ descricao_curta = models.TextField(u'Descrição curta')
+ descricao_longa = models.TextField(u'Descrição longa')
+ recursos = models.TextField(blank=True)
+ outros_palestrantes = \
+ models.ManyToManyField(Palestrante,
+ related_name='outros_palestrantes',
+ blank=True,
+ null=True)
+
+ def __str__(self):
+ return self.titulo