adding the site foreign key in Evento entity, adding Trilha
[cascardo/ema.git] / eventos / models.py
index 85e3243..fd7d809 100644 (file)
@@ -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,10 +33,12 @@ class Evento(models.Model):
     estado = models.CharField(max_length=2, choices=STATE_CHOICES)
     info_adicional = models.TextField(blank=True)
 
+    site = models.ForeignKey(Site)
+
     class Admin:
         fields = (
             (u'Informações do evento',
-             {'fields': ('nome', 'data_inicio', 'data_final')}),
+             {'fields': ('nome', 'data_inicio', 'data_final', 'site')}),
 
             (u'Informações da sede',
              {'fields': ('local', 'nome_contato', 'endereco', 'cidade',
@@ -89,9 +92,11 @@ class Palestrante(models.Model):
 
 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'
@@ -100,10 +105,22 @@ class TipoTrabalho(models.Model):
     def __str__(self):
         return self.nome
 
+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 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')
@@ -115,7 +132,7 @@ class Trabalho(models.Model):
                                null=True)
 
     class Admin:
-        list_filter = 'evento', 'tipo'
+        list_filter = 'evento', 'tipo', 'trilha',
         search_fields = list_display = 'titulo', 'evento', 'tipo'
 
     def __str__(self):