diff --git a/sapl/sessao/forms.py b/sapl/sessao/forms.py index 73ac911f0..c78bbd1a5 100644 --- a/sapl/sessao/forms.py +++ b/sapl/sessao/forms.py @@ -22,7 +22,8 @@ from sapl.materia.models import (MateriaLegislativa, StatusTramitacao, from sapl.parlamentares.models import Mandato, Parlamentar from sapl.protocoloadm.models import TipoDocumentoAdministrativo,\ DocumentoAdministrativo -from sapl.sessao.models import Correspondencia +from sapl.sessao.models import Correspondencia, AbstractOrdemDia + from sapl.utils import (autor_label, autor_modal, choice_anos_com_sessaoplenaria, FileFieldCheckMixin, @@ -563,6 +564,22 @@ class SessaoPlenariaFilterSet(django_filters.FilterSet): ) +class AdicionarVariasMateriasForm(forms.Form): + todos = forms.BooleanField( + label='Marcar/Desmarcar Todos', + required=False, + widget=forms.CheckboxInput( + attrs={'onchange':'checkAll(this)'}), + ) + + tipo_votacao = forms.ChoiceField(required=False, + choices= AbstractOrdemDia.TIPO_VOTACAO_CHOICES, + initial=False, + widget=forms.RadioSelect( + attrs={'onchange':'marcaTipoVotacao()'}), + ) + + class AdicionarVariasMateriasFilterSet(MateriaLegislativaFilterSet): o = MateriaPesquisaOrderingFilter() diff --git a/sapl/sessao/views.py b/sapl/sessao/views.py index 4835a17b6..7d8ec4bd1 100755 --- a/sapl/sessao/views.py +++ b/sapl/sessao/views.py @@ -48,7 +48,7 @@ from sapl.settings import TIME_ZONE from sapl.utils import show_results_filter_set, remover_acentos, get_client_ip,\ MultiFormatOutputMixin, PautaMultiFormatOutputMixin -from .forms import (AdicionarVariasMateriasFilterSet, BancadaForm, +from .forms import (AdicionarVariasMateriasFilterSet, AdicionarVariasMateriasForm, BancadaForm, ExpedienteForm, JustificativaAusenciaForm, OcorrenciaSessaoForm, ListMateriaForm, MesaForm, OradorExpedienteForm, OradorForm, PautaSessaoFilterSet, PresencaForm, ResumoOrdenacaoForm, SessaoPlenariaFilterSet, @@ -4174,6 +4174,8 @@ class AdicionarVariasMateriasExpediente(PermissionRequiredForAppCrudMixin, qr = self.request.GET.copy() + form = AdicionarVariasMateriasForm + context['form'] = form context['filter_url'] = ('&' + qr.urlencode()) if len(qr) > 0 else '' context['pk_sessao'] = self.kwargs['pk'] diff --git a/sapl/templates/sessao/adicionar_varias_materias_expediente.html b/sapl/templates/sessao/adicionar_varias_materias_expediente.html index 76cf600b4..4fd066709 100644 --- a/sapl/templates/sessao/adicionar_varias_materias_expediente.html +++ b/sapl/templates/sessao/adicionar_varias_materias_expediente.html @@ -38,6 +38,16 @@ {% elif paginator.count == 1 %}

{% trans 'Pesquisa concluída com sucesso! Foi encontrada 1 matéria.'%}

{% endif %} + + + {{ form.todos }} {{ form.todos.label }} + + + {% for tipo in form.tipo_votacao %} + {{ tipo }}
+ {% endfor %} + + {% for m in page_obj %} @@ -126,5 +136,17 @@ $(window).on('beforeunload', function() { $("input[type=submit], input[type=button]").prop("disabled", "disabled") }); + + function checkAll(elem) { + $('input[name="materia_id"]:checkbox').prop('checked', elem.checked); + } + + function marcaTipoVotacao() { + $('input[name="materia_id"]:checked').each(function() { + var tipoVotacao = $('input[name="tipo_votacao"]:checked').val(); + var idMateria = "#tipo_votacao_" + $(this).val() + "_" + tipoVotacao; + $(idMateria).prop('checked', true); + }); + } {% endblock extra_js %}