From 8e104d311e0cbd1b78adcc52f9915e2ef22d8772 Mon Sep 17 00:00:00 2001 From: Eduardo Calil Date: Mon, 17 Apr 2017 15:44:06 -0300 Subject: [PATCH] Inicia o bug fix --- sapl/parlamentares/urls.py | 6 +- sapl/parlamentares/views.py | 32 +++++++++++ .../parlamentares/composicaomesa_form.html | 56 +++++++++++++++++-- 3 files changed, 87 insertions(+), 7 deletions(-) diff --git a/sapl/parlamentares/urls.py b/sapl/parlamentares/urls.py index 1d9885053..ff770d041 100644 --- a/sapl/parlamentares/urls.py +++ b/sapl/parlamentares/urls.py @@ -1,6 +1,7 @@ from django.conf.urls import include, url -from sapl.parlamentares.views import (CargoMesaCrud, ColigacaoCrud, +from sapl.parlamentares.views import (altera_legislatura_mesa, + CargoMesaCrud, ColigacaoCrud, ComposicaoColigacaoCrud, DependenteCrud, FiliacaoCrud, FrenteCrud, FrenteList, LegislaturaCrud, MandatoCrud, @@ -51,4 +52,7 @@ urlpatterns = [ url(r'^mesa-diretora/$', MesaDiretoraView.as_view(), name='mesa_diretora'), + + url(r'^mesa-diretora/altera-legislatura/$', + altera_legislatura_mesa, name='altera_legislatura_mesa'), ] diff --git a/sapl/parlamentares/views.py b/sapl/parlamentares/views.py index d703e1c2c..5a7dc8ec5 100644 --- a/sapl/parlamentares/views.py +++ b/sapl/parlamentares/views.py @@ -2,6 +2,7 @@ from django.contrib import messages from django.core.exceptions import ObjectDoesNotExist from django.core.urlresolvers import reverse, reverse_lazy from django.db.models import F +from django.http import JsonResponse from django.http.response import HttpResponseRedirect from django.utils.datastructures import MultiValueDictKeyError from django.utils.translation import ugettext_lazy as _ @@ -512,3 +513,34 @@ class MesaDiretoraView(FormView): 'parlamentares': parlamentares_vagos, 'cargos_vagos': cargos_vagos }) + + +def altera_legislatura_mesa(request): + sessao = SessaoLegislativa.objects.filter( + legislatura=request.GET['legislatura']).order_by('-data_inicio') + + composicao_mesa = ComposicaoMesa.objects.filter( + sessao_legislativa=sessao[0]) + + cargos_ocupados = [m.cargo for m in composicao_mesa] + cargos = CargoMesa.objects.all() + cargos_vagos = list(set(cargos) - set(cargos_ocupados)) + + parlamentares = Legislatura.objects.get( + id=request.GET['legislatura']).mandato_set.all() + parlamentares_ocupados = [m.parlamentar for m in composicao_mesa] + parlamentares_vagos = list( + set( + [p.parlamentar for p in parlamentares]) - set( + parlamentares_ocupados)) + + lista_sessoes = [(s.id, s.__str__()) for s in sessao] + lista_composicao = [(c.id, c.__str__()) for c in composicao_mesa] + lista_parlamentares = [(p.id, p.__str__()) for p in parlamentares_vagos] + lista_cargos = [(c.id, c.__str__()) for c in cargos_vagos] + + return JsonResponse( + {'lista_sessoes': lista_sessoes, + 'lista_composicao': lista_composicao, + 'lista_parlamentares': lista_parlamentares, + 'lista_cargos': lista_cargos}) diff --git a/sapl/templates/parlamentares/composicaomesa_form.html b/sapl/templates/parlamentares/composicaomesa_form.html index af261facc..6bd169023 100644 --- a/sapl/templates/parlamentares/composicaomesa_form.html +++ b/sapl/templates/parlamentares/composicaomesa_form.html @@ -16,7 +16,7 @@
- {% for l in legislaturas %}
- {% for s in sessoes %}