Repository: interlegis/sapl

Issue:
Sessão Plenária: ordem alfabética em listas de presença
Nas listas de presença da sessão plenária e da ordem do dia a ordem alfabética não está obedecida plenamente.
https://sapl3.agudo.rs.leg.br/sessao/1855/presenca
https://sapl3.agudo.rs.leg.br/sessao/1855/presencaordemdia

![captura de tela de 2018-04-18 08-18-27](https://user-images.githubusercontent.com/19169882/38928994-52ef41e6-42e1-11e8-95da-cef522ca1b43.png)

Sessão Plenária: ordem alfabética em listas de presença
Nas listas de presença da sessão plenária e da ordem do dia a ordem alfabética não está obedecida plenamente.
https://sapl3.agudo.rs.leg.br/sessao/1855/presenca
https://sapl3.agudo.rs.leg.br/sessao/1855/presencaordemdia

![captura de tela de 2018-04-18 08-18-27](https://user-images.githubusercontent.com/19169882/38928994-52ef41e6-42e1-11e8-95da-cef522ca1b43.png)



Discussion:
O Alpine não tem o COLLATION pt_br.UTF8 portanto gera erro em tempo de execução. Estudar uma forma de instalar isso.
Permanece o problema. Como em https://sapl3.agudo.rs.leg.br/sessao/1857/presenca  e https://sapl3.agudo.rs.leg.br/sessao/1857/presencaordemdia tal problema é claro, pois Léo está presente.
O Alpine não tem o COLLATION pt_br.UTF8 portanto gera erro em tempo de execução. Estudar uma forma de instalar isso.
Permanece o problema. Como em https://sapl3.agudo.rs.leg.br/sessao/1857/presenca  e https://sapl3.agudo.rs.leg.br/sessao/1857/presencaordemdia tal problema é claro, pois Léo está presente.

Resolving patch:
diff --git a/sapl/sessao/views.py b/sapl/sessao/views.py
--- a/sapl/sessao/views.py
+++ b/sapl/sessao/views.py
@@ -34,7 +34,7 @@
                                        Parlamentar, SessaoLegislativa)
 from sapl.sessao.apps import AppConfig
 from sapl.sessao.forms import ExpedienteMateriaForm, OrdemDiaForm
-from sapl.utils import show_results_filter_set
+from sapl.utils import show_results_filter_set, remover_acentos
 
 from .forms import (AdicionarVariasMateriasFilterSet, BancadaForm, BlocoForm,
                     ExpedienteForm, ListMateriaForm, MesaForm,
@@ -385,14 +385,14 @@ def customize_link_materia(context, pk, has_permission, is_expediente):
         context['rows'][i][3] = (resultado, None)
     return context
 
-
+     
 def get_presencas_generic(model, sessao, legislatura):
     presencas = model.objects.filter(
         sessao_plenaria=sessao)
 
     presentes = [p.parlamentar for p in presencas]
 
-    presentes = sorted(presentes, key=lambda x: x.nome_parlamentar)
+    presentes = sorted(presentes, key=lambda x: remover_acentos(x.nome_parlamentar))
 
     mandato = Mandato.objects.filter(
         legislatura=legislatura).order_by('parlamentar__nome_parlamentar')
diff --git a/sapl/utils.py b/sapl/utils.py
--- a/sapl/utils.py
+++ b/sapl/utils.py
@@ -2,6 +2,7 @@
 import logging
 import os
 import re
+import unicodedata
 from functools import wraps
 from operator import itemgetter
 from unicodedata import normalize as unicodedata_normalize
@@ -732,3 +733,7 @@ def RemoveTag(texto):
             i += 1
 
     return textoSaida
+
+def remover_acentos(string):
+     return ''.join([c for c in unicodedata.normalize('NFD', string)
+                         if unicodedata.category(c) != 'Mn'])
\ No newline at end of file


Test patch: