Browse Source

Adiciona parlamentares antigos em Norma

Permite adicionar parlamentares da legislatura anterior
como autor de norma da legislatura vigente.
pull/3392/head
eribeiro 4 years ago
parent
commit
71544d8069
  1. 11
      sapl/api/deprecated.py
  2. 10
      sapl/norma/forms.py
  3. 16
      sapl/templates/norma/autorianorma_form.html

11
sapl/api/deprecated.py

@ -210,7 +210,16 @@ class AutoresPossiveisFilterSet(FilterSet):
if legislatura_relativa.atual(): if legislatura_relativa.atual():
q = q & Q(parlamentar_set__ativo=True) q = q & Q(parlamentar_set__ativo=True)
return queryset.filter(q) legislatura_anterior = self.request.GET.get('legislatura_anterior', 'False')
if legislatura_anterior.lower() == 'true':
legislaturas = Legislatura.objects.filter(
data_fim__lte=data_relativa).order_by('-data_fim')[:2]
if len(legislaturas) == 2:
_, leg_anterior = legislaturas
q = q | Q(parlamentar_set__mandato__data_inicio_mandato__gte=leg_anterior.data_inicio)
qs = queryset.filter(q)
return qs
def filter_comissao(self, queryset, data_relativa): def filter_comissao(self, queryset, data_relativa):
return queryset.filter( return queryset.filter(

10
sapl/norma/forms.py

@ -1,6 +1,6 @@
import logging import logging
from crispy_forms.layout import Fieldset, Layout from crispy_forms.layout import Fieldset, Layout, HTML
from django import forms from django import forms
from django.core.exceptions import ObjectDoesNotExist, ValidationError from django.core.exceptions import ObjectDoesNotExist, ValidationError
from django.db import models from django.db import models
@ -265,11 +265,17 @@ class AutoriaNormaForm(ModelForm):
row1 = to_row([('tipo_autor', 4), row1 = to_row([('tipo_autor', 4),
('autor', 4), ('autor', 4),
('primeiro_autor', 4)]) ('primeiro_autor', 4)])
row2 = to_row([(HTML('<input id="id_legislatura_anterior" '
'type="checkbox">Incluir parlamentares '
'da Legislatura anterior (válido somente para '
'autores do tipo parlamentar)'), 12)])
self.helper = SaplFormHelper() self.helper = SaplFormHelper()
self.helper.layout = Layout( self.helper.layout = Layout(
Fieldset(_('Autoria'), Fieldset(_('Autoria'),
row1, 'data_relativa', form_actions(label='Salvar'))) row1, 'data_relativa',
form_actions(label='Salvar'),
row2))
if not kwargs['instance']: if not kwargs['instance']:
self.fields['autor'].choices = [] self.fields['autor'].choices = []

16
sapl/templates/norma/autorianorma_form.html

@ -15,14 +15,16 @@
} }
$(document).ready(function() { $(document).ready(function() {
$("#id_tipo_autor").change(function() {
function atualiza_select_autor() {
var tipo_selecionado = $("#id_tipo_autor").val(); var tipo_selecionado = $("#id_tipo_autor").val();
var autor_selecionado = $("#id_autor").val(); var autor_selecionado = $("#id_autor").val();
$("#id_autor option").remove() $("#id_autor option").remove()
if (tipo_selecionado !== undefined && tipo_selecionado !== null) { if (tipo_selecionado !== undefined && tipo_selecionado !== null) {
var json_data = { var json_data = {
tipo : tipo_selecionado, tipo : tipo_selecionado,
data_relativa : $("#id_data_relativa").val() data_relativa : $("#id_data_relativa").val(),
legislatura_anterior: $('#id_legislatura_anterior').is(':checked')
} }
$.getJSON("/api/autor/possiveis", json_data, function(data){ $.getJSON("/api/autor/possiveis", json_data, function(data){
if (data) { if (data) {
@ -39,7 +41,15 @@
$("#id_autor").val(autor_selecionado); $("#id_autor").val(autor_selecionado);
} }
}); });
} }
};
$("#id_legislatura_anterior").change(function() {
atualiza_select_autor();
});
$("#id_tipo_autor").change(function() {
atualiza_select_autor();
}); });
$("#id_tipo_autor").trigger('change'); $("#id_tipo_autor").trigger('change');
}); });

Loading…
Cancel
Save