Browse Source

Merge 41b5117e0f into 7735e4e2c7

pull/3781/merge
cristian-longhi 1 week ago
committed by GitHub
parent
commit
a77ef45c4b
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 19
      sapl/sessao/forms.py
  2. 4
      sapl/sessao/views.py
  3. 22
      sapl/templates/sessao/adicionar_varias_materias_expediente.html

19
sapl/sessao/forms.py

@ -22,7 +22,8 @@ from sapl.materia.models import (MateriaLegislativa, StatusTramitacao,
from sapl.parlamentares.models import Mandato, Parlamentar from sapl.parlamentares.models import Mandato, Parlamentar
from sapl.protocoloadm.models import TipoDocumentoAdministrativo,\ from sapl.protocoloadm.models import TipoDocumentoAdministrativo,\
DocumentoAdministrativo DocumentoAdministrativo
from sapl.sessao.models import Correspondencia from sapl.sessao.models import Correspondencia, AbstractOrdemDia
from sapl.utils import (autor_label, autor_modal, from sapl.utils import (autor_label, autor_modal,
choice_anos_com_sessaoplenaria, choice_anos_com_sessaoplenaria,
FileFieldCheckMixin, FileFieldCheckMixin,
@ -563,6 +564,22 @@ class SessaoPlenariaFilterSet(django_filters.FilterSet):
) )
class AdicionarVariasMateriasForm(forms.Form):
check_all = 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): class AdicionarVariasMateriasFilterSet(MateriaLegislativaFilterSet):
o = MateriaPesquisaOrderingFilter() o = MateriaPesquisaOrderingFilter()

4
sapl/sessao/views.py

@ -51,7 +51,7 @@ from sapl.settings import TIME_ZONE, RATE_LIMITER_RATE
from sapl.utils import show_results_filter_set, remover_acentos, get_client_ip, \ from sapl.utils import show_results_filter_set, remover_acentos, get_client_ip, \
MultiFormatOutputMixin, PautaMultiFormatOutputMixin, ratelimit_ip MultiFormatOutputMixin, PautaMultiFormatOutputMixin, ratelimit_ip
from .forms import (AdicionarVariasMateriasFilterSet, BancadaForm, from .forms import (AdicionarVariasMateriasFilterSet, AdicionarVariasMateriasForm, BancadaForm,
ExpedienteForm, JustificativaAusenciaForm, OcorrenciaSessaoForm, ListMateriaForm, ExpedienteForm, JustificativaAusenciaForm, OcorrenciaSessaoForm, ListMateriaForm,
MesaForm, OradorExpedienteForm, OradorForm, PautaSessaoFilterSet, MesaForm, OradorExpedienteForm, OradorForm, PautaSessaoFilterSet,
PresencaForm, ResumoOrdenacaoForm, SessaoPlenariaFilterSet, PresencaForm, ResumoOrdenacaoForm, SessaoPlenariaFilterSet,
@ -4190,6 +4190,8 @@ class AdicionarVariasMateriasExpediente(PermissionRequiredForAppCrudMixin,
qr = self.request.GET.copy() qr = self.request.GET.copy()
form = AdicionarVariasMateriasForm
context['form'] = form
context['filter_url'] = ('&' + qr.urlencode()) if len(qr) > 0 else '' context['filter_url'] = ('&' + qr.urlencode()) if len(qr) > 0 else ''
context['pk_sessao'] = self.kwargs['pk'] context['pk_sessao'] = self.kwargs['pk']

22
sapl/templates/sessao/adicionar_varias_materias_expediente.html

@ -38,6 +38,16 @@
{% elif paginator.count == 1 %} {% elif paginator.count == 1 %}
<h3>{% trans 'Pesquisa concluída com sucesso! Foi encontrada 1 matéria.'%}</h3> <h3>{% trans 'Pesquisa concluída com sucesso! Foi encontrada 1 matéria.'%}</h3>
{% endif %} {% endif %}
<tr>
<td>
{{ form.check_all }} {{ form.check_all.label }}
</td>
<td>
{% for tipo in form.tipo_votacao %}
{{ tipo }}<br />
{% endfor %}
</td>
</tr>
{% for m in page_obj %} {% for m in page_obj %}
<tr> <tr>
<td> <td>
@ -126,5 +136,17 @@
$(window).on('beforeunload', function() { $(window).on('beforeunload', function() {
$("input[type=submit], input[type=button]").prop("disabled", "disabled") $("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);
});
}
</script> </script>
{% endblock extra_js %} {% endblock extra_js %}

Loading…
Cancel
Save