Skip to content

Instantly share code, notes, and snippets.

/ajax.js

Created Jan 28, 2016
Embed
What would you like to do?
//Capturando evento change no input de data do modal 'modal_editar_data_especifica'
$('#data').change(function() {
//Conferindo se foi selecionada alguma data
if($('#data').val() != '') {
//Criando array com valores a serem enviados na requisição ajax
var dado = [$('#funcionario_modal_editar_data_especifica').val(), $('#data').val()];
//Encodificando dados em json
var dados = JSON.stringify(dado);
//Chamando função do helper que retorna os horários do funcionário para a data escolhida pelo usuário
$.ajax(
{
url : '<?php echo base_url('horarios_funcionario/captura_horarios_funcionario'); ?>',
type : 'POST',
async: false,
data : {valor: dados},
success : function(data) {
//Limpando conteúdo da div 'resultado_modal_editar_data_especifica'
$('#resultado_modal_editar_data_especifica').html('');
//Decodificando resultado json recebido
dados = jQuery.parseJSON(data);
//Se não retornou resultados
if(dados.success === false) {
$('#resultado_modal_editar_data_especifica').html("<h5>O funcionário não trabalha no dia selecionado.</h5>");
}
//Se retornou resultados, faz requisição para capturar horários já agendados ou deletados para o funcionário
else {
//Criando array com valores a serem enviados na requisição ajax
var dado2 = [$('#funcionario_modal_editar_data_especifica').val(), $('#data').val()];
//Encodificando dados em json
var dados2 = JSON.stringify(dado2);
$.ajax(
{
url : '<?php echo base_url('horarios_funcionario/captura_horarios_agendados_ou_deletados'); ?>',
type : 'POST',
async: false,
data : {valor: dados2},
success : function(data) {
//Decodificando resultado json recebido
dados2 = jQuery.parseJSON(data);
//Se já existem horários agendados e/ou deletados
if(dados2.success === true) {
//Percorrendo horários agendados e/ou deletados
for (cont = 0; cont < dados2.resultado.length; cont++) {
//Procurando pelo horário agendado e/ou deletado no array de horários do funcionário
var index = dados.resultado.indexOf(dados2.resultado[cont].horario_horariosfuncionario);
//Deleta horário agendado e/ou deletado do array de horários do funcionário
if(index > -1) {
dados.resultado.splice(index, 1);
}
}
//Se ainda existem horários disponíveis para o funcionário
if(dados.resultado.length > 0) {
//Chamando função que captura a data atual do estabelecimento
var data = obterDataDoSalao();
//Chamando função que formata data para dd/mm/aaaa
var dataAtual = formataData(data);
//Se data selecionada pelo usuário é igual à data atual do estabelecimento
if($('#data').val() === dataAtual) {
//Capturando horário atual do estabelecimento
var horarioAtual = obterHorarioDoSalao();
//Percorrendo horários disponíveis
for(cont = 0; cont < dados.resultado.length; cont++) {
//Criando array com valores a serem enviados na requisição ajax
var dado = [dados.resultado[cont], horarioAtual];
//Encodificando dados em json
var dados = JSON.stringify(dado);
//Requisição para verificar se horário disponível é maior que o horário atual do estabelecimento
$.ajax(
{
url : '<?php echo base_url('horarios_funcionario/confere_horario_funcionario'); ?>',
type : 'POST',
async: false,
data : {valor: dados},
success : function(data) {
//Decodificando resultado json recebido
dados = jQuery.parseJSON(data);
//Se horário disponível é maior que o horário atual do estabelecimento
if(dados.success === true) {
//Criando campos com horários disponíveis
$('#resultado_modal_editar_data_especifica').append("<div class='row'>" +
"<div class='form-group col-md-3'>" +
"<input class='form-control' value=" + dados.resultado[cont] + " maxlength='5' disabled>" +
"</div>" +
"</div>");
}
},
error : function(data)
{
console.log("error");
console.log(data);
}
});
}
}
//Se data selecionada pelo usuário não é igual à data atual do estabelecimento
else {
//Percorrendo horários disponíveis
for(cont = 0; cont < dados.resultado.length; cont++) {
//Criando campos com horários disponíveis
$('#resultado_modal_editar_data_especifica').append("<div class='row'>" +
"<div class='form-group col-md-3'>" +
"<input class='form-control' value=" + dados.resultado[cont] + " maxlength='5' disabled>" +
"</div>" +
"</div>");
}
}
}
}
//Se ainda não existem horários agendados e/ou deletados
else {
//Chamando função que captura a data atual do estabelecimento
var data = obterDataDoSalao();
//Chamando função que formata data para dd/mm/aaaa
var dataAtual = formataData(data);
//Se data selecionada pelo usuário é igual à data atual do estabelecimento
if($('#data').val() === dataAtual) {
//Capturando horário atual do estabelecimento
var horarioAtual = obterHorarioDoSalao();
//Percorrendo horários disponíveis
for(cont = 0; cont < dados.resultado.length; cont++) {
//Criando array com valores a serem enviados na requisição ajax
var dado = [dados.resultado[cont], horarioAtual];
//Encodificando dados em json
var dados = JSON.stringify(dado);
//Requisição para verificar se horário disponível é maior que o horário atual do estabelecimento
$.ajax(
{
url : '<?php echo base_url('horarios_funcionario/confere_horario_funcionario'); ?>',
type : 'POST',
async: false,
data : {valor: dados},
success : function(data) {
//Decodificando resultado json recebido
dados = jQuery.parseJSON(data);
//Se horário disponível é maior que o horário atual do estabelecimento
if(dados.success === true) {
//Criando campos com horários disponíveis
$('#resultado_modal_editar_data_especifica').append("<div class='row'>" +
"<div class='form-group col-md-3'>" +
"<input class='form-control' value=" + dados.resultado[cont] + " maxlength='5' disabled>" +
"</div>" +
"</div>");
}
},
error : function(data)
{
console.log("error");
console.log(data);
}
});
}
}
//Se data selecionada pelo usuário não é igual à data atual do estabelecimento
else {
//Percorrendo horários disponíveis
for(cont = 0; cont < dados.resultado.length; cont++) {
//Criando campos com horários disponíveis
$('#resultado_modal_editar_data_especifica').append("<div class='row'>" +
"<div class='form-group col-md-3'>" +
"<input class='form-control' value=" + dados.resultado[cont] + " maxlength='5' disabled>" +
"</div>" +
"</div>");
}
}
}
var teste = obterDataDoSalao();
console.log('resultado: ' + teste);
},
error : function(data)
{
console.log("error");
console.log(data);
}
});
}
},
error : function(data)
{
console.log("error");
console.log(data);
}
});
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.