Skip to content

Commit d92cdb7

Browse files
cristian-longhirootedwardoliveira
authored
Seleciona tipo de votação para múltiplas matérias ao incluir na Ordem do Dia ou Expediente (#3781)
* Seleciona tipo de votação para múltiplas matérias ao incluir na Ordem do Dia ou Expediente * Ajustes solicitados na seleção de múltiplas Matérias para Ordem/Expediente * Update adicionar_varias_materias_expediente.html * Fix read-only mount on k8s * Fix recibo proposição e adiciona rate limiter em matéria e norma * Update forms.py Alteração do nome do campo todos, conforme solicitação. * Update adicionar_varias_materias_expediente.html Ajuste no template por alteração do nome do campo "todos". * Fix recibo proposição e adiciona rate limiter em matéria e norma --------- Co-authored-by: root <root@info38.camaranh> Co-authored-by: Edward Oliveira <edwardr@senado.gov.br> Co-authored-by: Edward <9326037+edwardoliveira@users.noreply.github.com>
1 parent 592d23e commit d92cdb7

File tree

3 files changed

+43
-2
lines changed

3 files changed

+43
-2
lines changed

sapl/sessao/forms.py

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@
2222
from sapl.parlamentares.models import Mandato, Parlamentar
2323
from sapl.protocoloadm.models import TipoDocumentoAdministrativo,\
2424
DocumentoAdministrativo
25-
from sapl.sessao.models import Correspondencia
25+
from sapl.sessao.models import Correspondencia, AbstractOrdemDia
26+
2627
from sapl.utils import (autor_label, autor_modal,
2728
choice_anos_com_sessaoplenaria,
2829
FileFieldCheckMixin,
@@ -563,6 +564,22 @@ def __init__(self, *args, **kwargs):
563564
)
564565

565566

567+
class AdicionarVariasMateriasForm(forms.Form):
568+
check_all = forms.BooleanField(
569+
label='Marcar/Desmarcar Todos',
570+
required=False,
571+
widget=forms.CheckboxInput(
572+
attrs={'onchange':'checkAll(this)'}),
573+
)
574+
575+
tipo_votacao = forms.ChoiceField(required=False,
576+
choices= AbstractOrdemDia.TIPO_VOTACAO_CHOICES,
577+
initial=False,
578+
widget=forms.RadioSelect(
579+
attrs={'onchange':'marcaTipoVotacao()'}),
580+
)
581+
582+
566583
class AdicionarVariasMateriasFilterSet(MateriaLegislativaFilterSet):
567584

568585
o = MateriaPesquisaOrderingFilter()

sapl/sessao/views.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
from sapl.utils import show_results_filter_set, remover_acentos, get_client_ip, \
5252
MultiFormatOutputMixin, PautaMultiFormatOutputMixin, ratelimit_ip
5353

54-
from .forms import (AdicionarVariasMateriasFilterSet, BancadaForm,
54+
from .forms import (AdicionarVariasMateriasFilterSet, AdicionarVariasMateriasForm, BancadaForm,
5555
ExpedienteForm, JustificativaAusenciaForm, OcorrenciaSessaoForm, ListMateriaForm,
5656
MesaForm, OradorExpedienteForm, OradorForm, PautaSessaoFilterSet,
5757
PresencaForm, ResumoOrdenacaoForm, SessaoPlenariaFilterSet,
@@ -4190,6 +4190,8 @@ def get_context_data(self, **kwargs):
41904190

41914191
qr = self.request.GET.copy()
41924192

4193+
form = AdicionarVariasMateriasForm
4194+
context['form'] = form
41934195
context['filter_url'] = ('&' + qr.urlencode()) if len(qr) > 0 else ''
41944196
context['pk_sessao'] = self.kwargs['pk']
41954197

sapl/templates/sessao/adicionar_varias_materias_expediente.html

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,16 @@ <h3>{% blocktrans with paginator.count as total_materias %}Pesquisa concluída c
3838
{% elif paginator.count == 1 %}
3939
<h3>{% trans 'Pesquisa concluída com sucesso! Foi encontrada 1 matéria.'%}</h3>
4040
{% endif %}
41+
<tr>
42+
<td>
43+
{{ form.check_all }} {{ form.check_all.label }}
44+
</td>
45+
<td>
46+
{% for tipo in form.tipo_votacao %}
47+
{{ tipo }}<br />
48+
{% endfor %}
49+
</td>
50+
</tr>
4151
{% for m in page_obj %}
4252
<tr>
4353
<td>
@@ -126,5 +136,17 @@ <h3>{% trans 'Pesquisa concluída com sucesso! Foi encontrada 1 matéria.'%}</h3
126136
$(window).on('beforeunload', function() {
127137
$("input[type=submit], input[type=button]").prop("disabled", "disabled")
128138
});
139+
140+
function checkAll(elem) {
141+
$('input[name="materia_id"]:checkbox').prop('checked', elem.checked);
142+
}
143+
144+
function marcaTipoVotacao() {
145+
$('input[name="materia_id"]:checked').each(function() {
146+
var tipoVotacao = $('input[name="tipo_votacao"]:checked').val();
147+
var idMateria = "#tipo_votacao_" + $(this).val() + "_" + tipoVotacao;
148+
$(idMateria).prop('checked', true);
149+
});
150+
}
129151
</script>
130152
{% endblock extra_js %}

0 commit comments

Comments
 (0)