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 Util para relatorios antigos
""" """
try: 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: except Funcionario.DoesNotExist:
return None return None

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

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

24
sigi/apps/casas/views.py

@ -255,13 +255,18 @@ def export_csv(request):
csv_writer = csv.writer(response) csv_writer = csv.writer(response)
casas = carrinhoOrGet_for_qs(request) casas = carrinhoOrGet_for_qs(request)
if not casas: if not casas or not request.POST:
return HttpResponseRedirect('../') return HttpResponseRedirect('../')
if request.POST: atributos = request.POST.getlist("itens_csv_selected")
atributos = request.POST.getlist("itens_csv_selected") atributos2 = [s.encode("utf-8") for s in atributos]
atributos2 = [s.encode("utf-8") for s in atributos]
csv_writer.writerow(atributos2) try:
atributos2.insert(atributos2.index(u'Município'), u'UF')
except ValueError:
pass
csv_writer.writerow(atributos2)
for casa in casas: for casa in casas:
lista = [] lista = []
@ -270,10 +275,13 @@ def export_csv(request):
lista.append(casa.cnpj.encode("utf-8")) lista.append(casa.cnpj.encode("utf-8"))
elif u"Código IBGE" == atributo: elif u"Código IBGE" == atributo:
lista.append(str(casa.municipio.codigo_ibge).encode("utf-8")) 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: elif u"Nome" == atributo:
lista.append(casa.nome.encode("utf-8")) lista.append(casa.nome.encode("utf-8"))
elif u"Município" == atributo: 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: elif u"Presidente" == atributo:
#TODO: Esse encode deu erro em 25/04/2012. Comentei para que o usuário pudesse continuar seu trabalho #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. # É 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")) lista.append(casa.pagina_web.encode("utf-8"))
elif u"Email" == atributo: elif u"Email" == atributo:
lista.append(casa.email.encode("utf-8")) lista.append(casa.email.encode("utf-8"))
elif u"num_parlamentares" == atributo: elif u"Número de parlamentares" == atributo:
lista.append(casa.total_parlamentares) 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) lista.append(casa.ult_alt_endereco)
else: else:
pass pass

Loading…
Cancel
Save