Merge: palestrante edita palestra.
[cascardo/eventmanager.git] / eventos / models.py
index 39c68e2..eda0771 100644 (file)
@@ -1,4 +1,4 @@
-# -*- coding: utf8; -*-
+# -*- coding: utf-8; -*-
 """
 Copyright (C) 2007 Lincoln de Sousa <lincoln@archlinux-br.org>
 
@@ -19,6 +19,7 @@ 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]
@@ -40,36 +41,23 @@ class Evento(models.Model):
 
     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.nome
 
 
-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
-
-
 class Palestrante(models.Model):
     nome = models.CharField(maxlength=100)
     email = models.CharField(maxlength=100)
 
-    telefone_residencial = models.CharField(maxlength=11, blank=True)
-    telefone_celular = models.CharField(maxlength=11, blank=True)
-    telefone_comercial = models.CharField(maxlength=11, blank=True)
+    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)
@@ -78,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):
@@ -104,45 +93,66 @@ class Participante(models.Model):
         return self.nome
 
 
-class CategoriaPalestra(models.Model):
+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 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