mirror of https://github.com/interlegis/sapl.git
Browse Source
* Adicionando função de apagar todos os protocolos Melhorando usabilidade Colocando privilegios de admin para acessar função de apagar protocolos Fix #2958 Filtrando anos a serem apagados #Fix 2958 Atualizando django mommy para aceitar ArrayField * Resolvendo problemas relatados no pr * Mudando sistema de auditoria de protocolos para o já existente * Removendo codigo desnecessario * Melhorando querys * Update sapl/templates/protocoloadm/deleta_todos_protocolos.html Co-authored-by: Edward <9326037+edwardoliveira@users.noreply.github.com>pull/3169/head
Ulysses Lara
5 years ago
committed by
GitHub
4 changed files with 186 additions and 2 deletions
@ -0,0 +1,127 @@ |
|||||
|
{% extends "base.html" %} |
||||
|
{% load i18n crispy_forms_tags %} |
||||
|
|
||||
|
{% block base_content %} |
||||
|
|
||||
|
{% if intervalo_data %} |
||||
|
<h2 class="page-header">Selecione o ano dos registros a serem apagados e confirme com a sua senha.</h2> |
||||
|
|
||||
|
<div class="form-row"> |
||||
|
<label style="margin-top:20px">Ano</label> |
||||
|
<select id="id_ano" class="form-control"> |
||||
|
{% for ano in intervalo_data %} |
||||
|
<option>{{ano}}</option> |
||||
|
{% endfor %} |
||||
|
</select> |
||||
|
<label style="margin-top:20px">A partir do numero: (Opcional)</label> |
||||
|
<input type="number" class="form-control" id="numero_protocolo"> |
||||
|
<label style="margin-top:20px">Senha</label> |
||||
|
<input type="password" class="form-control" id="password" placeholder="Senha" required> |
||||
|
<div id="feedback" class="invalid-feedback"></div> |
||||
|
|
||||
|
</div> |
||||
|
<div style="margin-top:20px" class="form-group row justify-content-between"> |
||||
|
<a href="{% url 'sapl.base:sistema' %}" type="button" class="btn btn-secondary float-left" >Cancelar</a> |
||||
|
|
||||
|
<button type="button" data-toggle="modal" data-target="#exampleModal" class="btn btn-danger float-right">Apagar protocolos</button> |
||||
|
</div> |
||||
|
|
||||
|
|
||||
|
{% else %} |
||||
|
<h1>Não há registros de protocolos.</h1> |
||||
|
<a style="margin-top:5%" href="{% url 'sapl.base:sistema' %}" type="button" class="btn btn-secondary" >Voltar para tabelas auxiliares.</a> |
||||
|
{% endif %} |
||||
|
|
||||
|
<!-- Modal --> |
||||
|
<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true"> |
||||
|
<div class="modal-dialog modal-dialog-centered" role="document"> |
||||
|
<div class="modal-content"> |
||||
|
<div id="content-block-1"> |
||||
|
<div class="modal-header bg-danger "> |
||||
|
<h5 class="modal-title" id="exampleModalLabel">ALERTA</h5> |
||||
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close"> |
||||
|
<span aria-hidden="true">×</span> |
||||
|
</button> |
||||
|
</div> |
||||
|
|
||||
|
<div class="modal-body"> |
||||
|
Tem certeza que deseja apagar esses protocolos ? Essa operação é <b>irreversível</b>. |
||||
|
</div> |
||||
|
<div class="modal-footer"> |
||||
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">Cancelar</button> |
||||
|
<button type="button" class="btn btn-danger" id="apagar-protocolos">Apagar</button> |
||||
|
<div id="spinner-id" style="margin-left:20px" class="spinner-border text-danger" role="status"> |
||||
|
<span class="sr-only">Loading...</span> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div id="content-block-2"> |
||||
|
<div class="modal-header"> |
||||
|
<h5 class="modal-title" id="exampleModalLabel">Operação realizada com sucesso.</h5> |
||||
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close"> |
||||
|
<span aria-hidden="true">×</span> |
||||
|
</button> |
||||
|
</div> |
||||
|
|
||||
|
|
||||
|
<div class="modal-body"> |
||||
|
Os protocolos foram apagados com sucesso. |
||||
|
</div> |
||||
|
<div class="modal-footer"> |
||||
|
<a href="{% url 'sapl.base:sistema' %}" class="btn btn-secondary">Voltar para tabelas auxiliares.</a> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
|
||||
|
{% endblock base_content %} |
||||
|
|
||||
|
{% block extra_js %} |
||||
|
|
||||
|
<script> |
||||
|
$('#content-block-2').hide(); |
||||
|
$('#spinner-id').hide(); |
||||
|
$('#apagar-protocolos').click( () => { |
||||
|
$('#spinner-id').show(); |
||||
|
$.ajax({ |
||||
|
data: {numero_protocolo:$('#numero_protocolo').val(),senha:$('#password').val(),ano:$("#id_ano").val()}, |
||||
|
type: 'POST', |
||||
|
url: "{% url 'sapl.protocoloadm:apaga_protocolos_view' %}", |
||||
|
traditional: true, |
||||
|
headers: { |
||||
|
'X-CSRFToken': getCookie('csrftoken') |
||||
|
}, |
||||
|
success: function(data){ |
||||
|
if (data['type'] == 'error'){ |
||||
|
$('#password').addClass('is-invalid') |
||||
|
$('#exampleModal').modal('hide') |
||||
|
$('#feedback').text(data['msg']) |
||||
|
} |
||||
|
else if(data['type'] == 'success'){ |
||||
|
$('#content-block-1').hide("", function() { |
||||
|
}); |
||||
|
$('#content-block-2').show("slow"); |
||||
|
} |
||||
|
$('#spinner-id').hide(); |
||||
|
}, |
||||
|
}); |
||||
|
}) |
||||
|
$('option').mousedown(function(e) { |
||||
|
e.preventDefault(); |
||||
|
var originalScrollTop = $(this).parent().scrollTop(); |
||||
|
$(this).prop('selected', $(this).prop('selected') ? false : true); |
||||
|
var self = this; |
||||
|
$(this).parent().focus(); |
||||
|
setTimeout(function() { |
||||
|
$(self).parent().scrollTop(originalScrollTop); |
||||
|
}, 0); |
||||
|
|
||||
|
return false; |
||||
|
}); |
||||
|
</script> |
||||
|
|
||||
|
{% endblock extra_js%} |
Loading…
Reference in new issue