diff --git a/sapl/parlamentares/views.py b/sapl/parlamentares/views.py index 5cbf71234..4ede5f905 100644 --- a/sapl/parlamentares/views.py +++ b/sapl/parlamentares/views.py @@ -479,7 +479,8 @@ def altera_field_mesa(request): 'lista_composicao': lista_composicao, 'lista_parlamentares': lista_parlamentares, 'lista_cargos': lista_cargos, - 'sessao_selecionada': sessao_selecionada.id}) + 'sessao_selecionada': sessao_selecionada.id, + 'msg': ('', 1)}) def insere_parlamentar_composicao(request): diff --git a/sapl/templates/parlamentares/composicaomesa_form.html b/sapl/templates/parlamentares/composicaomesa_form.html index 69a6208fa..c1d0fad36 100644 --- a/sapl/templates/parlamentares/composicaomesa_form.html +++ b/sapl/templates/parlamentares/composicaomesa_form.html @@ -10,6 +10,20 @@ {% else %} + + + +
Escolha da Legislatura e da Sessão Legislativa
@@ -113,9 +127,29 @@ } }); + function errors_handler(msg){ + if (msg == null){ + $("#div-success").hide() + $("#div-error").hide() + $("#success-message").html('') + $("#error-message").html('') + } + else{ + if (msg[1] == 0){ + $("#div-error").show() + $("#error-message").html(msg[0]) + } + else{ + $("#div-success").show() + $("#success-message").html(msg[0]) + } + } + + } + // Atualiza os campos após alguma operação de mudança da Legislatura/Sessao ou // Inserção/Remoção - function altera_field(id_field, incluir_excluir_op=null){ + function altera_field(id_field, incluir_excluir_op=null, msg=null){ // Pega o novo valor do campo que foi modificado (Sessao/Legislatura) ou utiliza // o valor da Legislatura, por conveniência, quando há alguma inserção ou remoção var field = $(id_field).val(); @@ -187,6 +221,14 @@ // legislatura $("#id_sessao_legislativa").val(data['sessao_selecionada']) + // Caso haja algum erro que venha após a alteração da legislatura/sessao + // Essa mensagem de erro é prioridade + if (data['msg'][1] == 0){ + msg = data['msg'] + } + + errors_handler(msg) + }); } @@ -212,14 +254,10 @@ 'X-CSRFToken': getCookie('csrftoken') }, success: function(data){ - // if ('erro' in data){ - // if (data['erro'].length > 0){ - // alert(data['erro']) - // } - // } + var msg = data['msg'] setTimeout(function(data){ // Atualiza os campos após a inserção - altera_field("#id_legislatura", $("#id_sessao_legislativa").val()) + altera_field("#id_legislatura", $("#id_sessao_legislativa").val(), msg) }, 500) }, }); @@ -237,10 +275,11 @@ headers: { 'X-CSRFToken': getCookie('csrftoken') }, - success: function(data){ + success: function(data){ + var msg = data['msg'] setTimeout(function(data){ // Atualiza os campos após a remoção - altera_field("#id_legislatura", $("#id_sessao_legislativa").val()) + altera_field("#id_legislatura", $("#id_sessao_legislativa").val(), msg) }, 500) }, });