diff --git a/sigi/apps/casas/admin.py b/sigi/apps/casas/admin.py
index 0e2c3d2..27ff3c4 100644
--- a/sigi/apps/casas/admin.py
+++ b/sigi/apps/casas/admin.py
@@ -38,12 +38,12 @@ class PresidenteInline(admin.StackedInline):
class FuncionariosInline(admin.StackedInline):
model = Funcionario
fieldsets = ((None, {
- 'fields': (('nome', 'sexo', 'nota', 'email'), ('cargo', 'funcao', 'setor', 'tempo_de_servico'), 'ult_alteracao')
+ 'fields': (('nome', 'sexo', 'nota', 'email'), ('cargo', 'funcao', 'setor', 'tempo_de_servico'), 'ult_alteracao')
}),)
- readonly_fields = ('ult_alteracao',)
+ readonly_fields = ('ult_alteracao',)
extra = 1
inlines = (TelefonesInline,)
- def queryset(self, request):
+ def get_queryset(self, request):
return self.model.objects.exclude(cargo="Presidente")
@@ -68,23 +68,23 @@ class ConveniosInline(admin.StackedInline):
return '
'.join(['%s' % (a.arquivo.url, a.__unicode__()) for a in obj.anexo_set.all()])
get_anexos.short_description = 'Anexos'
get_anexos.allow_tags = True
-
+
def get_equipamentos(self, obj):
return '
'.join([e.__unicode__() for e in obj.equipamentoprevisto_set.all()])
get_equipamentos.short_description = 'Equipamentos previstos'
get_equipamentos.allow_tags = True
-
+
def link_convenio(self, obj):
if obj.pk is None:
return ""
from django.core.urlresolvers import reverse
url = reverse('admin:%s_%s_change' %(obj._meta.app_label, obj._meta.module_name), args=[obj.pk] )
url = url + '?_popup=1'
- return """
-
+ return """
+
Editar
""" % (obj.pk, obj.pk, url)
-
+
link_convenio.short_description = 'Editar convenio'
link_convenio.allow_tags = True
@@ -93,18 +93,18 @@ class LegislaturaInline(admin.TabularInline):
model = Legislatura
fields = ['numero', 'data_inicio', 'data_fim', 'data_eleicao', 'total_parlamentares', 'link_parlamentares',]
readonly_fields = ['link_parlamentares',]
-
+
def link_parlamentares(self, obj):
if obj.pk is None:
return ""
from django.core.urlresolvers import reverse
url = reverse('admin:%s_%s_change' %(obj._meta.app_label, obj._meta.module_name), args=[obj.pk] )
url = url + '?_popup=1'
- return """
-
+ return """
+
Editar
""" % (obj.pk, obj.pk, url)
-
+
link_parlamentares.short_description = 'Parlamentares'
link_parlamentares.allow_tags = True
@@ -116,17 +116,17 @@ class DiagnosticoInline(admin.TabularInline):
extra = 0
max_num = 0
can_delete = False
-
+
def link_diagnostico(self, obj):
if obj.pk is None:
return ""
from django.core.urlresolvers import reverse
url = reverse('admin:%s_%s_change' %(obj._meta.app_label, obj._meta.module_name), args=["%s.pdf" % obj.pk] )
- return """
-
+ return """
+
Abrir PDF
""" % (obj.pk, obj.pk, url)
-
+
link_diagnostico.short_description = 'Ver PDF'
link_diagnostico.allow_tags = True
@@ -192,44 +192,44 @@ class CasaLegislativaAdmin(admin.ModelAdmin):
return '
' + ''.join(['- %s
' % c.__unicode__() for c in obj.convenio_set.all()]) + '
'
get_convenios.short_description = u'Convênios'
get_convenios.allow_tags= True
-
+
def changelist_view(self, request, extra_context=None):
return super(CasaLegislativaAdmin, self).changelist_view(
request,
extra_context={'query_str': '?' + request.META['QUERY_STRING']}
)
-
+
def lookup_allowed(self, lookup, value):
return super(CasaLegislativaAdmin, self).lookup_allowed(lookup, value) or \
lookup in ['municipio__uf__codigo_ibge__exact', 'convenio__projeto__id__exact']
-
- def etiqueta(self,request,queryset):
+
+ def etiqueta(self,request,queryset):
return labels_report(request,queryset=queryset)
etiqueta.short_description = "Gerar etiqueta(s) da(s) casa(s) selecionada(s)"
- def etiqueta_sem_presidente(self,request,queryset):
+ def etiqueta_sem_presidente(self,request,queryset):
return labels_report_sem_presidente(request,queryset=queryset)
etiqueta_sem_presidente.short_description = "Gerar etiqueta(s) sem presidente da(s) casa(s) selecionada(s)"
- def relatorio(self,request,queryset):
+ def relatorio(self,request,queryset):
return report(request,queryset=queryset)
relatorio.short_description = u"Exportar a(s) casa(s) selecionada(s) para PDF"
- def relatorio_completo(self,request,queryset):
+ def relatorio_completo(self,request,queryset):
return report_complete(request,queryset=queryset)
relatorio_completo.short_description = u"Gerar relatório completo da(s) casa(s) selecionada(s)"
- def relatorio_csv(self,request,queryset):
- return export_csv(request)
+ def relatorio_csv(self,request,queryset):
+ return export_csv(request)
relatorio_csv.short_description = u"Exportar casa(s) selecionada(s) para CSV"
-
+
def adicionar_casas(self, request, queryset):
if 'carrinho_casas' in request.session:
#if request.session.has_key('carrinho_casas'):
q1 = len(request.session['carrinho_casas'])
else:
- q1 = 0
+ q1 = 0
response = adicionar_casas_carrinho(request,queryset=queryset)
q2 = len(request.session['carrinho_casas'])
quant = q2 - q1
@@ -238,10 +238,10 @@ class CasaLegislativaAdmin(admin.ModelAdmin):
else:
self.message_user(request,"As Casas Legislativas selecionadas já foram adicionadas anteriormente" )
return HttpResponseRedirect('.')
-
+
adicionar_casas.short_description = u"Armazenar casas no carrinho para exportar"
-
-
+
+
def get_actions(self, request):
actions = super(CasaLegislativaAdmin, self).get_actions(request)
if 'delete_selected' in actions:
diff --git a/sigi/apps/casas/models.py b/sigi/apps/casas/models.py
index 1ef1111..7504160 100644
--- a/sigi/apps/casas/models.py
+++ b/sigi/apps/casas/models.py
@@ -52,7 +52,7 @@ class CasaLegislativa(models.Model):
help_text='Avenida, rua, praça, jardim, parque...'
)
bairro = models.CharField(max_length=100, blank=True)
-
+
municipio = models.ForeignKey(
'contatos.Municipio',
verbose_name='município'
@@ -84,7 +84,7 @@ class CasaLegislativa(models.Model):
unique_together = ('municipio', 'tipo')
verbose_name = 'Casa Legislativa'
verbose_name_plural = 'Casas Legislativas'
-
+
@property
def num_parlamentares(self):
if not self.legislatura_set.exists():
@@ -113,7 +113,7 @@ class CasaLegislativa(models.Model):
return self.funcionario_set.get(setor='presidente')
except Funcionario.DoesNotExist:
return None
-
+
@property
def total_parlamentares(self):
"""
@@ -122,18 +122,18 @@ class CasaLegislativa(models.Model):
- num_parlamentares ou
- 0 se não tiver nenhuma das informações
"""
-
+
if self.legislatura_set.exists():
return self.legislatura_set.all()[0].total_parlamentares
-
+
if self.num_parlamentares is not None:
return self.num_parlamentares
-
+
return 0
def gerarCodigoInterlegis(self):
codigo = self.codigo_interlegis
-
+
if codigo == '':
if self.tipo.sigla == 'AL': # Assembléias são tratadas a parte
codigo = 'A' + self.municipio.uf.sigla
@@ -143,41 +143,41 @@ class CasaLegislativa(models.Model):
self.save()
return codigo
# Se já existe, então trata a Assembleia como uma Casa qualquer.
-
+
cityName = normalize('NFKD', unicode(self.municipio.nome)).encode('ascii','ignore')
cityName = cityName.upper().strip()
cityName = cityName.replace(' DA ',' ')
cityName = cityName.replace(' DE ',' ')
cityName = cityName.replace(' DO ',' ')
-
+
# estratégia 1 - Pegar as 1ª letra de cada nome da cidade
codigo = ''.join([x[0] for x in cityName.split(' ')[:3]])
-
+
# Se o código ficou com menos que três letras, pegar as 2 primeiras
if len(codigo) < 3:
codigo = ''.join([x[0:2] for x in cityName.split(' ')[:3]])[:3]
-
+
# Se ainda ficou com menos de três letras, então o nome da cidade só
# tem uma palavra. Pegue as três primeiras letras da palavra
if len(codigo) < 3:
codigo = cityName[:3]
-
+
# Se o código já existir, substituir a última letra do código pela
# última letra do nome da cidade, e ir recuando, letra a letra,
# até achar um novo código.
-
+
cityName = cityName.replace(' ', '')
ultima = len(cityName)
-
+
while CasaLegislativa.objects.filter(codigo_interlegis=codigo). \
count() > 0 and ultima > 0:
codigo = codigo[:2] + cityName[ultima - 1: ultima]
ultima -= 1
-
+
# Se usou todas as letras do nome na última posição e ainda assim
# não gerou um código único, então vamos compor o nome usando as
# três primeiras consoantes.
-
+
if CasaLegislativa.objects.filter(codigo_interlegis=codigo).count() > 0:
codigo_cons = cityName.replace('A','').replace('E','').\
replace('I','').replace('O','').replace('U','')[:3]
@@ -187,18 +187,18 @@ class CasaLegislativa(models.Model):
# Se ainda não gerou um nome único, vamos colocar dígitos no
# último caractere, de A a Z
-
+
i = 'A'
-
+
while CasaLegislativa.objects.filter(codigo_interlegis=codigo). \
count() > 0 and i <= 'Z':
codigo = codigo[:2] + str(i)
i = chr(ord(i) + 1)
-
+
# Se não encontrou, comece a gerar strings com 3 letras aleatórias
# tiradas do nome da cidade, até gerar uma que não existe. Tentar
# 100 vezes apenas
-
+
i = 0
while CasaLegislativa.objects.filter(codigo_interlegis=codigo). \
@@ -206,28 +206,28 @@ class CasaLegislativa(models.Model):
codigo = random.choice(cityName) + random.choice(cityName) + \
random.choice(cityName)
i += 1
-
+
# Caramba! Só resta então gerar o código com 3 letras aleatórias
# quaisquer do alfabeto!
-
+
i = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
while CasaLegislativa.objects.filter(codigo_interlegis=codigo). \
count() > 0:
codigo = random.choice(i) + random.choice(i) + \
random.choice(i)
-
+
self.codigo_interlegis = codigo
self.save()
-
+
return codigo
def __unicode__(self):
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
@@ -237,17 +237,17 @@ class CasaLegislativa(models.Model):
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):
""" Modelo para registrar contatos vinculados às
Casas Legislativas
"""
-
+
SETOR_CHOICES = [
("presidente","Presidente"),
("contato_interlegis","Contato Interlegis"),
@@ -264,7 +264,7 @@ class Funcionario(models.Model):
("M", "Masculino"),
("F", "Feminino")
]
-
+
casa_legislativa = models.ForeignKey(CasaLegislativa)
nome = models.CharField('nome completo', max_length=60, blank=False)
# nome.alphabetic_filter = True
@@ -277,7 +277,7 @@ class Funcionario(models.Model):
funcao = models.CharField(u'função', max_length=100, null=True, blank=True)
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)
- ult_alteracao = models.DateTimeField(u'Última alteração', null=True, blank=True, editable=True, auto_now=False)
+ ult_alteracao = models.DateTimeField(u'Última alteração', null=True, blank=True, editable=True, auto_now=False)
class Meta:
ordering = ('nome',)
@@ -288,8 +288,8 @@ class Funcionario(models.Model):
return self.nome
class PresidenteManager(models.Manager):
- def get_query_set(self):
- qs = super(PresidenteManager, self).get_query_set()
+ def get_queryset(self):
+ qs = super(PresidenteManager, self).get_queryset()
qs = qs.filter(setor='presidente')
return qs
diff --git a/sigi/apps/contatos/admin.py b/sigi/apps/contatos/admin.py
index f2b2f68..d6476ff 100644
--- a/sigi/apps/contatos/admin.py
+++ b/sigi/apps/contatos/admin.py
@@ -12,15 +12,15 @@ class UnidadeFederativaAdmin(admin.ModelAdmin):
list_display_links = ('codigo_ibge', 'nome')
list_filter = ('regiao', 'populacao', PopulationFilter,)
search_fields = ('search_text', 'codigo_ibge', 'sigla', 'regiao')
- queryset = queryset_ascii
+ get_queryset = queryset_ascii
class MunicipioAdmin(admin.ModelAdmin):
actions = None
- list_display = ('codigo_ibge', 'codigo_tse', 'nome', 'uf', 'is_capital', 'populacao', 'is_polo', 'idh', 'pib_ano',
+ list_display = ('codigo_ibge', 'codigo_tse', 'nome', 'uf', 'is_capital', 'populacao', 'is_polo', 'idh', 'pib_ano',
'pib_total', 'pib_percapita')
list_display_links = ('codigo_ibge', 'codigo_tse', 'nome')
list_filter = ('is_capital', 'is_polo', 'idh', 'populacao', 'uf', )
- queryset = queryset_ascii
+ get_queryset = queryset_ascii
fieldsets = (
(None, {
'fields': ('codigo_ibge', 'codigo_tse', 'codigo_mesorregiao',
diff --git a/sigi/apps/convenios/admin.py b/sigi/apps/convenios/admin.py
index 2b74c67..aad5e10 100644
--- a/sigi/apps/convenios/admin.py
+++ b/sigi/apps/convenios/admin.py
@@ -59,10 +59,10 @@ class ConvenioAdmin(admin.ModelAdmin):
#date_hierarchy = 'data_adesao'
ordering = ('casa_legislativa__tipo__sigla','casa_legislativa__municipio__uf','casa_legislativa')
raw_id_fields = ('casa_legislativa',)
- queryset = queryset_ascii
+ get_queryset = queryset_ascii
search_fields = ('id', 'search_text',#'casa_legislativa__nome',
'num_processo_sf','num_convenio')
-
+
def get_uf(self, obj):
return obj.casa_legislativa.municipio.uf.sigla
get_uf.short_description = 'UF'
@@ -77,7 +77,7 @@ class ConvenioAdmin(admin.ModelAdmin):
del request.GET['data_retorno_assinatura__gte']
elif re.match('^\d*$', value): # Year only
request.GET['data_retorno_assinatura__gte'] = "%s-01-01" % value #Complete with january 1st
- elif re.match('^\d*\D\d*$', value): # Year and month
+ elif re.match('^\d*\D\d*$', value): # Year and month
request.GET['data_retorno_assinatura__gte'] = '%s-01' % value #Complete with 1st day of month
if 'data_retorno_assinatura__lte' in request.GET:
value = request.GET.get('data_retorno_assinatura__lte','')
@@ -85,27 +85,27 @@ class ConvenioAdmin(admin.ModelAdmin):
del request.GET['data_retorno_assinatura__lte']
elif re.match('^\d*$', value): # Year only
request.GET['data_retorno_assinatura__lte'] = "%s-01-01" % value #Complete with january 1st
- elif re.match('^\d*\D\d*$', value): # Year and month
+ elif re.match('^\d*\D\d*$', value): # Year and month
request.GET['data_retorno_assinatura__lte'] = '%s-01' % value #Complete with 1st day of month
request.GET._mutable=False
-
+
return super(ConvenioAdmin, self).changelist_view(
request,
extra_context={'query_str': '?' + request.META['QUERY_STRING']}
)
def relatorio(self, request, queryset):
- #queryset.order_by('casa_legislativa__municipio__uf')
+ #queryset.order_by('casa_legislativa__municipio__uf')
response = HttpResponse(mimetype='application/pdf')
report = ConvenioReport(queryset=queryset)
report.generate_by(PDFGenerator, filename=response)
- return response
+ return response
relatorio.short_description = u'Exportar convênios selecionados para PDF'
-
- def adicionar_convenios(self, request, queryset):
+
+ def adicionar_convenios(self, request, queryset):
if request.session.has_key('carrinho_convenios'):
q1 = len(request.session['carrinho_convenios'])
else:
- q1 = 0
+ q1 = 0
adicionar_convenios_carrinho(request,queryset=queryset)
q2 = len(request.session['carrinho_convenios'])
quant = q2 - q1
@@ -115,7 +115,7 @@ class ConvenioAdmin(admin.ModelAdmin):
self.message_user(request,"Os Convênios selecionados já foram adicionadas anteriormente" )
return HttpResponseRedirect('.')
adicionar_convenios.short_description = u"Armazenar convênios no carrinho para exportar"
-
+
def get_actions(self, request):
actions = super(ConvenioAdmin, self).get_actions(request)
if 'delete_selected' in actions:
diff --git a/sigi/apps/diagnosticos/forms.py b/sigi/apps/diagnosticos/forms.py
index 2cf91db..0f3e7f1 100644
--- a/sigi/apps/diagnosticos/forms.py
+++ b/sigi/apps/diagnosticos/forms.py
@@ -20,10 +20,10 @@ class DiagnosticoForm(BaseDynamicEntityForm):
vinculando ao modelo Diagnostico
"""
model = Diagnostico
-
+
def __init__(self, *args, **kwargs):
super(DiagnosticoForm, self).__init__(*args, **kwargs)
-
+
for k, f in self.fields.iteritems():
if isinstance(f, CharField):
f.widget = forms.widgets.Textarea(attrs={'cols':'80'})
diff --git a/sigi/apps/ocorrencias/admin.py b/sigi/apps/ocorrencias/admin.py
index 502d040..ca9e794 100644
--- a/sigi/apps/ocorrencias/admin.py
+++ b/sigi/apps/ocorrencias/admin.py
@@ -22,7 +22,7 @@ class ComentarioInline(admin.StackedInline):
verbose_name, verbose_name_plural = u"Comentário novo", u"Comentários novos"
fieldsets = ((None, {'fields': (('novo_status', 'encaminhar_setor',), 'descricao', )}),)
- def queryset(self, queryset):
+ def get_queryset(self, queryset):
return self.model.objects.get_query_set()
@@ -42,7 +42,7 @@ class OcorrenciaChangeList(ChangeList):
date_hierarchy, search_fields, list_select_related, list_per_page,
list_max_show_all, list_editable, model_admin)
- def get_query_set(self, request):
+ def get_queryset(self, request):
tmp_params = self.params.copy()
grupo = None
if 'grupo' in self.params:
diff --git a/sigi/apps/servicos/models.py b/sigi/apps/servicos/models.py
index e43fb08..0cee2e5 100644
--- a/sigi/apps/servicos/models.py
+++ b/sigi/apps/servicos/models.py
@@ -11,13 +11,13 @@ class TipoServico(models.Model):
{senha} para incluir a senha inicial do serviço'''
nome = models.CharField(u'Nome', max_length=60)
sigla = models.CharField(u'Sigla', max_length='12')
- string_pesquisa = models.CharField(u'String de pesquisa', blank=True, max_length=200,
+ string_pesquisa = models.CharField(u'String de pesquisa', blank=True, max_length=200,
help_text=u'Sufixo para pesquisa RSS para averiguar a data da última atualização do serviço')
template_email_ativa = models.TextField(u'Template de email de ativação', help_text = email_help, blank=True)
template_email_altera = models.TextField(u'Template de email de alteração', help_text = email_help, blank=True)
template_email_desativa = models.TextField(u'Template de email de desativação', help_text = email_help + u'
{motivo} para incluir o motivo da desativação do serviço', blank=True)
-
- @property
+
+ @property
def qtde_casas_atendidas(self):
u"""Quantidade de casas atendidas"""
return self.servico_set.filter(data_desativacao=None).count()
@@ -25,7 +25,7 @@ class TipoServico(models.Model):
class Meta:
verbose_name = u'Tipo de serviço'
verbose_name_plural = u'Tipos de serviço'
-
+
def __unicode__(self):
return self.nome;
@@ -44,13 +44,13 @@ class Servico(models.Model):
data_alteracao = models.DateField(u'Data da última alteração', blank=True, null=True, auto_now=True)
data_desativacao = models.DateField(u'Data de desativação', blank=True, null=True)
motivo_desativacao = models.TextField(u'Motivo da desativação', blank=True)
- data_ultimo_uso = models.DateField(u'Data da última utilização', blank=True, null=True,
+ data_ultimo_uso = models.DateField(u'Data da última utilização', blank=True, null=True,
help_text=u'Data em que o serviço foi utilizado pela Casa Legislativa pela última vez
NÃO É ATUALIZADO AUTOMATICAMENTE!')
- erro_atualizacao = models.CharField(u"Erro na atualização", blank=True, max_length=200,
+ erro_atualizacao = models.CharField(u"Erro na atualização", blank=True, max_length=200,
help_text=u"Erro ocorrido na última tentativa de atualizar a data de último acesso")
-
+
# casa_legislativa.casa_uf_filter = True
-
+
def atualiza_data_uso(self):
def reset(erro=u"", comment=u""):
if self.data_ultimo_uso is None and not erro:
@@ -63,17 +63,17 @@ class Servico(models.Model):
if self.tipo_servico.string_pesquisa == "":
reset()
return
-
+
url = self.url
-
+
if not url:
reset()
return
-
+
if url[-1] != '/':
url += '/'
url += self.tipo_servico.string_pesquisa
-
+
import urllib2
from xml.dom.minidom import parseString
@@ -85,17 +85,17 @@ class Servico(models.Model):
opener = urllib2.build_opener(proxy)
req = opener.open(fullurl=url, timeout=5)
except Exception as e:
- reset(erro=str(e), comment=u'Não foi possível conectar com o servidor. Pode estar fora do ar ou não ser um ' +
+ reset(erro=str(e), comment=u'Não foi possível conectar com o servidor. Pode estar fora do ar ou não ser um ' +
self.tipo_servico.nome)
return
-
+
try:
rss = req.read()
except Exception as e:
reset(erro=str(e), comment=u'Não foi possível receber os dados do servidor. O acesso pode ter sido negado.')
return
- try:
+ try:
xml = parseString(rss)
items = xml.getElementsByTagName('item')
first_item = items[0]
@@ -109,13 +109,13 @@ class Servico(models.Model):
reset(erro=str(e), comment=u'A resposta do servidor não é compatível com %s. Pode ser outro software que está sendo usado' %
self.tipo_servico.nome)
return
-
+
def __unicode__(self):
return "%s (%s)" % (self.tipo_servico.nome, 'ativo' if self.data_desativacao is None else 'Desativado')
-
+
def save(self, *args, **kwargs):
# Reter o objeto original para verificar mudanças
-
+
if self.id is not None:
original = Servico.objects.get(id=self.id)
@@ -139,36 +139,36 @@ class Servico(models.Model):
# Salvar o Servico
super(Servico, self).save(*args, **kwargs)
return # sem enviar email
-
+
# Prepara e envia o email
body = body.replace('{url}', self.url) \
.replace('{senha}', self.senha_inicial) \
.replace('{motivo}', self.motivo_desativacao)
-
+
# send_mail(subject, body, DEFAULT_FROM_EMAIL, \
# (self.contato_tecnico.email,), fail_silently=False)
-
+
# Salvar o Servico
super(Servico, self).save(*args, **kwargs)
return
-
+
class LogServico(models.Model):
servico = models.ForeignKey(Servico, verbose_name='Serviço')
descricao = models.CharField('Breve descrição da ação', max_length=60)
data = models.DateField('Data da ação', default=date.today)
log = models.TextField('Log da ação')
-
+
def __unicode__(self):
return "%s (%s)" % (self.descricao, self.data)
-
+
class Meta:
verbose_name = 'Log do serviço'
- verbose_name_plural = 'Logs do serviço'
+ verbose_name_plural = 'Logs do serviço'
class CasaAtendidaManager(models.Manager):
- def get_query_set(self):
- qs = super(CasaAtendidaManager, self).get_query_set()
+ def get_queryset(self):
+ qs = super(CasaAtendidaManager, self).get_queryset()
qs = qs.exclude(codigo_interlegis='')
return qs
@@ -178,7 +178,7 @@ class CasaAtendida(CasaLegislativa):
verbose_name_plural = 'Casas atendidas'
objects = CasaAtendidaManager()
-
+
class CasaManifesta(models.Model):
casa_legislativa = models.OneToOneField(CasaLegislativa)
data_manifestacao = models.DateTimeField(auto_now_add=True)
@@ -186,13 +186,13 @@ class CasaManifesta(models.Model):
informante = models.CharField(u'Nome do informante', max_length=100, blank=True)
cargo = models.CharField(u'Cargo do informante', max_length=100, blank=True)
email = models.EmailField(u'E-mail de contato', blank=True)
-
+
class ServicoManifesto(models.Model):
casa_manifesta = models.ForeignKey(CasaManifesta)
servico = models.ForeignKey(TipoServico)
url = models.URLField(blank=True)
hospedagem_interlegis = models.BooleanField(u'Hospedagem no Interlegis?')
-
+
class Meta:
unique_together = ('casa_manifesta', 'servico')
@@ -204,4 +204,4 @@ class RegistroServico(models.Model):
data_registro = models.DateTimeField(auto_now=True)
class Meta:
- verbose_name_plural = u'Registro de serviços'
\ No newline at end of file
+ verbose_name_plural = u'Registro de serviços'