From ab6d699f25bc252f16f7db24185c274c979a087f Mon Sep 17 00:00:00 2001 From: LeandroJatai Date: Mon, 1 Aug 2022 22:02:36 -0300 Subject: [PATCH] Ajuste de usabilidade MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - encaminha além da descrição do status, também a data de tramitação, unidade local e unidade de destino de cada tramitação - recebe os dados acima na interface, monta options com data, e status. - qualquer alteração no select, monta um alert, assim como para matéria selecionada, com os dados cima da tramitação --- sapl/sessao/views.py | 13 +++++++-- .../sessao/expedientemateria_form.html | 28 +++++++++++++++++-- 2 files changed, 36 insertions(+), 5 deletions(-) diff --git a/sapl/sessao/views.py b/sapl/sessao/views.py index bc5d0da05..94824b248 100755 --- a/sapl/sessao/views.py +++ b/sapl/sessao/views.py @@ -841,17 +841,24 @@ def recuperar_materia(request): def recuperar_tramitacao(request): - tipo = TipoMateriaLegislativa.objects.get(pk=request.GET['tipo_materia']) + tipo = request.GET['tipo_materia'] numero = request.GET['numero_materia'] ano = request.GET['ano_materia'] try: - materia = MateriaLegislativa.objects.get(tipo=tipo, + materia = MateriaLegislativa.objects.get(tipo_id=tipo, ano=ano, numero=numero) tramitacao = {} for obj in materia.tramitacao_set.all(): - tramitacao[obj.id] = obj.status.descricao + tramitacao[obj.id] = { + 'status': obj.status.descricao, + 'texto': obj.texto, + 'data_tramitacao': obj.data_tramitacao.strftime('%d/%m/%Y'), + 'unidade_tramitacao_local': str(obj.unidade_tramitacao_local), + 'unidade_tramitacao_destino': str(obj.unidade_tramitacao_destino) + + } response = JsonResponse(tramitacao) except ObjectDoesNotExist: diff --git a/sapl/templates/sessao/expedientemateria_form.html b/sapl/templates/sessao/expedientemateria_form.html index ee992fda3..c11517dd2 100644 --- a/sapl/templates/sessao/expedientemateria_form.html +++ b/sapl/templates/sessao/expedientemateria_form.html @@ -17,7 +17,7 @@ { tipo_materia: tipo_materia, numero_materia: numero_materia, ano_materia: ano_materia }, function(data, status) { if ($(".ementa-materia").length === 0){ - $("#div_id_tipo_materia").closest('.row').after($('
').append($('
').append( + $("#div_id_tipo_materia").closest('.row').after($('
').append($('
').append( $('
').html(data.ementa) ))) } @@ -65,15 +65,39 @@ { tipo_materia: tipo_materia, numero_materia: numero_materia, ano_materia: ano_materia }, function(data, status) { if (status == 'success') { + $('#id_tramitacao_select').off('change') $('#id_tramitacao_select').find('option').remove() $('#id_tramitacao_select').append(''); for (const property in data) { console.log(tramitacao_salvo + "===" + property) - $('#id_tramitacao_select').append(''); + const option = $(``) + option[0].data = data[property] + $('#id_tramitacao_select').append(option) if (property == tramitacao_salvo) { $("#id_tramitacao_select option[value='"+ property +"']").attr("selected", "selected"); } } + $('#id_tramitacao_select').on('change', function(event) { + const option = event.currentTarget.selectedOptions[0] + + if (option.data === undefined) + return + + const html_alert = `Data da Tramitação: ${option.data.data_tramitacao}
+ De: ${option.data.unidade_tramitacao_local} - Para: ${option.data.unidade_tramitacao_destino}
+ Status Atual: ${option.data.status}
+ Texto da Ação: ${option.data.texto}` + + if ($(".tramitacao-materia").length === 0){ + $("#id_tramitacao_select").closest('.row').after($('
').append($('
').append( + $('
').html(html_alert) + ))) + } + else { + $('.tramitacao-materia').html(html_alert) + } + + }).trigger('change') } }); }