Browse Source

Reimplementa a alteração de autoria unitária.

pull/1361/head
LeandroRoberto 7 years ago
parent
commit
811338277d
  1. 33
      sapl/materia/views.py
  2. 9
      sapl/templates/materia/autoria_form.html

33
sapl/materia/views.py

@ -1101,22 +1101,23 @@ class AutoriaCrud(MasterDetailCrud):
initial['autor'] = [] initial['autor'] = []
return initial return initial
def autores_ativos(self): class UpdateView(MasterDetailCrud.UpdateView):
lista_parlamentares = Parlamentar.objects.filter( form_class = AutoriaForm
ativo=True).values_list('id', flat=True)
model_parlamentar = ContentType.objects.get_for_model(Parlamentar) @property
autor_parlamentar = Autor.objects.filter( def layout_key(self):
content_type=model_parlamentar, object_id__in=lista_parlamentares) return 'AutoriaUpdate'
lista_comissoes = Comissao.objects.filter(Q(data_extincao__isnull=True) | Q( def get_initial(self):
data_extincao__gt=date.today())).values_list('id', flat=True) initial = super().get_initial()
model_comissao = ContentType.objects.get_for_model(Comissao) autoria = Autoria.objects.get(id=self.kwargs['pk'])
autor_comissoes = Autor.objects.filter( initial.update({
content_type=model_comissao, object_id__in=lista_comissoes) 'data_relativa': autoria.materia.data_apresentacao,
autores_outros = Autor.objects.exclude( 'tipo_autor': self.object.autor.tipo.id,
content_type__in=[model_parlamentar, model_comissao]) 'autor': self.object.autor.id,
q = autor_parlamentar | autor_comissoes | autores_outros 'primeiro_autor': self.object.primeiro_autor
return q })
return initial
class ListView(MasterDetailCrud.ListView): class ListView(MasterDetailCrud.ListView):

9
sapl/templates/materia/autoria_form.html

@ -16,11 +16,12 @@
$(document).ready(function() { $(document).ready(function() {
$("#id_tipo_autor").change(function() { $("#id_tipo_autor").change(function() {
var tipo_selecionado = $("#id_tipo_autor").val();
var autor_selecionado = $("#id_autor").val();
$("#id_autor option").remove() $("#id_autor option").remove()
var selected = $("#id_tipo_autor").val(); if (tipo_selecionado !== undefined && tipo_selecionado !== null) {
if (selected !== undefined && selected !== null) {
var json_data = { var json_data = {
tipo : selected, tipo : tipo_selecionado,
data_relativa : $("#id_data_relativa").val() data_relativa : $("#id_data_relativa").val()
} }
$.getJSON("/api/autor/possiveis", json_data, function(data){ $.getJSON("/api/autor/possiveis", json_data, function(data){
@ -35,10 +36,12 @@
.attr("value", obj.value) .attr("value", obj.value)
.text(obj.text)); .text(obj.text));
}); });
$("#id_autor").val(autor_selecionado);
} }
}); });
} }
}); });
$("#id_tipo_autor").trigger('change');
}); });
</script> </script>
{% endblock %} {% endblock %}

Loading…
Cancel
Save