diff --git a/sigi/apps/casas/models.py b/sigi/apps/casas/models.py
index eaf55b0..9b5b58b 100644
--- a/sigi/apps/casas/models.py
+++ b/sigi/apps/casas/models.py
@@ -17,17 +17,17 @@ class CasaLegislativa(models.Model):
logradouro = models.CharField(max_length=100)
bairro = models.CharField(max_length=40)
- cidade = models.ForeignKey('localidades.Municipio')
+ cidade = models.ForeignKey('contatos.Municipio')
cep = models.CharField(
max_length=9,
help_text="Formato: XXXXX-XXX."
)
email = models.EmailField('e-mail', blank=True)
pagina_web = models.URLField('página web', blank=True)
- telefones = generic.GenericRelation('telefones.Telefone')
+ telefones = generic.GenericRelation('contatos.Telefone')
foto = models.ImageField(
- upload_to='imagens/fotos/casas',
+ upload_to='imagens/casas',
width_field='foto_largura',
height_field='foto_altura',
blank=True
@@ -36,38 +36,15 @@ class CasaLegislativa(models.Model):
foto_altura = models.SmallIntegerField(editable=False, null=True)
historico = models.TextField('histórico', blank=True)
+ contatos = generic.GenericRelation('contatos.Contato')
+
class Meta:
ordering = ('nome',)
verbose_name = 'Casa Legislativa'
verbose_name_plural = 'Casas Legislativas'
class Admin:
- list_display = ('nome', 'email', 'pagina_web', 'telefones')
- list_display_links = ('nome',)
- search_fields = ('nome', 'sigla', 'tipo', 'logradouro', 'bairro',
- 'cidade', 'cep', 'email', 'pagina_web', 'telefones')
-
- def __unicode__(self):
- return self.nome
-
-class ContatoInterlegis(models.Model):
- nome = models.CharField('nome completo', max_length=60)
- casa_legislativa = models.ForeignKey(
- CasaLegislativa,
- verbose_name='Casa Legislativa'
- )
- nota = models.CharField(max_length=70, blank=True)
-
- email = models.EmailField('e-mail', blank=True)
- telefones = generic.GenericRelation('telefones.Telefone')
-
- class Meta:
- ordering = ('nome',)
- verbose_name = 'contato Interlegis'
- verbose_name_plural = 'contatos Interlegis'
-
- class Admin:
- list_display = ('nome', 'nota', 'casa_legislativa')
+ list_display = ('nome', 'email', 'pagina_web')
list_display_links = ('nome',)
def __unicode__(self):
diff --git a/sigi/apps/localidades/__init__.py b/sigi/apps/contatos/__init__.py
similarity index 100%
rename from sigi/apps/localidades/__init__.py
rename to sigi/apps/contatos/__init__.py
diff --git a/sigi/apps/localidades/models.py b/sigi/apps/contatos/models.py
similarity index 55%
rename from sigi/apps/localidades/models.py
rename to sigi/apps/contatos/models.py
index 04034e1..f5e6859 100644
--- a/sigi/apps/localidades/models.py
+++ b/sigi/apps/contatos/models.py
@@ -1,5 +1,7 @@
# -*- coding: utf-8 -*-
from django.db import models
+from django.contrib.contenttypes.models import ContentType
+from django.contrib.contenttypes import generic
class UnidadeFederativa(models.Model):
REGIAO_CHOICES = (
@@ -81,3 +83,72 @@ class Municipio(models.Model):
def get_google_maps_url(self):
return "http://maps.google.com.br/maps/mm?ie=UTF8&hl=pt-BR&t=h&ll=%s,%s&spn=1.61886,1.812744&z=9&source=embed" % \
(self.latitude, self.longitude)
+
+class Telefone(models.Model):
+ TELEFONE_CHOICES = (
+ ('F', 'Fixo'),
+ ('M', 'Móvel'),
+ ('X', 'Fax'),
+ )
+ codigo_ddd = models.CharField(
+ 'código DDD',
+ max_length=2,
+ help_text='Exemplo: 31.'
+ )
+ numero = models.CharField(
+ 'número',
+ max_length=9,
+ help_text='Formato: XXXX-XXXX.'
+ )
+ tipo = models.CharField(
+ max_length=1,
+ choices=TELEFONE_CHOICES,
+ radio_admin=True
+ )
+ nota = models.CharField(max_length=70, blank=True)
+ content_type = models.ForeignKey(ContentType)
+ object_id = models.PositiveIntegerField()
+ content_object = generic.GenericForeignKey('content_type', 'object_id')
+
+ class Meta:
+ ordering = ('codigo_ddd', 'numero')
+ unique_together = ('codigo_ddd', 'numero', 'tipo')
+
+ class Admin:
+ list_display = ('codigo_ddd', 'numero', 'tipo', 'nota')
+ list_display_links = ('codigo_ddd', 'numero')
+ list_filter = ('codigo_ddd',)
+ search_fields = ('codigo_ddd', 'numero', 'tipo', 'nota')
+
+ def __unicode__(self):
+ return "(%s) %s" % (self.codigo_ddd, self.numero)
+
+class Contato(models.Model):
+ nome = models.CharField('nome completo', max_length=60)
+ nota = models.CharField(max_length=70, blank=True)
+
+ email = models.EmailField('e-mail', blank=True)
+ telefones = generic.GenericRelation(Telefone)
+
+ municipio = models.ForeignKey(
+ Municipio,
+ verbose_name='município',
+ blank=True,
+ null=True,
+ )
+
+ content_type = models.ForeignKey(ContentType)
+ object_id = models.PositiveIntegerField()
+ content_object = generic.GenericForeignKey('content_type', 'object_id')
+
+ class Meta:
+ ordering = ('nome',)
+ verbose_name = 'contato Interlegis'
+ verbose_name_plural = 'contatos Interlegis'
+
+ class Admin:
+ list_display = ('nome', 'nota', 'casa_legislativa')
+ list_display_links = ('nome',)
+
+ def __unicode__(self):
+ return self.nome
diff --git a/sigi/apps/inventario/models.py b/sigi/apps/inventario/models.py
index d15893a..8ad1322 100644
--- a/sigi/apps/inventario/models.py
+++ b/sigi/apps/inventario/models.py
@@ -6,7 +6,8 @@ class Fornecedor(models.Model):
nome = models.CharField(max_length=40)
email = models.EmailField('e-mail', blank=True)
pagina_web = models.URLField('página web', blank=True)
- telefones = generic.GenericRelation('telefones.Telefone')
+ telefones = generic.GenericRelation('contatos.Telefone')
+ contatos = generic.GenericRelation('contatos.Contato')
class Meta:
ordering = ('nome',)
diff --git a/sigi/apps/parlamentares/models.py b/sigi/apps/parlamentares/models.py
index 7246e00..3b60592 100644
--- a/sigi/apps/parlamentares/models.py
+++ b/sigi/apps/parlamentares/models.py
@@ -43,13 +43,13 @@ class Parlamentar(models.Model):
)
logradouro = models.CharField(max_length=100)
bairro = models.CharField(max_length=40)
- cidade = models.ForeignKey('localidades.Municipio')
+ cidade = models.ForeignKey('contatos.Municipio')
cep = models.CharField(
'CEP',
max_length=9,
help_text="Formato: XXXXX-XXX."
)
- telefones = generic.GenericRelation('telefones.Telefone')
+ telefones = generic.GenericRelation('contatos.Telefone')
pagina_web = models.URLField('página web')
email = models.EmailField('e-mail')
diff --git a/sigi/apps/telefones/__init__.py b/sigi/apps/telefones/__init__.py
deleted file mode 100644
index e69de29..0000000
diff --git a/sigi/apps/telefones/models.py b/sigi/apps/telefones/models.py
deleted file mode 100644
index c566914..0000000
--- a/sigi/apps/telefones/models.py
+++ /dev/null
@@ -1,43 +0,0 @@
-# -*- coding: utf-8 -*-
-from django.db import models
-from django.contrib.contenttypes.models import ContentType
-from django.contrib.contenttypes import generic
-
-class Telefone(models.Model):
- TELEFONE_CHOICES = (
- ('F', 'Fixo'),
- ('M', 'Móvel'),
- ('X', 'Fax'),
- )
- codigo_ddd = models.CharField(
- 'código DDD',
- max_length=2,
- help_text='Exemplo: 31.'
- )
- numero = models.CharField(
- 'número',
- max_length=9,
- help_text='Formato: XXXX-XXXX.'
- )
- tipo = models.CharField(
- max_length=1,
- choices=TELEFONE_CHOICES,
- radio_admin=True
- )
- nota = models.CharField(max_length=70, blank=True)
- content_type = models.ForeignKey(ContentType)
- object_id = models.PositiveIntegerField()
- content_object = generic.GenericForeignKey('content_type', 'object_id')
-
- class Meta:
- ordering = ('codigo_ddd', 'numero')
- unique_together = ('codigo_ddd', 'numero', 'tipo')
-
- class Admin:
- list_display = ('codigo_ddd', 'numero', 'tipo', 'nota')
- list_display_links = ('codigo_ddd', 'numero')
- list_filter = ('codigo_ddd',)
- search_fields = ('codigo_ddd', 'numero', 'tipo', 'nota')
-
- def __unicode__(self):
- return "(%s) %s" % (self.codigo_ddd, self.numero)
diff --git a/sigi/settings.py b/sigi/settings.py
index 6db90aa..74d990f 100644
--- a/sigi/settings.py
+++ b/sigi/settings.py
@@ -80,10 +80,9 @@ INSTALLED_APPS = (
'django.contrib.admin',
'extensions', # http://django-command-extensions.googlecode.com/
'sigi.apps.casas',
+ 'sigi.apps.contatos',
'sigi.apps.convenios',
'sigi.apps.inventario',
- 'sigi.apps.localidades',
'sigi.apps.mesas',
'sigi.apps.parlamentares',
- 'sigi.apps.telefones',
)