Browse Source

mudanças requeridas

pull/1137/head
cristian-longhi 9 years ago
parent
commit
d32e0af952
  1. 68
      sapl/sessao/views.py
  2. 56
      sapl/templates/sessao/presenca.html
  3. 49
      sapl/templates/sessao/presenca_ordemdia.html

68
sapl/sessao/views.py

@ -29,7 +29,7 @@ from sapl.materia.models import (Autoria, DocumentoAcessorio,
from sapl.materia.views import MateriaLegislativaPesquisaView
from sapl.norma.models import NormaJuridica
from sapl.parlamentares.models import (Filiacao, Legislatura, Parlamentar,
SessaoLegislativa, Mandato) ###
SessaoLegislativa, Mandato)
from sapl.sessao.apps import AppConfig
from sapl.sessao.forms import ExpedienteMateriaForm, OrdemDiaForm
@ -533,7 +533,7 @@ class SessaoPermissionMixin(PermissionRequiredForAppCrudMixin,
class PresencaMixin:
def get_presencas_demais(self):
def get_presencas(self):
self.object = self.get_object()
presencas = SessaoPlenariaPresenca.objects.filter(
@ -547,53 +547,12 @@ class PresencaMixin:
mandato_parlamentar = [p.parlamentar for p in mandato]
for parlamentar in mandato_parlamentar:
if parlamentar in Parlamentar.objects.filter(ativo=False):
if parlamentar in presentes:
yield (parlamentar, True)
else:
yield (parlamentar, False)
def get_presencas_ativos(self):
self.object = self.get_object()
presencas = SessaoPlenariaPresenca.objects.filter(
sessao_plenaria_id=self.object.id
)
presentes = [p.parlamentar for p in presencas]
mandato = Mandato.objects.filter(
legislatura_id=self.object.legislatura_id)
mandato_parlamentar = [p.parlamentar for p in mandato]
for parlamentar in mandato_parlamentar:
if parlamentar in Parlamentar.objects.filter(ativo=True):
if parlamentar in presentes:
yield (parlamentar, True)
else:
yield (parlamentar, False)
def get_presencas_ordem_demais(self):
self.object = self.get_object()
presencas = PresencaOrdemDia.objects.filter(
sessao_plenaria_id=self.object.id
)
presentes = [p.parlamentar for p in presencas]
mandato = Mandato.objects.filter(
legislatura_id=self.object.legislatura_id)
mandato_parlamentar = [p.parlamentar for p in mandato]
for parlamentar in mandato_parlamentar:
if parlamentar in Parlamentar.objects.filter(ativo=False):
if parlamentar in presentes:
yield (parlamentar, True)
else:
yield (parlamentar, False)
if parlamentar in presentes:
yield (parlamentar, True)
else:
yield (parlamentar, False)
def get_presencas_ordem_ativos(self):
def get_presencas_ordem(self):
self.object = self.get_object()
presencas = PresencaOrdemDia.objects.filter(
@ -607,11 +566,10 @@ class PresencaMixin:
mandato_parlamentar = [p.parlamentar for p in mandato]
for parlamentar in mandato_parlamentar:
if parlamentar in Parlamentar.objects.filter(ativo=True):
if parlamentar in presentes:
yield (parlamentar, True)
else:
yield (parlamentar, False)
if parlamentar in presentes:
yield (parlamentar, True)
else:
yield (parlamentar, False)
class PresencaView(FormMixin, PresencaMixin, DetailView):
@ -637,7 +595,7 @@ class PresencaView(FormMixin, PresencaMixin, DetailView):
sessao_plenaria_id=self.object.id)
# Id dos parlamentares presentes
marcados = request.POST.getlist('presenca_ativos') + request.POST.getlist('presenca_demais')
marcados = request.POST.getlist('presenca_ativos') + request.POST.getlist('presenca_inativos')
# Deletar os que foram desmarcadors
deletar = set(set(presentes_banco) - set(marcados))
@ -745,7 +703,7 @@ class PresencaOrdemDiaView(FormMixin, PresencaMixin, DetailView):
sessao_plenaria_id=pk)
# Id dos parlamentares presentes
marcados = request.POST.getlist('presenca_ativos') + request.POST.getlist('presenca_demais')
marcados = request.POST.getlist('presenca_ativos') + request.POST.getlist('presenca_inativos')
# Deletar os que foram desmarcadors
deletar = set(set(presentes_banco) - set(marcados))

56
sapl/templates/sessao/presenca.html

@ -27,35 +27,29 @@
</div>
</div>
<br />
<div id="ativos">
<div class="controls">
{% for parlamentar, check in view.get_presencas_ativos %}
<div class="checkbox">
<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>
{% endfor %}
</div>
</div>
<div id="demais" style="display:none;">
<div class="controls">
{% for parlamentar, check in view.get_presencas_demais %}
<div class="checkbox">
<label for="id_presenca_{{forloop.counter}}">
<input type="checkbox" id="id_presenca_{{forloop.counter}}" name="presenca_demais" value="{{ parlamentar.id }}" {% if check %} checked {% endif %}/>
{{ parlamentar.nome_parlamentar }} / {{ parlamentar.filiacao_atual }}
</label>
</div>
{% endfor %}
</div>
</div>
<br />
<div class="controls">
{% for parlamentar, check in view.get_presencas %}
{% if parlamentar.ativo %}
<div class="checkbox">
<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>
<br />
<input type="submit" value="Salvar" class="btn btn-primary" />
</form>
@ -86,7 +80,7 @@
$(this).trigger('click');
});
if (($('[name=ativos]').is(':checked')) == false) {
$('[name=presenca_demais]').each(function() {
$('[name=presenca_inativos]').each(function() {
$(this).prop('checked', event.target.checked ? 'checked': null);
$(this).trigger('click');
});
@ -95,11 +89,7 @@
}
function escondeInativos() {
if ($('[name=ativos]').is(':checked')) {
document.getElementById("demais").style.display = 'none';
} else {
document.getElementById("demais").style.display = 'block';
}
$(".inativos").toggle();
}
</script>
{% endblock %}

49
sapl/templates/sessao/presenca_ordemdia.html

@ -30,32 +30,25 @@
<br />
<div id="ativos">
<div class="controls">
{% for parlamentar, check in view.get_presencas_ordem_ativos %}
<div class="checkbox">
<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>
{% endfor %}
{% for parlamentar, check in view.get_presencas_ordem %}
{% if parlamentar.ativo %}
<div class="checkbox">
<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>
<div id="demais" style="display:none;">
<div class="controls">
{% for parlamentar, check in view.get_presencas_ordem_demais %}
<div class="checkbox">
<label for="id_presenca_{{forloop.counter}}">
<input type="checkbox" id="id_presenca_{{forloop.counter}}" name="presenca_demais" value="{{ parlamentar.id }}" {% if check %} checked {% endif %}/>
{{ parlamentar.nome_parlamentar }} / {{ parlamentar.filiacao_atual }}
</label>
</div>
{% endfor %}
</div>
</div>
<br />
<input type="submit" value="Salvar" class="btn btn-primary" />
@ -88,7 +81,7 @@
$(this).trigger('click');
});
if (($('[name=ativos]').is(':checked')) == false) {
$('[name=presenca_demais]').each(function() {
$('[name=presenca_inativos]').each(function() {
$(this).prop('checked', event.target.checked ? 'checked': null);
$(this).trigger('click');
});
@ -97,11 +90,7 @@
}
function escondeInativos() {
if ($('[name=ativos]').is(':checked')) {
document.getElementById("demais").style.display = 'none';
} else {
document.getElementById("demais").style.display = 'block';
}
$(".inativos").toggle();
}
</script>
{% endblock %}

Loading…
Cancel
Save