diff --git a/sapl/materia/views.py b/sapl/materia/views.py index 5b5d0e9f8..b587d027b 100644 --- a/sapl/materia/views.py +++ b/sapl/materia/views.py @@ -1101,22 +1101,23 @@ class AutoriaCrud(MasterDetailCrud): initial['autor'] = [] return initial - def autores_ativos(self): - lista_parlamentares = Parlamentar.objects.filter( - ativo=True).values_list('id', flat=True) - model_parlamentar = ContentType.objects.get_for_model(Parlamentar) - autor_parlamentar = Autor.objects.filter( - content_type=model_parlamentar, object_id__in=lista_parlamentares) - - lista_comissoes = Comissao.objects.filter(Q(data_extincao__isnull=True) | Q( - data_extincao__gt=date.today())).values_list('id', flat=True) - model_comissao = ContentType.objects.get_for_model(Comissao) - autor_comissoes = Autor.objects.filter( - content_type=model_comissao, object_id__in=lista_comissoes) - autores_outros = Autor.objects.exclude( - content_type__in=[model_parlamentar, model_comissao]) - q = autor_parlamentar | autor_comissoes | autores_outros - return q + class UpdateView(MasterDetailCrud.UpdateView): + form_class = AutoriaForm + + @property + def layout_key(self): + return 'AutoriaUpdate' + + def get_initial(self): + initial = super().get_initial() + autoria = Autoria.objects.get(id=self.kwargs['pk']) + initial.update({ + 'data_relativa': autoria.materia.data_apresentacao, + 'tipo_autor': self.object.autor.tipo.id, + 'autor': self.object.autor.id, + 'primeiro_autor': self.object.primeiro_autor + }) + return initial class ListView(MasterDetailCrud.ListView): @@ -1704,8 +1705,8 @@ class TramitacaoEmLoteView(PrimeiraTramitacaoEmLoteView): if ('tramitacao__status' in qr and 'tramitacao__unidade_tramitacao_destino' in qr and - qr['tramitacao__status'] and - qr['tramitacao__unidade_tramitacao_destino'] + qr['tramitacao__status'] and + qr['tramitacao__unidade_tramitacao_destino'] ): lista = filtra_tramitacao_destino_and_status( qr['tramitacao__status'], diff --git a/sapl/templates/materia/autoria_form.html b/sapl/templates/materia/autoria_form.html index 9c51912ac..9d2e314af 100644 --- a/sapl/templates/materia/autoria_form.html +++ b/sapl/templates/materia/autoria_form.html @@ -16,11 +16,12 @@ $(document).ready(function() { $("#id_tipo_autor").change(function() { + var tipo_selecionado = $("#id_tipo_autor").val(); + var autor_selecionado = $("#id_autor").val(); $("#id_autor option").remove() - var selected = $("#id_tipo_autor").val(); - if (selected !== undefined && selected !== null) { + if (tipo_selecionado !== undefined && tipo_selecionado !== null) { var json_data = { - tipo : selected, + tipo : tipo_selecionado, data_relativa : $("#id_data_relativa").val() } $.getJSON("/api/autor/possiveis", json_data, function(data){ @@ -35,10 +36,12 @@ .attr("value", obj.value) .text(obj.text)); }); + $("#id_autor").val(autor_selecionado); } }); } }); + $("#id_tipo_autor").trigger('change'); }); {% endblock %}