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 re import sub
from operator import itemgetter from operator import itemgetter
from django.contrib import messages from django.contrib import messages
from django.contrib.auth.decorators import permission_required from django.contrib.auth.decorators import permission_required
from django.contrib.auth.mixins import PermissionRequiredMixin 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.core.urlresolvers import reverse
from django.db.models import Max, Q from django.db.models import Max, Q
from django.forms.utils import ErrorList from django.forms.utils import ErrorList
@ -991,10 +990,8 @@ class MesaView(FormMixin, DetailView):
set( set(
[p.parlamentar for p in parlamentares]) - set( [p.parlamentar for p in parlamentares]) - set(
parlamentares_ocupados)) parlamentares_ocupados))
org_parlamentares_vagos = parlamentares_vagos
org_parlamentares_vagos = sorted(parlamentares_vagos, org_parlamentares_vagos.sort(key=lambda x: remover_acentos(x.nome_parlamentar))
key=lambda x: unicodedata.normalize('NFKD', x.nome_parlamentar)
.encode('ASCII', 'ignore').decode())
org_parlamentares_vagos = [p for p in org_parlamentares_vagos if p.ativo] org_parlamentares_vagos = [p for p in org_parlamentares_vagos if p.ativo]
# Se todos os cargos estiverem ocupados, a listagem de parlamentares # Se todos os cargos estiverem ocupados, a listagem de parlamentares
# deve ser renderizada vazia # deve ser renderizada vazia
@ -1049,10 +1046,10 @@ def atualizar_mesa(request):
lista_composicao = [(c.id, c.parlamentar.__str__(), lista_composicao = [(c.id, c.parlamentar.__str__(),
c.cargo.__str__()) for c in composicao_mesa] c.cargo.__str__()) for c in composicao_mesa]
lista_parlamentares = [( 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] for p in parlamentares_vagos if p.ativo]
lista_cargos = [(c.id, c.__str__()) for c in cargos_vagos] 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( return JsonResponse(
{'lista_composicao': lista_composicao, {'lista_composicao': lista_composicao,

3
sapl/utils.py

@ -735,5 +735,4 @@ def RemoveTag(texto):
return textoSaida return textoSaida
def remover_acentos(string): def remover_acentos(string):
return ''.join([c for c in unicodedata.normalize('NFD', string) return unicodedata.normalize('NFKD', string).encode('ASCII', 'ignore').decode()
if unicodedata.category(c) != 'Mn'])
Loading…
Cancel
Save