-# -*- coding: utf8; -*-
+# -*- coding: utf-8; -*-
"""
Copyright (C) 2007 Lincoln de Sousa <lincoln@archlinux-br.org>
"""
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]
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):
+class Palestrante(models.Model):
nome = models.CharField(maxlength=100)
+ email = models.CharField(maxlength=100)
- class Meta:
- verbose_name = 'area de interesse'
- verbose_name_plural = 'areas de interesse'
+ 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)
+ bairro = models.CharField(maxlength=100)
+ cidade = models.CharField(maxlength=100)
+ uf = models.CharField(maxlength=3)
+
+ minicurriculo = models.TextField('Mini currículo')
+ curriculo = models.TextField('Currículo')
+
+ usuario = models.ForeignKey(User)
class Admin:
- pass
+ fields = (
+ (None, {'fields': ('nome', 'email', 'instituicao',
+ 'minicurriculo', 'curriculo', 'usuario')}),
+ ('Telefones', {'fields': ('telefone', 'celular')}),
+ ('Endereço', {'fields': ('rua', 'numero',
+ 'bairro', 'cidade', 'uf')}),
+ )
def __str__(self):
return self.nome
-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, blank=True)
- 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)
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)
+ cep = models.CharField(maxlength=8)
+ cpf_cnpj = models.CharField(maxlength=20, blank=True)
- minicurriculo = models.TextField('Mini currículo')
- area_interesse = models.ManyToManyField(AreaDeInteresse)
+ comercial = models.BooleanField(default=False)
+ usuario = models.ForeignKey(User)
+ refbanco = models.IntegerField(editable=False)
class Admin:
- fields = (
- (None, {'fields': ('nome', 'email', 'minicurriculo')}),
- ('Telefones', {'fields': ('telefone_residencial',
- 'telefone_celular', 'telefone_comercial')}),
- ('Endereço', {'fields': ('rua', 'numero',
- 'bairro', 'cidade', 'uf')}),
- (None, {'fields': ('area_interesse',)}),
- )
+ pass
def __str__(self):
return self.nome
-class Participante(models.Model):
+class Caravana(models.Model):
+ coordenador = models.ForeignKey(Participante)
+ participantes = models.TextField()
+
+ class Admin:
+ pass
+
+ def __str__(self):
+ return str(self.coordenador)
+
+ def parsed_participantes(self):
+ real_data = []
+ for i in self.participantes.split('\n'):
+ if i.strip():
+ nome, email = i.rsplit(' ', 1)
+ real_data.append({'nome': nome, 'email': email})
+ return real_data
+
+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()
+ aprovado = models.BooleanField()
+ dia = models.DateField()
class Admin:
fields = (
- (None, {'fields': ('titulo', 'tema', 'evento', 'categoria',
- 'palestrante', 'descricao_curta', 'descricao_longa')}),
+ (None, {'fields': ('titulo', 'evento', 'categoria', 'tipo',
+ 'palestrante', 'descricao_curta', 'descricao_longa',
+ 'recursos', 'aprovado', 'dia')}),
)
-
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