X-Git-Url: http://git.cascardo.eti.br/?a=blobdiff_plain;f=eventos%2Fmodels.py;h=9b2b233f13b7293d38e11130036b15ba6d656e7e;hb=d4d29f4d5e6050e505b6ca2caa6b77f9ee5be9e2;hp=adcbaa2e090507822c127b0210642a214abe3c28;hpb=53f27b205321ccaedb9ebb532193f3e1108ba937;p=cascardo%2Feventmanager.git diff --git a/eventos/models.py b/eventos/models.py index adcbaa2..9b2b233 100644 --- a/eventos/models.py +++ b/eventos/models.py @@ -18,7 +18,12 @@ Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. """ from django.db import models +from django.contrib.localflavor.br.br_states import STATE_CHOICES as _states +from django.contrib.auth.models import User +# bad hack! +STATE_CHOICES = [(x, unicode(y).encode('utf8')) for x, y in _states] +del _states class Evento(models.Model): nome = models.CharField(maxlength=100) @@ -29,32 +34,18 @@ class Evento(models.Model): nome_contato = models.CharField('Nome do contato', maxlength=100) telefone = models.CharField(maxlength=100) cidade = models.CharField(maxlength=100) - uf = models.CharField(maxlength=100) # TODO: should became a combobox + uf = models.CharField(maxlength=2, choices=STATE_CHOICES) rua = models.CharField(maxlength=100) numero = models.CharField('Número', maxlength=10) info_adicional = models.TextField() class Admin: fields = ( - (None, {'fields': ('nome', 'data_inicio', 'data_final')}), + ('Informações do evento', {'fields': ('nome', 'data_inicio', 'data_final')}), ('Informações da sede', {'fields': ('nome_local', 'nome_contato', - 'cidade', 'uf', 'rua', 'numero', 'info_adicional')}), + 'cidade', 'uf', 'rua', 'numero','telefone', 'info_adicional')}), ) - def __str__(self): - return self.name - - -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 @@ -63,9 +54,10 @@ class Palestrante(models.Model): nome = models.CharField(maxlength=100) email = models.CharField(maxlength=100) - telefone_residencial = models.CharField(maxlength=11) - telefone_celular = models.CharField(maxlength=11) - telefone_comercial = models.CharField(maxlength=11) + telefone = models.CharField(maxlength=100, blank=True) + celular = models.CharField(maxlength=100, blank=True) + + instituicao = models.CharField(maxlength=250, blank=True) rua = models.CharField(maxlength=100) numero = models.CharField(maxlength=10) @@ -74,16 +66,17 @@ class Palestrante(models.Model): 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')}), - ('Telefones', {'fields': ('telefone_residencial', - 'telefone_celular', 'telefone_comercial')}), + (None, {'fields': ('nome', 'email', 'instituicao', + 'minicurriculo', 'curriculo', 'usuario')}), + ('Telefones', {'fields': ('telefone', 'celular')}), ('Endereço', {'fields': ('rua', 'numero', 'bairro', 'cidade', 'uf')}), - (None, {'fields': ('area_interesse',)}), ) def __str__(self): @@ -92,53 +85,86 @@ class Palestrante(models.Model): class Participante(models.Model): nome = models.CharField(maxlength=100) + email = models.CharField(maxlength=100) + rg = models.CharField(maxlength=100) + home_page = models.CharField(maxlength=100) + + telefone = models.CharField(maxlength=100, blank=True) + celular = models.CharField(maxlength=100, blank=True) + + rua = models.CharField(maxlength=100) + numero = models.CharField(maxlength=10) + bairro = models.CharField(maxlength=100) + cidade = models.CharField(maxlength=100) + uf = models.CharField(maxlength=3) + + class Admin: + pass + + def __str__(self): + return self.nome + + +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 CategoriaPalestra(models.Model): +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) + tipo = models.ForeignKey(TipoTrabalho) + 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