diff --git a/sapl/sessao/views.py b/sapl/sessao/views.py index 5b9b7eea3..16a1d7ce7 100644 --- a/sapl/sessao/views.py +++ b/sapl/sessao/views.py @@ -1,11 +1,10 @@ -import unicodedata from re import sub from operator import itemgetter from django.contrib import messages from django.contrib.auth.decorators import permission_required from django.contrib.auth.mixins import PermissionRequiredMixin -from django.core.exceptions import MultipleObjectsReturned, ObjectDoesNotExist +from django.core.exceptions import ObjectDoesNotExist from django.core.urlresolvers import reverse from django.db.models import Max, Q from django.forms.utils import ErrorList @@ -991,10 +990,8 @@ class MesaView(FormMixin, DetailView): set( [p.parlamentar for p in parlamentares]) - set( parlamentares_ocupados)) - - org_parlamentares_vagos = sorted(parlamentares_vagos, - key=lambda x: unicodedata.normalize('NFKD', x.nome_parlamentar) - .encode('ASCII', 'ignore').decode()) + org_parlamentares_vagos = parlamentares_vagos + org_parlamentares_vagos.sort(key=lambda x: remover_acentos(x.nome_parlamentar)) org_parlamentares_vagos = [p for p in org_parlamentares_vagos if p.ativo] # Se todos os cargos estiverem ocupados, a listagem de parlamentares # deve ser renderizada vazia @@ -1049,10 +1046,10 @@ def atualizar_mesa(request): lista_composicao = [(c.id, c.parlamentar.__str__(), c.cargo.__str__()) for c in composicao_mesa] lista_parlamentares = [( - p.id, unicodedata.normalize('NFKD', p.__str__()).encode('ASCII', 'ignore').decode()) + p.id, p.nome_parlamentar) for p in parlamentares_vagos if p.ativo] lista_cargos = [(c.id, c.__str__()) for c in cargos_vagos] - lista_parlamentares.sort(key=itemgetter(1)) + lista_parlamentares.sort(key=lambda x: remover_acentos(x[1])) return JsonResponse( {'lista_composicao': lista_composicao, diff --git a/sapl/utils.py b/sapl/utils.py index 8045f0e0b..69ea53dfc 100644 --- a/sapl/utils.py +++ b/sapl/utils.py @@ -735,5 +735,4 @@ def RemoveTag(texto): 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 + return unicodedata.normalize('NFKD', string).encode('ASCII', 'ignore').decode() \ No newline at end of file