From 4321cb65bc591c4eae9395bbe37a833155c5a452 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ses=C3=B3stris=20Vieira?= Date: Wed, 19 Dec 2012 14:23:40 -0200 Subject: [PATCH] =?UTF-8?q?Melhorias=20na=20rotina=20de=20exporta=C3=A7?= =?UTF-8?q?=C3=A3o=20de=20dados=20das=20Casas=20Legislativas?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sigi/apps/casas/models.py | 5 +++- sigi/apps/casas/templates/casas/carrinho.html | 10 ++++++-- sigi/apps/casas/views.py | 24 ++++++++++++------- 3 files changed, 28 insertions(+), 11 deletions(-) diff --git a/sigi/apps/casas/models.py b/sigi/apps/casas/models.py index 6895ff5..52eeed2 100644 --- a/sigi/apps/casas/models.py +++ b/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 diff --git a/sigi/apps/casas/templates/casas/carrinho.html b/sigi/apps/casas/templates/casas/carrinho.html index 5ec64ae..ed29e3e 100644 --- a/sigi/apps/casas/templates/casas/carrinho.html +++ b/sigi/apps/casas/templates/casas/carrinho.html @@ -117,6 +117,12 @@ value="Código IBGE" class="action-select" checked="checked" /> +
  • + + + +
  • + value="Número de parlamentares" class="action-select" checked="checked" />
  • + value="Última alteração de endereco" class="action-select" checked="checked" />
  • diff --git a/sigi/apps/casas/views.py b/sigi/apps/casas/views.py index 89d3518..4b6f651 100644 --- a/sigi/apps/casas/views.py +++ b/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