Browse Source

Acrescentando campos de data da ultima alteração para endereço da casa legislativa, presidente e funcionários, e telefones

stable/1.0
Claudio Morale 13 years ago
parent
commit
c70a512dc2
  1. 10
      sigi/apps/casas/admin.py
  2. 21
      sigi/apps/casas/models.py
  3. 1
      sigi/apps/contatos/models.py
  4. 15
      sigi/settings.py

10
sigi/apps/casas/admin.py

@ -15,17 +15,20 @@ from sigi.apps.utils import queryset_ascii
class TelefonesInline(generic.GenericTabularInline): class TelefonesInline(generic.GenericTabularInline):
model = Telefone model = Telefone
readonly_fields = ('ult_alteracao',)
extra = 1 extra = 1
class PresidenteInline(admin.StackedInline): class PresidenteInline(admin.StackedInline):
model = Presidente model = Presidente
exclude = ['cargo','funcao'] exclude = ['cargo','funcao']
readonly_fields = ('ult_alteracao',)
extra = 1 extra = 1
max_num = 1 max_num = 1
inlines = (TelefonesInline) inlines = (TelefonesInline)
class FuncionariosInline(admin.StackedInline): class FuncionariosInline(admin.StackedInline):
model = Funcionario model = Funcionario
readonly_fields = ('ult_alteracao',)
extra = 1 extra = 1
inlines = (TelefonesInline) inlines = (TelefonesInline)
def queryset(self, request): def queryset(self, request):
@ -42,18 +45,19 @@ class CasaLegislativaAdmin(admin.ModelAdmin):
change_list_template = 'casas/change_list.html' change_list_template = 'casas/change_list.html'
actions = ['adicionar_casas',] actions = ['adicionar_casas',]
inlines = (TelefonesInline, PresidenteInline, FuncionariosInline, ConveniosInline) inlines = (TelefonesInline, PresidenteInline, FuncionariosInline, ConveniosInline)
list_display = ('nome','municipio','logradouro') readonly_fields = ('ult_alt_endereco',)
list_display = ('nome','municipio','logradouro', 'ult_alt_endereco')
list_display_links = ('nome',) list_display_links = ('nome',)
list_filter = ('tipo', 'municipio') list_filter = ('tipo', 'municipio')
ordering = ('nome','municipio__uf') ordering = ('nome','municipio__uf')
queyrset = queryset_ascii queyrset = queryset_ascii
fieldsets = ( fieldsets = (
(None, { (None, {
'fields': ('tipo', 'nome', 'cnpj',) 'fields': ('tipo', 'nome', 'cnpj')
}), }),
('Endereço', { ('Endereço', {
'fields': ('data_instalacao', 'logradouro', 'bairro', 'fields': ('data_instalacao', 'logradouro', 'bairro',
'municipio', 'cep', 'pagina_web','email'), 'municipio', 'cep', 'pagina_web','email', 'ult_alt_endereco'),
}), }),
('Outras informações', { ('Outras informações', {
'classes': ('collapse',), 'classes': ('collapse',),

21
sigi/apps/casas/models.py

@ -3,6 +3,7 @@ from django.db import models
from django.contrib.contenttypes import generic from django.contrib.contenttypes import generic
from sigi.apps.parlamentares.models import Parlamentar from sigi.apps.parlamentares.models import Parlamentar
from sigi.apps.utils import SearchField from sigi.apps.utils import SearchField
from datetime import datetime
class TipoCasaLegislativa(models.Model): class TipoCasaLegislativa(models.Model):
""" Modelo para representar o tipo da Casa Legislativa """ Modelo para representar o tipo da Casa Legislativa
@ -54,6 +55,7 @@ class CasaLegislativa(models.Model):
blank=True, blank=True,
verify_exists=False verify_exists=False
) )
ult_alt_endereco = models.DateTimeField(u'Última alteração do endereço', null=True, blank=True, editable=False)
telefones = generic.GenericRelation('contatos.Telefone') telefones = generic.GenericRelation('contatos.Telefone')
foto = models.ImageField( foto = models.ImageField(
@ -95,6 +97,24 @@ class CasaLegislativa(models.Model):
def __unicode__(self): def __unicode__(self):
return self.nome return self.nome
def save(self, *args, **kwargs):
address_changed = False
if self.pk is not None:
original = CasaLegislativa.objects.get(pk=self.pk)
if (self.logradouro != original.logradouro or
self.bairro != original.bairro or
self.municipio != original.municipio or
self.cep != original.cep):
address_changed = True
else:
address_changed = True
if address_changed:
self.ult_alt_endereco = datetime.now()
return super(CasaLegislativa, self).save(*args, **kwargs)
class Funcionario(models.Model): class Funcionario(models.Model):
""" Modelo para registrar contatos vinculados às """ Modelo para registrar contatos vinculados às
@ -123,6 +143,7 @@ class Funcionario(models.Model):
funcao = models.CharField(u'função', max_length=100, null=True, blank=True) funcao = models.CharField(u'função', max_length=100, null=True, blank=True)
setor = models.CharField(max_length=100, choices = SETOR_CHOICES, default="outros") setor = models.CharField(max_length=100, choices = SETOR_CHOICES, default="outros")
tempo_de_servico = models.CharField(u'tempo de serviço', max_length=50, null=True, blank=True) tempo_de_servico = models.CharField(u'tempo de serviço', max_length=50, null=True, blank=True)
ult_alteracao = models.DateTimeField(u'Última alteração', null=True, blank=True, editable=False, auto_now=True)
class Meta: class Meta:
ordering = ('nome',) ordering = ('nome',)

1
sigi/apps/contatos/models.py

@ -128,6 +128,7 @@ class Telefone(models.Model):
default= 'I' default= 'I'
) )
nota = models.CharField(max_length=70, null=True, blank=True) nota = models.CharField(max_length=70, null=True, blank=True)
ult_alteracao = models.DateTimeField(u'Última alteração', null=True, blank=True, editable=False, auto_now=True)
# guarda o tipo do objeto (classe) vinculado a esse registro # guarda o tipo do objeto (classe) vinculado a esse registro
content_type = models.ForeignKey(ContentType) content_type = models.ForeignKey(ContentType)

15
sigi/settings.py

@ -37,13 +37,14 @@ EMAIL_HOST_USER = ''
EMAIL_HOST_PASSWORD = '' EMAIL_HOST_PASSWORD = ''
#EMAIL_USE_TLS = True #EMAIL_USE_TLS = True
#DATABASE_ENGINE = 'postgresql_psycopg2' DATABASE_ENGINE = 'postgresql_psycopg2'
DATABASE_ENGINE = 'sqlite3' #DATABASE_ENGINE = 'sqlite3'
DATABASE_NAME = 'devel.db' DATABASE_NAME = 'sigi'
#DATABASE_USER = 'sigi' #DATABASE_NAME = 'devel.db'
#DATABASE_PASSWORD = '123456' DATABASE_USER = 'sigi'
#DATABASE_HOST = 'localhost' DATABASE_PASSWORD = '123456'
#DATABASE_PORT = '5432' DATABASE_HOST = 'localhost'
DATABASE_PORT = '5432'
TIME_ZONE = 'Brazil/East' TIME_ZONE = 'Brazil/East'
LANGUAGE_CODE = 'pt-br' LANGUAGE_CODE = 'pt-br'

Loading…
Cancel
Save