Browse Source

3195 - Troca de Matéria em Norma Existente (#3206)

* Diminui a quantidade de queries

* Adiciona modal para saber se atualiza ementa e indexação na troca de matéria

* Verifica se intancia já existe para mostrar modal

* Corrige mensagem na modal

Co-authored-by: Edward <9326037+edwardoliveira@users.noreply.github.com>

* Remove verificação de form através do path

Co-authored-by: Edward <9326037+edwardoliveira@users.noreply.github.com>
pull/3218/head
Vinícius Cantuária 5 years ago
committed by GitHub
parent
commit
e1bb6d3652
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 6
      sapl/norma/views.py
  2. 104
      sapl/templates/norma/normajuridica_form.html

6
sapl/norma/views.py

@ -258,7 +258,7 @@ class NormaCrud(Crud):
def get_initial(self): def get_initial(self):
initial = super().get_initial() initial = super().get_initial()
norma = NormaJuridica.objects.get(id=self.kwargs['pk']) norma = NormaJuridica.objects.select_related("materia").get(id=self.kwargs['pk'])
if norma.materia: if norma.materia:
initial['tipo_materia'] = norma.materia.tipo initial['tipo_materia'] = norma.materia.tipo
initial['ano_materia'] = norma.materia.ano initial['ano_materia'] = norma.materia.ano
@ -267,9 +267,7 @@ class NormaCrud(Crud):
return initial return initial
def form_valid(self, form): def form_valid(self, form):
norma_antiga = NormaJuridica.objects.get( norma_antiga = NormaJuridica.objects.get(pk=self.kwargs['pk'])
pk=self.kwargs['pk']
)
# Feito desta forma para que sejam materializados os assuntos # Feito desta forma para que sejam materializados os assuntos
# antigos # antigos

104
sapl/templates/norma/normajuridica_form.html

@ -10,20 +10,23 @@
var tipo_materia = $("#id_tipo_materia").val(); var tipo_materia = $("#id_tipo_materia").val();
var numero_materia = $("#id_numero_materia").val(); var numero_materia = $("#id_numero_materia").val();
var ano_materia = $("#id_ano_materia").val(); var ano_materia = $("#id_ano_materia").val();
var tipo = $('#id_tipo').val();
var ano = $('#id_ano').val();
var numero = $('#id_numero').val();
var ementa = $('#id_ementa').val();
if (tipo_materia && numero_materia && ano_materia) { if (tipo_materia && numero_materia && ano_materia) {
$.get("/sessao/recuperar-materia", $.get("/sessao/recuperar-materia", {
{tipo_materia: tipo_materia, tipo_materia: tipo_materia,
numero_materia: numero_materia, numero_materia: numero_materia,
ano_materia: ano_materia}, ano_materia: ano_materia
function(data, status) { }, (data, status) => {
$("#id_fundo_confirmacao_mudanca_ementa_indexacao").fadeIn();
$("#id_sim_mudanca_ementa_indexacao").click(() => {
$("#id_ementa").val(data.ementa); $("#id_ementa").val(data.ementa);
$("#id_indexacao").val(data.indexacao); $("#id_indexacao").val(data.indexacao);
} $("#id_fundo_confirmacao_mudanca_ementa_indexacao").hide();
); });
$("#id_nao_mudanca_ementa_indexacao").click(() => {
$("#id_fundo_confirmacao_mudanca_ementa_indexacao").hide();
});
});
} }
} }
var fields = ["#id_tipo_materia", "#id_numero_materia", "#id_ano_materia"] var fields = ["#id_tipo_materia", "#id_numero_materia", "#id_ano_materia"]
@ -36,9 +39,8 @@
var ano = $("#id_ano").val(); var ano = $("#id_ano").val();
if (tipo) { if (tipo) {
$.get("/norma/recuperar-numero-norma",{tipo: tipo, $.get("/norma/recuperar-numero-norma", { tipo: tipo, ano: ano },
ano: ano}, (data, status) => {
function(data, status) {
$("#id_numero").val(data.numero); $("#id_numero").val(data.numero);
$("#id_ano").val(data.ano); $("#id_ano").val(data.ano);
}); });
@ -58,29 +60,57 @@
} }
}); });
var modal_estilos = 'display: block;' var modal_estilos = `
+'width: 85%; max-width: 600px;' display: block;
+'background: #fff; padding: 15px;' width: 85%;
+'border-radius: 5px;' max-width: 600px;
+'-webkit-box-shadow: 0px 6px 14px -2px rgba(0,0,0,0.75);' background: #fff;
+'-moz-box-shadow: 0px 6px 14px -2px rgba(0,0,0,0.75);' padding: 15px;
+'box-shadow: 0px 6px 14px -2px rgba(0,0,0,0.75);' border-radius: 5px;
+'position: fixed;' -webkit-box-shadow: 0px 6px 14px -2px rgba(0,0,0,0.75);
+'top: 50%; left: 50%;' -moz-box-shadow: 0px 6px 14px -2px rgba(0,0,0,0.75);
+'transform: translate(-50%,-50%);' box-shadow: 0px 6px 14px -2px rgba(0,0,0,0.75);
+'z-index: 99999999; text-align: center'; position: fixed;
top: 50%;
var fundo_modal_estilos = 'top: 0; right: 0;' left: 50%;
+'bottom: 0; left: 0; position: fixed;' transform: translate(-50%,-50%);
+'background-color: rgba(0, 0, 0, 0.6); z-index: 99999999;' z-index: 99999999;
+'display: none;'; text-align: center;
`;
var meu_modal = '<div id="fundo_modal" style="'+fundo_modal_estilos+'">'
+'<div id="meu_modal" style="'+modal_estilos+'">' var fundo_modal_estilos = `
+'<h2>Atenção! Ano de apresentação e ano da norma são diferentes.</h2><br />' top: 0;
+'<button id="close_model_btn" type="button" class="btn btn-warning" data-dismiss="modal">' right: 0;
+'Compreendo e quero continuar</button>' bottom: 0;
+'</div></div>'; left: 0;
position: fixed;
background-color: rgba(0, 0, 0, 0.6);
z-index: 99999999;
display: none;
`;
var meu_modal = `
<div id="fundo_modal" style="${fundo_modal_estilos}">
<div id="meu_modal" style="${modal_estilos}">
<h2>Atenção! Ano de apresentação e ano da norma são diferentes.</h2><br />
<button id="close_model_btn" type="button" class="btn btn-warning" data-dismiss="modal">
Compreendo e quero continuar
</button>
</div>
</div>
`;
const confirmacao_mudanca_ementa_indexacao = `
<div id="id_fundo_confirmacao_mudanca_ementa_indexacao" style="${fundo_modal_estilos}">
<div id="id_confirmacao_mudanca_ementa_indexacao" style="${modal_estilos}">
<h3>Houve à mudança de Matéria vinculada a norma.</h3>
<h3>Deseja atualizar a Ementa e a Indexação com a nova Matéria?</h3><br/>
<button type="submit" id="id_sim_mudanca_ementa_indexacao" class="btn btn-primary">Sim</button>
<button type="button" id="id_nao_mudanca_ementa_indexacao" class="btn btn-secondary" data-dismiss="modal">Não</button>
</div>
</div>
`;
function verifica_ano(){ function verifica_ano(){
let ano = $("select#id_ano.select").val(); let ano = $("select#id_ano.select").val();
@ -93,7 +123,7 @@
} }
$(document).ready(function() { $(document).ready(function() {
$("body").append(meu_modal); $("body").append(meu_modal, confirmacao_mudanca_ementa_indexacao);
$("#fundo_modal, #close_model_btn").click(function(){ $("#fundo_modal").hide(); }); $("#fundo_modal, #close_model_btn").click(function(){ $("#fundo_modal").hide(); });
$("#meu_modal").click(function(e){ e.stopPropagation(); }); $("#meu_modal").click(function(e){ e.stopPropagation(); });

Loading…
Cancel
Save