Browse Source

Adicionado suporte à documentação do admin.

0.2
Guilherme Gondim 17 years ago
parent
commit
5d5356fb59
  1. 28
      sigi/apps/casas/admin.py
  2. 22
      sigi/apps/casas/models.py
  3. 8
      sigi/apps/contatos/models.py
  4. 1
      sigi/settings.py
  5. 2
      sigi/urls.py

28
sigi/apps/casas/admin.py

@ -1,11 +1,37 @@
# -*- coding: utf-8 -*-
from django.contrib import admin
from django.contrib.admin.filterspecs import ChoicesFilterSpec, FilterSpec
from django.contrib.contenttypes import generic
from sigi.apps.casas.forms import CasaLegislativaForm
from sigi.apps.casas.models import CasaLegislativa
from sigi.apps.contatos.models import Contato
from sigi.apps.contatos.models import Telefone
class ContatosInline(generic.GenericTabularInline):
model = Contato
class TelefonesInline(generic.GenericTabularInline):
model = Telefone
class CasaLegislativaAdmin(admin.ModelAdmin):
form = CasaLegislativaForm
list_display = ('nome', 'email', 'pagina_web')
inlines = (TelefonesInline, ContatosInline)
list_display = ('nome', 'email', 'pagina_web', 'municipio', 'uf')
list_display_links = ('nome',)
list_filter = ('tipo',)
fieldsets = (
(None, {
'fields': ('nome', 'sigla', 'tipo', 'cnpj'),
}),
('Endereço', {
'fields': ('logradouro', 'bairro', 'municipio', 'cep'),
}),
('Outras informações', {
'fields': ('email', 'pagina_web', 'foto', 'historico'),
}),
)
search_fields = ('nome', 'sigla', 'cnpj', 'logradouro', 'bairro',
'cep', 'municipio__nome', 'municipio__uf__nome',
'pagina_web')
admin.site.register(CasaLegislativa, CasaLegislativaAdmin)

22
sigi/apps/casas/models.py

@ -10,8 +10,16 @@ class CasaLegislativa(models.Model):
('CT', 'Câmara Distrital'),
('SF', 'Senado Federal'),
)
nome = models.CharField(max_length=60)
sigla = models.CharField(max_length=30, blank=True)
nome = models.CharField(
max_length=60,
help_text='Exemplo: <em>Câmara Municipal de Pains</em>.'
)
sigla = models.CharField(
max_length=30,
help_text='Forneça apenas se a Casa Legislativa indicar um. '
'Exemplo: <em>cmpains</em>.',
blank=True
)
tipo = models.CharField(max_length=2, choices=CASA_CHOICES)
cnpj = models.CharField('CNPJ', max_length=18)
@ -26,7 +34,11 @@ class CasaLegislativa(models.Model):
)
cep = models.CharField(max_length=9)
email = models.EmailField('e-mail', blank=True)
pagina_web = models.URLField(u'página web', blank=True)
pagina_web = models.URLField(
u'página web',
help_text='Exemplo: <em>http://www.camarapains.mg.gov.br</em>.',
blank=True
)
telefones = generic.GenericRelation('contatos.Telefone')
foto = models.ImageField(
@ -48,3 +60,7 @@ class CasaLegislativa(models.Model):
def __unicode__(self):
return self.nome
def uf (self):
return self.municipio.uf.nome
uf.short_description = 'Unidade Federativa'

8
sigi/apps/contatos/models.py

@ -14,10 +14,15 @@ class UnidadeFederativa(models.Model):
codigo_ibge = models.PositiveIntegerField(
u'código IBGE',
primary_key=True,
unique=True,
help_text='Código do estado segundo IBGE.'
)
nome = models.CharField(max_length=25)
sigla = models.CharField(max_length=2, help_text="Exemplo: <em>MG</em>.")
sigla = models.CharField(
max_length=2,
unique=True,
help_text="Exemplo: <em>MG</em>.",
)
regiao = models.CharField(max_length=2, choices=REGIAO_CHOICES)
populacao = models.PositiveIntegerField('população')
@ -33,6 +38,7 @@ class Municipio(models.Model):
codigo_ibge = models.PositiveIntegerField(
u'código IBGE',
primary_key=True,
unique=True,
help_text='Código do município segundo IBGE.'
)
codigo_mesorregiao = models.PositiveIntegerField(

1
sigi/settings.py

@ -84,6 +84,7 @@ INSTALLED_APPS = (
'django.contrib.sites',
'django.contrib.databrowse',
'django.contrib.admin',
'django.contrib.admindocs',
'django_extensions', # http://django-command-extensions.googlecode.com/
'sigi.apps.casas',
'sigi.apps.contatos',

2
sigi/urls.py

@ -10,8 +10,8 @@ map(databrowse.site.register, get_models())
urlpatterns = patterns(
'',
(r'^(.*)', admin.site.root),
(r'^doc/', include('django.contrib.admindocs.urls')),
(r'^(.*)', admin.site.root),
# databrowse
(r'^databrowse/(.*)', databrowse.site.root),

Loading…
Cancel
Save