Browse Source

Fundido aplicações telefones e localidades.

0.2
Guilherme Gondim 17 years ago
parent
commit
a74aaf283c
  1. 35
      sigi/apps/casas/models.py
  2. 0
      sigi/apps/contatos/__init__.py
  3. 71
      sigi/apps/contatos/models.py
  4. 3
      sigi/apps/inventario/models.py
  5. 4
      sigi/apps/parlamentares/models.py
  6. 0
      sigi/apps/telefones/__init__.py
  7. 43
      sigi/apps/telefones/models.py
  8. 3
      sigi/settings.py

35
sigi/apps/casas/models.py

@ -17,17 +17,17 @@ class CasaLegislativa(models.Model):
logradouro = models.CharField(max_length=100) logradouro = models.CharField(max_length=100)
bairro = models.CharField(max_length=40) bairro = models.CharField(max_length=40)
cidade = models.ForeignKey('localidades.Municipio') cidade = models.ForeignKey('contatos.Municipio')
cep = models.CharField( cep = models.CharField(
max_length=9, max_length=9,
help_text="Formato: <em>XXXXX-XXX</em>." help_text="Formato: <em>XXXXX-XXX</em>."
) )
email = models.EmailField('e-mail', blank=True) email = models.EmailField('e-mail', blank=True)
pagina_web = models.URLField('página web', blank=True) pagina_web = models.URLField('página web', blank=True)
telefones = generic.GenericRelation('telefones.Telefone') telefones = generic.GenericRelation('contatos.Telefone')
foto = models.ImageField( foto = models.ImageField(
upload_to='imagens/fotos/casas', upload_to='imagens/casas',
width_field='foto_largura', width_field='foto_largura',
height_field='foto_altura', height_field='foto_altura',
blank=True blank=True
@ -36,38 +36,15 @@ class CasaLegislativa(models.Model):
foto_altura = models.SmallIntegerField(editable=False, null=True) foto_altura = models.SmallIntegerField(editable=False, null=True)
historico = models.TextField('histórico', blank=True) historico = models.TextField('histórico', blank=True)
contatos = generic.GenericRelation('contatos.Contato')
class Meta: class Meta:
ordering = ('nome',) ordering = ('nome',)
verbose_name = 'Casa Legislativa' verbose_name = 'Casa Legislativa'
verbose_name_plural = 'Casas Legislativas' verbose_name_plural = 'Casas Legislativas'
class Admin: class Admin:
list_display = ('nome', 'email', 'pagina_web', 'telefones') list_display = ('nome', 'email', 'pagina_web')
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_links = ('nome',) list_display_links = ('nome',)
def __unicode__(self): def __unicode__(self):

0
sigi/apps/localidades/__init__.py → sigi/apps/contatos/__init__.py

71
sigi/apps/localidades/models.py → sigi/apps/contatos/models.py

@ -1,5 +1,7 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from django.db import models from django.db import models
from django.contrib.contenttypes.models import ContentType
from django.contrib.contenttypes import generic
class UnidadeFederativa(models.Model): class UnidadeFederativa(models.Model):
REGIAO_CHOICES = ( REGIAO_CHOICES = (
@ -81,3 +83,72 @@ class Municipio(models.Model):
def get_google_maps_url(self): 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" % \ 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) (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: <em>31</em>.'
)
numero = models.CharField(
'número',
max_length=9,
help_text='Formato: <em>XXXX-XXXX</em>.'
)
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

3
sigi/apps/inventario/models.py

@ -6,7 +6,8 @@ class Fornecedor(models.Model):
nome = models.CharField(max_length=40) nome = models.CharField(max_length=40)
email = models.EmailField('e-mail', blank=True) email = models.EmailField('e-mail', blank=True)
pagina_web = models.URLField('página web', 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: class Meta:
ordering = ('nome',) ordering = ('nome',)

4
sigi/apps/parlamentares/models.py

@ -43,13 +43,13 @@ class Parlamentar(models.Model):
) )
logradouro = models.CharField(max_length=100) logradouro = models.CharField(max_length=100)
bairro = models.CharField(max_length=40) bairro = models.CharField(max_length=40)
cidade = models.ForeignKey('localidades.Municipio') cidade = models.ForeignKey('contatos.Municipio')
cep = models.CharField( cep = models.CharField(
'CEP', 'CEP',
max_length=9, max_length=9,
help_text="Formato: <em>XXXXX-XXX</em>." help_text="Formato: <em>XXXXX-XXX</em>."
) )
telefones = generic.GenericRelation('telefones.Telefone') telefones = generic.GenericRelation('contatos.Telefone')
pagina_web = models.URLField('página web') pagina_web = models.URLField('página web')
email = models.EmailField('e-mail') email = models.EmailField('e-mail')

0
sigi/apps/telefones/__init__.py

43
sigi/apps/telefones/models.py

@ -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: <em>31</em>.'
)
numero = models.CharField(
'número',
max_length=9,
help_text='Formato: <em>XXXX-XXXX</em>.'
)
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)

3
sigi/settings.py

@ -80,10 +80,9 @@ INSTALLED_APPS = (
'django.contrib.admin', 'django.contrib.admin',
'extensions', # http://django-command-extensions.googlecode.com/ 'extensions', # http://django-command-extensions.googlecode.com/
'sigi.apps.casas', 'sigi.apps.casas',
'sigi.apps.contatos',
'sigi.apps.convenios', 'sigi.apps.convenios',
'sigi.apps.inventario', 'sigi.apps.inventario',
'sigi.apps.localidades',
'sigi.apps.mesas', 'sigi.apps.mesas',
'sigi.apps.parlamentares', 'sigi.apps.parlamentares',
'sigi.apps.telefones',
) )

Loading…
Cancel
Save