X-Git-Url: http://git.cascardo.eti.br/?a=blobdiff_plain;f=eventos%2Fmodels.py;h=44b9806851036fd07ff66911a3d49546dcc1de8a;hb=d5d54ce18f9e8fb1811ad977bab4a42840b294b1;hp=85e32438d5005da76c63495f85f499faed6d0e4d;hpb=78c975853ce26b799e053a2c00be3d918ef06427;p=cascardo%2Fema.git diff --git a/eventos/models.py b/eventos/models.py index 85e3243..44b9806 100644 --- a/eventos/models.py +++ b/eventos/models.py @@ -18,6 +18,7 @@ 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) @@ -32,17 +33,7 @@ class Evento(models.Model): estado = models.CharField(max_length=2, choices=STATE_CHOICES) 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', 'endereco', 'cidade', - 'estado', 'telefone', 'info_adicional')}), - ) - - search_fields = list_display = 'nome', 'local' + site = models.ForeignKey(Site) def __str__(self): return self.nome @@ -57,7 +48,7 @@ class Palestrante(models.Model): instituicao = models.CharField(u'Instituição', max_length=250, blank=True) endereco = models.TextField() - cep = models.CharField(max_length=5) + cep = models.CharField(max_length=8) cidade = models.CharField(max_length=100) estado = models.CharField(max_length=2, choices=STATE_CHOICES) @@ -68,30 +59,15 @@ class Palestrante(models.Model): 'palestrante a uma conta no sistema para ' 'que ele possa enviar trabalhos e alterar ' 'dados pessoais.') - - class Admin: - fields = ( - (None, {'fields': ('nome', 'email', 'instituicao', - 'minicurriculo', 'curriculo')}), - - (u'Telefones', {'fields': ('telefone', 'celular')}), - - (u'Endereço', {'fields': ('endereco', 'cep', 'cidade', 'estado')}), - - (u'Avançado', {'fields': ('usuario',), - 'classes': 'collapse'}), - ) - - search_fields = list_display = 'nome', 'instituicao', 'email', 'celular' + class Meta: + ordering = ['nome'] def __str__(self): return self.nome class TipoTrabalho(models.Model): nome = models.CharField(max_length=100) - - class Admin: - search_fields = 'nome', + evento = models.ForeignKey(Evento) class Meta: verbose_name = u'Tipo de trabalho' @@ -100,23 +76,39 @@ class TipoTrabalho(models.Model): 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 DuracaoTrabalho(models.Model): + duracao = models.CharField(u'Duração', max_length=100) + tipo = models.ForeignKey(TipoTrabalho) + + class Meta: + verbose_name = u'Duração do Trabalho' + verbose_name_plural = u'Durações do Trabalho' + + def __str__(self): + return self.duracao + 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) + duracao = models.ForeignKey(DuracaoTrabalho) outros_palestrantes = \ models.ManyToManyField(Palestrante, related_name='outros_palestrantes', blank=True, null=True) - class Admin: - list_filter = 'evento', 'tipo' - search_fields = list_display = 'titulo', 'evento', 'tipo' - def __str__(self): return self.titulo