mirror of https://github.com/interlegis/sapl.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
98 lines
3.4 KiB
98 lines
3.4 KiB
{% extends "crud/form.html" %}
|
|
{% load i18n %}
|
|
{% block extra_js %}
|
|
|
|
<script type="text/javascript">
|
|
|
|
$(document).ready(function(){
|
|
var flag_create = false;
|
|
if (location.href.indexOf('create') > 0) {
|
|
$('.radiogroup-status').remove();
|
|
flag_create = true
|
|
}
|
|
var active = function(str, atualizar=true) {
|
|
if (str == 'nome') {
|
|
if (atualizar)
|
|
$('#id_nome, #id_q, #id_cargo').val('');
|
|
$('.div_nome_cargo').removeClass('hidden');
|
|
$("#div_id_autor_related > div").html('');
|
|
$("[data-application='AutorSearch'], .radiogroup-autor-related").addClass('hidden');
|
|
}
|
|
else {
|
|
$('#id_nome, #id_cargo').val('');
|
|
$('.div_nome_cargo').addClass('hidden');
|
|
$("#div_id_autor_related .alert").remove();
|
|
$("[data-application='AutorSearch'], .radiogroup-autor-related").removeClass('hidden');
|
|
}
|
|
}
|
|
var update_search = function(pk, atualizar=true) {
|
|
var q = $('#id_q').val();
|
|
|
|
var url = '{% url 'sapl.api:autor-provaveis'%}'
|
|
|
|
var formData = {
|
|
q: q,
|
|
tipo: pk
|
|
}
|
|
$.get(url, formData).done(function(data) {
|
|
active('pesquisa');
|
|
if (atualizar) {
|
|
var radios = $("#div_id_autor_related > div").html('');
|
|
data.results.forEach(function (val, index) {
|
|
var html_radio = '<div class="radio bg-light p-1"><label class="d-block"><input type="radio" name="autor_related" id="id_id_autor_related_'+index+'" value="'+val.value+'">'+val.text+'</label></div>';
|
|
radios.append(html_radio);
|
|
});
|
|
|
|
if (data.results.length > 1) {
|
|
$('input[name=autor_related]').change(function(event){
|
|
if (this.checked)
|
|
$('#id_q').val(event.target.parentElement.textContent);
|
|
});
|
|
}
|
|
else {
|
|
$('input[name=autor_related]').prop('checked', 'checked');
|
|
}
|
|
|
|
if (data.pagination.total_entries > 10)
|
|
radios.before('<div class="alert alert-info" role="alert"><strong>{% trans "Foram encontrados" %} '+data.pagination.total_entries+' {% trans "registros"%}</strong>'+' {% trans "mas será mostrado apenas os 10 primeiros resultados.<br>Coloque mais informações no campo pesquisa para refinar sua busca."%}</div>');
|
|
else if (data.pagination.total_entries == 0)
|
|
radios.before('<div class="alert alert-info" role="alert"><strong>{% trans "Não foram encontrados registros com os termos de pesquisa informados." %}</div>');
|
|
}
|
|
else{
|
|
$('#id_nome, #id_q').val('');
|
|
if ($('input[name=autor_related]').length == 1 ) {
|
|
$('input[name=autor_related]').prop('checked', 'checked');
|
|
$('input[name=autor_related]').closest('.radio').addClass('checked');
|
|
}
|
|
}
|
|
}).fail(function(data) {
|
|
active('nome', atualizar);
|
|
});
|
|
}
|
|
|
|
$('#id_tipo').change(function(event) {
|
|
if (event.target.selectedIndex == 0) {
|
|
$('#id_nome, #id_q').val('');
|
|
active('nome');
|
|
}
|
|
else {
|
|
var pk = this[event.target.selectedIndex].value;
|
|
$('input[name=autor_related]').closest('.radio').remove();
|
|
update_search(pk, false)
|
|
}
|
|
});
|
|
|
|
$('.btn-filtrar-autor').click(function(event) {
|
|
var pk = $('#id_tipo').val();
|
|
update_search(pk);
|
|
});
|
|
|
|
if (flag_create)
|
|
$('input[name=autor_related]').closest('.radio').remove();
|
|
|
|
var pk = $('#id_tipo').val();
|
|
if (pk)
|
|
update_search(pk, $('#id_q').val().length > 0)
|
|
});
|
|
</script>
|
|
{% endblock %}
|
|
|