From 5317216b65a1e422f8d8de8ba436efa4fee52169 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Pedro=20Sconetto?= Date: Mon, 9 Oct 2017 09:09:35 -0300 Subject: [PATCH] =?UTF-8?q?Move=20a=20fun=C3=A7=C3=A3o=20para=20utils=20on?= =?UTF-8?q?de=20pode=20ser=20utilizada=20em=20diversas=20parte=20do=20sist?= =?UTF-8?q?ema?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sapl/painel/views.py | 9 ++------- sapl/utils.py | 12 ++++++++++++ 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/sapl/painel/views.py b/sapl/painel/views.py index 83a3b3926..29e91b7de 100644 --- a/sapl/painel/views.py +++ b/sapl/painel/views.py @@ -1,4 +1,3 @@ - from django.contrib import messages from django.contrib.auth.decorators import user_passes_test from django.core.exceptions import ObjectDoesNotExist @@ -9,6 +8,7 @@ from django.http.response import Http404, HttpResponseRedirect from django.shortcuts import render from django.utils.translation import ugettext_lazy as _ from operator import itemgetter +from sapl.utils import sort_lista_chave from sapl.crud.base import Crud from sapl.painel.apps import AppConfig @@ -258,11 +258,6 @@ def get_materia_aberta(pk): sessao_plenaria_id=pk, votacao_aberta=True).last() -def sort_nome_parlamentar(lista): - lista_ordenada = sorted(lista, key=itemgetter('nome')) - return lista_ordenada - - def get_presentes(pk, response, materia): if type(materia) == OrdemDia: presentes = PresencaOrdemDia.objects.filter( @@ -298,7 +293,7 @@ def get_presentes(pk, response, materia): elif materia.tipo_votacao == 3: tipo_votacao = 'Secreta' - presentes_list = sort_nome_parlamentar(presentes_list) + presentes_list = sort_lista_chave(presentes_list, 'nome') response.update({ 'presentes': presentes_list, diff --git a/sapl/utils.py b/sapl/utils.py index 7afa00d1a..37e5711d3 100644 --- a/sapl/utils.py +++ b/sapl/utils.py @@ -4,6 +4,7 @@ import os import re from functools import wraps from unicodedata import normalize as unicodedata_normalize +from operator import itemgetter import django_filters import magic @@ -651,3 +652,14 @@ def show_results_filter_set(qr): return False return True + + +def sort_lista_chave(lista, chave): + """ + :param lista: Uma list a ser ordenada . + :param chave: Algum atributo (chave) que está presente na lista e qual deve ser usado para a ordenação da nova + lista. + :return: A lista ordenada pela chave passada. + """ + lista_ordenada = sorted(lista, key=itemgetter(chave)) + return lista_ordenada