Browse Source

Fix #1874 sem remover acentos

pull/1923/head
VictorFabreF 8 years ago
parent
commit
d5b06f6307
  1. 13
      sapl/sessao/views.py
  2. 3
      sapl/utils.py

13
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,

3
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'])
return unicodedata.normalize('NFKD', string).encode('ASCII', 'ignore').decode()
Loading…
Cancel
Save