X-Git-Url: http://git.cascardo.info/?p=cascardo%2Fema.git;a=blobdiff_plain;f=eventos%2Fmodels.py;h=fca045d14239bfba13246287b14a17d55b582b70;hp=fd7d809b15f70a338ba8d8d56e7371fd3309584c;hb=HEAD;hpb=be76dcaec479d0de8ec9d575bc2ffdc7ab8ca035 diff --git a/eventos/models.py b/eventos/models.py index fd7d809..fca045d 100644 --- a/eventos/models.py +++ b/eventos/models.py @@ -35,18 +35,6 @@ class Evento(models.Model): site = models.ForeignKey(Site) - class Admin: - fields = ( - (u'Informações do evento', - {'fields': ('nome', 'data_inicio', 'data_final', 'site')}), - - (u'Informações da sede', - {'fields': ('local', 'nome_contato', 'endereco', 'cidade', - 'estado', 'telefone', 'info_adicional')}), - ) - - search_fields = list_display = 'nome', 'local' - def __str__(self): return self.nome @@ -60,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) @@ -71,21 +59,8 @@ 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 @@ -94,10 +69,6 @@ class TipoTrabalho(models.Model): nome = models.CharField(max_length=100) evento = models.ForeignKey(Evento) - class Admin: - search_fields = 'nome', - list_filter = 'evento', - class Meta: verbose_name = u'Tipo de trabalho' verbose_name_plural = u'Tipos de trabalho' @@ -109,13 +80,20 @@ class Trilha(models.Model): nome = models.CharField(max_length=100) evento = models.ForeignKey(Evento) - class Admin: - search_fields = 'nome', - list_filter = '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) @@ -125,15 +103,25 @@ class Trabalho(models.Model): 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) + pub_date = models.DateTimeField(u'Data de criação', auto_now_add=True) outros_palestrantes = \ models.ManyToManyField(Palestrante, related_name='outros_palestrantes', blank=True, null=True) - class Admin: - list_filter = 'evento', 'tipo', 'trilha', - search_fields = list_display = 'titulo', 'evento', 'tipo' - def __str__(self): return self.titulo + +class Improve(models.Model): + trabalho = models.ForeignKey(Trabalho) + 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.') + comentario = models.TextField(u'Comentário') + pub_date = models.DateTimeField(u'Data do Comentário', auto_now_add=True) + + def __unicode__(self): + return '"%s" by %s (%s)' % (self.trabalho, self.usuario, self.pub_date.strftime('%x'))