Browse Source

Adiciona lógica para aparecer ou esconder caixa de seleção de parlamentares

pull/1267/head
Eduardo Calil 9 years ago
parent
commit
827aa3935e
  1. 28
      sapl/parlamentares/views.py
  2. 84
      sapl/templates/parlamentares/frente_form.html

28
sapl/parlamentares/views.py

@ -38,9 +38,6 @@ NivelInstrucaoCrud = CrudAux.build(NivelInstrucao, 'nivel_instrucao')
TipoAfastamentoCrud = CrudAux.build(TipoAfastamento, 'tipo_afastamento') TipoAfastamentoCrud = CrudAux.build(TipoAfastamento, 'tipo_afastamento')
TipoMilitarCrud = CrudAux.build(SituacaoMilitar, 'tipo_situa_militar') TipoMilitarCrud = CrudAux.build(SituacaoMilitar, 'tipo_situa_militar')
FrenteCrud = CrudAux.build(Frente, 'tipo_situa_militar', list_field_names=[
'nome', 'data_criacao', 'parlamentares'])
DependenteCrud = MasterDetailCrud.build( DependenteCrud = MasterDetailCrud.build(
Dependente, 'parlamentar', 'dependente') Dependente, 'parlamentar', 'dependente')
@ -211,6 +208,31 @@ class ColigacaoCrud(CrudAux):
subnav_template_name = 'parlamentares/subnav_coligacao.yaml' subnav_template_name = 'parlamentares/subnav_coligacao.yaml'
def frente_lista_parlamentar(request):
presencas = model.objects.filter(
sessao_plenaria=sessao)
presentes = [p.parlamentar for p in presencas]
mandato = Mandato.objects.filter(
legislatura=legislatura).order_by('parlamentar__nome_parlamentar')
for m in mandato:
if m.parlamentar in presentes:
yield (m.parlamentar, True)
else:
yield (m.parlamentar, False)
class FrenteCrud(CrudAux):
model = Frente
help_path = 'tabelas_auxiliares#tipo_situa_militar'
list_field_names = ['nome', 'data_criacao', 'parlamentares']
# class CreateView(CrudAux.ListView):
# pass
class MandatoCrud(MasterDetailCrud): class MandatoCrud(MasterDetailCrud):
model = Mandato model = Mandato
parent_field = 'parlamentar' parent_field = 'parlamentar'

84
sapl/templates/parlamentares/frente_form.html

@ -9,38 +9,29 @@
<div class="row-fluid"> <div class="row-fluid">
<div class="col-md-12" > <div class="col-md-12" >
<div id="div_id_nome" class="form-group"> {{ form.nome|as_crispy_field }}
{{ form.nome }} </div>
</div>
<div class="controls"> <div class="row-fluid">
<div class="checkbox"> <div class="col-md-6" >
<label for="id_ativos"> {{ form.data_criacao|as_crispy_field }}
<input type="checkbox" name="ativos" id="id_ativos" onchange="escondeInativos()" checked /> Exibir somente parlamentares ativos </div>
</label> <div class="col-md-6" >
{{ form.data_extincao|as_crispy_field }}
</div> </div>
</div> </div>
<br /> <div class="row-fluid">
<div class="col-md-12" >
{{ form.parlamentares|as_crispy_field }}
</div>
</div>
<div class="controls"> <div class="row-fluid">
{% for parlamentar, check in view.get_presencas_ordem %} <div class="col-md-12" >
{% if parlamentar.ativo %} {{ form.descricao|as_crispy_field }}
<div class="checkbox"> </div>
<label for="id_presenca_{{forloop.counter}}">
<input type="checkbox" id="id_presenca_{{forloop.counter}}" name="presenca_ativos" value="{{ parlamentar.id }}" {% if check %} checked {% endif %}/>
{{ parlamentar.nome_parlamentar }} / {{ parlamentar.filiacao_atual }}
</label>
</div>
{% else %}
<div class="checkbox inativos" style="display:none;">
<label for="id_presenca_{{forloop.counter}}">
<input type="checkbox" id="id_presenca_{{forloop.counter}}" name="presenca_inativos" value="{{ parlamentar.id }}" {% if check %} checked {% endif %}/>
{{ parlamentar.nome_parlamentar }} / {{ parlamentar.filiacao_atual }}
</label>
</div>
{% endif %}
{% endfor %}
</div> </div>
<br /> <br />
@ -51,21 +42,32 @@
{% block extra_js %} {% block extra_js %}
<script language="JavaScript"> <script language="JavaScript">
function checkAll(event) { function atualiza_parlamentares() {
$('[name=presenca_ativos]').each(function() { // Coloca para selecao os parlamentares no intervalo informado
$(this).prop('checked', event.target.checked ? 'checked': null); // e somente os ativos, caso seja solicitado
$(this).trigger('click'); // var ativos;
}); var data_criacao = $("#id_data_criacao").val();
if (($('[name=ativos]').is(':checked')) == false) { var data_extincao = $("#id_data_extincao").val();
$('[name=presenca_inativos]').each(function() {
$(this).prop('checked', event.target.checked ? 'checked': null); if (data_criacao == '') {
$(this).trigger('click'); $('#div_id_parlamentares').hide();
}); }
} else{
} $('#div_id_parlamentares').show();
}
function escondeInativos() {
$(".inativos").toggle();
} }
// Fazer a listagem ficar escondida caso não haja data de criacao
// Caso contrario, lista os parlamentares para aquele intervalo
$(document).ready(atualiza_parlamentares());
$("#id_data_criacao").change(function () {
atualiza_parlamentares();
});
$("#id_data_extincao").change(function () {
atualiza_parlamentares();
});
</script> </script>
{% endblock %} {% endblock %}

Loading…
Cancel
Save