Browse Source

Refatoração do código fonte

issue#3396
AlGouvea 4 years ago
parent
commit
4d08dafd0a
  1. 74
      sapl/api/views.py

74
sapl/api/views.py

@ -34,7 +34,7 @@ from sapl.parlamentares.models import Parlamentar
from sapl.protocoloadm.models import DocumentoAdministrativo,\ from sapl.protocoloadm.models import DocumentoAdministrativo,\
DocumentoAcessorioAdministrativo, TramitacaoAdministrativo, Anexado DocumentoAcessorioAdministrativo, TramitacaoAdministrativo, Anexado
from sapl.sessao.models import SessaoPlenaria, ExpedienteSessao from sapl.sessao.models import SessaoPlenaria, ExpedienteSessao
from sapl.utils import models_with_gr_for_model, choice_anos_com_sessaoplenaria from sapl.utils import models_with_gr_for_model, choice_anos_com_sessaoplenaria, get_base_url
from sapl.parlamentares.models import (ComposicaoMesa, SessaoLegislativa) from sapl.parlamentares.models import (ComposicaoMesa, SessaoLegislativa)
from sapl.parlamentares.views import (partido_parlamentar_sessao_legislativa) from sapl.parlamentares.views import (partido_parlamentar_sessao_legislativa)
@ -55,69 +55,35 @@ def recria_token(request, pk):
def get_mesa_diretora(request): def get_mesa_diretora(request):
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
username = request.user.username
legislatura = request.GET.get('legislatura')
if legislatura:
legislatura = Legislatura.objects.get(id=legislatura)
else:
legislatura = Legislatura.objects.order_by('-data_inicio').first()
sessoes = legislatura.sessaolegislativa_set.filter(
tipo='O').order_by('-data_inicio')
if not sessoes:
return JsonResponse({'msg': ('Nenhuma sessão encontrada!', 0)})
sessao_selecionada = request.GET.get('sessao') kwargs = {}
if not sessao_selecionada:
try:
year = timezone.now().year
logger.info(
f"user={username}. Tentando obter sessões com data_inicio.ano = {year}.")
sessao_selecionada = sessoes.get(data_inicio__year=year).id
except ObjectDoesNotExist:
logger.error(f"user={username}. Sessões não encontradas com com data_inicio.ano = {year}. "
"Selecionado o id da primeira sessão.")
sessao_selecionada = sessoes.first().id
# Atualiza os componentes da view após a mudança
lista_sessoes = [(s.id, s.__str__()) for s in sessoes]
composicao_mesa = ComposicaoMesa.objects.select_related('cargo', 'parlamentar').filter( legislatura = request.GET.get('legislatura')
sessao_legislativa=sessao_selecionada).order_by('cargo_id') if legislatura:
kwargs['legislatura_id'] = legislatura
cargos_ocupados = list(composicao_mesa.values_list( sessao = request.GET.get('sessao')
'cargo__id', 'cargo__descricao')) if sessao:
parlamentares_ocupados = list(composicao_mesa.values_list( kwargs['id'] = sessao
'parlamentar__id', 'parlamentar__nome_parlamentar'))
lista_fotos = [] sessao_legislativa = SessaoLegislativa.objects.filter(**kwargs).order_by('-data_inicio').first()
lista_partidos = []
sessao = SessaoLegislativa.objects.get(id=sessao_selecionada) query_legislatura = Legislatura.objects.filter(id=legislatura).order_by('-data_inicio').first()
for p in parlamentares_ocupados:
parlamentar = Parlamentar.objects.get(id=p[0])
if parlamentar.fotografia:
lista_fotos.append({parlamentar.fotografia.path})
else:
lista_fotos.append(None)
membros_da_mesa = [] composicao_mesa = ComposicaoMesa.objects.select_related('parlamentar', 'cargo').all().filter(
sessao_legislativa=sessao_legislativa).order_by('cargo_id')
for x in range(0, len(parlamentares_ocupados)): mesa_diretora = [{'legislatura_id':query_legislatura.id,'legislatura':str(query_legislatura),
membro_atual = {} 'sessao_legislativa_id':sessao_legislativa.id,'sessao_legislativa':str(sessao_legislativa),
membro_atual['lesgilatura_id'] = legislatura.id 'parlamentar_id':i[0], 'parlamentar_nome':i[1], 'cargo_id':i[2], 'cargo_descricao':i[3]}
membro_atual['sessao_legislativa_id'] = sessao.id for i in composicao_mesa.values_list('parlamentar_id', 'parlamentar__nome_parlamentar',
membro_atual['cargo_id'] = cargos_ocupados[x][0] 'cargo_id', 'cargo__descricao')]
membro_atual['cargo_descricao'] = cargos_ocupados[x][1]
membro_atual['parlamentar_id'] = parlamentares_ocupados[x][0]
membro_atual['nome_parlamentar'] = parlamentares_ocupados[x][1]
membros_da_mesa.append(membro_atual) for i, c in enumerate(composicao_mesa):
mesa_diretora[i]['fotografia'] = get_base_url(request) + c.parlamentar.fotografia.url
return JsonResponse({ return JsonResponse({
'mesa_diretora':membros_da_mesa, 'mesa_diretora':mesa_diretora,
}) })

Loading…
Cancel
Save