Browse Source

Inicia o bug fix

pull/1022/head
Eduardo Calil 9 years ago
parent
commit
8e104d311e
  1. 6
      sapl/parlamentares/urls.py
  2. 32
      sapl/parlamentares/views.py
  3. 56
      sapl/templates/parlamentares/composicaomesa_form.html

6
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'),
]

32
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})

56
sapl/templates/parlamentares/composicaomesa_form.html

@ -16,7 +16,7 @@
<div class="row">
<div class="col-md-6">
<label>Escolha uma Legislatura</label>
<select name="legislatura" class="form-control" onChange="form.submit();">
<select name="legislatura" id="id_legislatura" class="form-control">
{% for l in legislaturas %}
<option value="{{l.id}}" {% if l == legislatura_selecionada %} selected {% endif %}>
{{l}}
@ -26,7 +26,7 @@
</div>
<div class="col-md-6">
<label>Escolha uma Sessão Legislativa</label>
<select name="sessao" class="form-control" onChange="form.submit();">
<select name="sessao" id="id_sessao_legislativa" class="form-control" onChange="form.submit();">
{% for s in sessoes %}
<option value="{{s.id}}" {% if s == sessao_selecionada %} selected {% endif %}>
{{s}}
@ -42,7 +42,7 @@
<div class="row">
<div class="col-md-4">
<label>Composição da Mesa Diretora</label>
<select multiple size="5" class="form-control" name="composicao_mesa">
<select multiple size="5" class="form-control" id="id_composicao_mesa" name="composicao_mesa">
{% for p in composicao_mesa %}
<option value="{{p.parlamentar.id}}:{{p.cargo.id}}">
{{p.parlamentar}} || {{p.cargo}}
@ -67,14 +67,14 @@
{% if cargos_vagos %}
<div class="col-md-4">
<label>Parlamentare | Cargo</label>
<select class="form-control" name="parlamentar" id="parlamentar">
<label id='parlamentar-cargo-title'>Parlamentar | Cargo</label>
<select class="form-control" name="parlamentar" id="id_parlamentar">
{% for p in parlamentares %}
<option value="{{p.id}}">{{p.nome_completo}}</option>
{% endfor %}
</select>
<br />
<select class="form-control" name="cargo" id="cargo">
<select class="form-control" name="cargo" id="id_cargo">
{% for c in cargos_vagos %}
<option value="{{c.id}}">{{c}}</option>
{% endfor %}
@ -87,3 +87,47 @@
</form>
{% endif %}
{% endblock detail_content %}
{% block extra_js %}
<script language="Javascript">
function altera_legislatura(){
var id_legislatura = $("#id_legislatura").val();
$("#id_sessao_legislativa option").remove();
$("#id_composicao_mesa option").remove();
$("#id_parlamentar option").remove();
$("#id_cargo option").remove();
$.get("/mesa-diretora/altera-legislatura", {legislatura: id_legislatura}, function(data) {
lista_sessoes = data['lista_sessoes'];
lista_composicao = data['lista_composicao'];
lista_parlamentares = data['lista_parlamentares'];
lista_cargos = data['lista_cargos'];
for (i = 0; i < lista_sessoes.length; i++) {
$('#id_sessao_legislativa').append('<option value="' + lista_sessoes[i][0] + '">' + lista_sessoes[i][1] + '</option>');
}
for (i = 0; i < lista_composicao.length; i++) {
$('#id_composicao_mesa').append('<option value="' + lista_composicao[i][0] + '">' + lista_composicao[i][1] + '</option>');
}
if (lista_parlamentares.length != 0 && lista_cargos.length != 0){
for (i = 0; i < lista_parlamentares.length; i++) {
$('#id_parlamentar').append('<option value="' + lista_parlamentares[i][0] + '">' + lista_parlamentares[i][1] + '</option>');
}
for (i = 0; i < lista_cargos.length; i++) {
$('#id_cargo').append('<option value="' + lista_cargos[i][0] + '">' + lista_cargos[i][1] + '</option>');
}
}
});
}
$("#id_legislatura").change(altera_legislatura);
</script>
{% endblock %}

Loading…
Cancel
Save