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():
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):
return queryset.filter(

10
sapl/norma/forms.py

@ -1,6 +1,6 @@
import logging
from crispy_forms.layout import Fieldset, Layout
from crispy_forms.layout import Fieldset, Layout, HTML
from django import forms
from django.core.exceptions import ObjectDoesNotExist, ValidationError
from django.db import models
@ -265,11 +265,17 @@ class AutoriaNormaForm(ModelForm):
row1 = to_row([('tipo_autor', 4),
('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.layout = Layout(
Fieldset(_('Autoria'),
row1, 'data_relativa', form_actions(label='Salvar')))
row1, 'data_relativa',
form_actions(label='Salvar'),
row2))
if not kwargs['instance']:
self.fields['autor'].choices = []

16
sapl/templates/norma/autorianorma_form.html

@ -15,14 +15,16 @@
}
$(document).ready(function() {
$("#id_tipo_autor").change(function() {
function atualiza_select_autor() {
var tipo_selecionado = $("#id_tipo_autor").val();
var autor_selecionado = $("#id_autor").val();
$("#id_autor option").remove()
if (tipo_selecionado !== undefined && tipo_selecionado !== null) {
var json_data = {
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){
if (data) {
@ -39,7 +41,15 @@
$("#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');
});

Loading…
Cancel
Save