Browse Source

Melhorias na rotina de exportação de dados das Casas Legislativas

stable/1.0
Sesostris Vieira 12 years ago
parent
commit
4321cb65bc
  1. 5
      sigi/apps/casas/models.py
  2. 10
      sigi/apps/casas/templates/casas/carrinho.html
  3. 24
      sigi/apps/casas/views.py

5
sigi/apps/casas/models.py

@ -96,7 +96,10 @@ class CasaLegislativa(models.Model):
Util para relatorios antigos
"""
try:
return self.funcionario_set.get(setor='presidente')
if self.funcionario_set.filter(setor='presidente').count() > 1:
return self.funcionario_set.filter(setor='presidente')[0]
else:
return self.funcionario_set.get(setor='presidente')
except Funcionario.DoesNotExist:
return None

10
sigi/apps/casas/templates/casas/carrinho.html

@ -117,6 +117,12 @@
value="Código IBGE" class="action-select" checked="checked" />
<label>Código IBGE</label>
</li>
<li>
<span class="ui-icon ui-icon-arrowthick-2-n-s"></span>
<input type="checkbox" name="itens_csv_selected"
value="Código TSE" class="action-select" checked="checked" />
<label>Código TSE</label>
</li>
<li>
<span class="ui-icon ui-icon-arrowthick-2-n-s"></span>
<input type="checkbox" name="itens_csv_selected" value="Nome"
@ -170,13 +176,13 @@
<li>
<span class="ui-icon ui-icon-arrowthick-2-n-s"></span>
<input type="checkbox" name="itens_csv_selected"
value="num_parlamentares" class="action-select" checked="checked" />
value="Número de parlamentares" class="action-select" checked="checked" />
<label>Número de parlamentares</label>
</li>
<li>
<span class="ui-icon ui-icon-arrowthick-2-n-s"></span>
<input type="checkbox" name="itens_csv_selected"
value="ult_alt_endereco" class="action-select" checked="checked" />
value="Última alteração de endereco" class="action-select" checked="checked" />
<label>Data da última alteração de endereço</label>
</li>
</ul>

24
sigi/apps/casas/views.py

@ -255,13 +255,18 @@ def export_csv(request):
csv_writer = csv.writer(response)
casas = carrinhoOrGet_for_qs(request)
if not casas:
if not casas or not request.POST:
return HttpResponseRedirect('../')
if request.POST:
atributos = request.POST.getlist("itens_csv_selected")
atributos2 = [s.encode("utf-8") for s in atributos]
csv_writer.writerow(atributos2)
atributos = request.POST.getlist("itens_csv_selected")
atributos2 = [s.encode("utf-8") for s in atributos]
try:
atributos2.insert(atributos2.index(u'Município'), u'UF')
except ValueError:
pass
csv_writer.writerow(atributos2)
for casa in casas:
lista = []
@ -270,10 +275,13 @@ def export_csv(request):
lista.append(casa.cnpj.encode("utf-8"))
elif u"Código IBGE" == atributo:
lista.append(str(casa.municipio.codigo_ibge).encode("utf-8"))
elif u"Código TSE" == atributo:
lista.append(str(casa.municipio.codigo_tse).encode("utf-8"))
elif u"Nome" == atributo:
lista.append(casa.nome.encode("utf-8"))
elif u"Município" == atributo:
lista.append(str(casa.municipio))
lista.append(str(casa.municipio.uf.sigla))
lista.append(str(casa.municipio.nome))
elif u"Presidente" == atributo:
#TODO: Esse encode deu erro em 25/04/2012. Comentei para que o usuário pudesse continuar seu trabalho
# É preciso descobrir o porque do erro e fazer a correção definitiva.
@ -291,9 +299,9 @@ def export_csv(request):
lista.append(casa.pagina_web.encode("utf-8"))
elif u"Email" == atributo:
lista.append(casa.email.encode("utf-8"))
elif u"num_parlamentares" == atributo:
elif u"Número de parlamentares" == atributo:
lista.append(casa.total_parlamentares)
elif u"ult_alt_endereco" == atributo:
elif u"Última alteração de endereco" == atributo:
lista.append(casa.ult_alt_endereco)
else:
pass

Loading…
Cancel
Save