127 lines
5.7 KiB
JavaScript
127 lines
5.7 KiB
JavaScript
document.addEventListener('DOMContentLoaded', function() {
|
|
console.log('Carregando script cotas.js...');
|
|
|
|
// Configuração do modal de edição
|
|
const modalEditarCota = document.getElementById('modalEditarCota');
|
|
if (modalEditarCota) {
|
|
modalEditarCota.addEventListener('show.bs.modal', function(event) {
|
|
console.log('Modal de edição sendo exibido');
|
|
const button = event.relatedTarget;
|
|
|
|
if (!button) {
|
|
console.error('Botão não encontrado!');
|
|
return;
|
|
}
|
|
|
|
const cotaId = button.getAttribute('data-cota-id');
|
|
console.log('ID da cota:', cotaId);
|
|
|
|
// Dados da cota
|
|
const dados = {
|
|
militanteId: button.getAttribute('data-cota-militante'),
|
|
militanteNome: button.closest('tr').querySelector('td').textContent.trim(),
|
|
valorAntigo: button.closest('tr').querySelector('td[data-valor_antigo]').getAttribute('data-valor_antigo'),
|
|
valorNovo: button.closest('tr').querySelector('td[data-valor_novo]').getAttribute('data-valor_novo'),
|
|
dataAlteracao: button.getAttribute('data-cota-data-alteracao'),
|
|
dataVencimento: button.getAttribute('data-cota-data-vencimento'),
|
|
pago: button.getAttribute('data-cota-pago') === 'true'
|
|
};
|
|
console.log('Dados da cota:', dados);
|
|
|
|
// Preencher campos
|
|
document.getElementById('editMilitante').value = dados.militanteId;
|
|
document.getElementById('editMilitanteNome').value = dados.militanteNome;
|
|
document.getElementById('editValorAntigo').value = dados.valorAntigo;
|
|
document.getElementById('editValorNovo').value = dados.valorNovo;
|
|
document.getElementById('editDataAlteracao').value = dados.dataAlteracao;
|
|
document.getElementById('editDataVencimento').value = dados.dataVencimento;
|
|
document.getElementById('editPago').checked = dados.pago;
|
|
|
|
// Configurar formulário
|
|
const form = document.getElementById('formEditarCota');
|
|
if (form) {
|
|
form.action = `/cotas/editar/${cotaId}`;
|
|
console.log('Action do formulário:', form.action);
|
|
|
|
// Remover listeners antigos para evitar duplicação
|
|
const newForm = form.cloneNode(true);
|
|
form.parentNode.replaceChild(newForm, form);
|
|
|
|
// Adicionar listener para o submit do formulário
|
|
newForm.addEventListener('submit', function(e) {
|
|
e.preventDefault();
|
|
console.log('Formulário submetido');
|
|
|
|
// Criar FormData com os dados do formulário
|
|
const formData = new FormData(this);
|
|
|
|
// Adicionar campo pago com o valor correto
|
|
const isPago = document.getElementById('editPago').checked;
|
|
formData.set('pago', isPago ? 'true' : 'false');
|
|
|
|
// Log dos dados sendo enviados
|
|
console.log('Dados do formulário:');
|
|
for (let [key, value] of formData.entries()) {
|
|
console.log(key + ': ' + value);
|
|
}
|
|
|
|
// Enviar requisição
|
|
fetch(this.action, {
|
|
method: 'POST',
|
|
body: formData
|
|
})
|
|
.then(response => {
|
|
console.log('Status da resposta:', response.status);
|
|
return response.json();
|
|
})
|
|
.then(data => {
|
|
console.log('Resposta:', data);
|
|
if (data.status === 'success') {
|
|
// Fechar modal
|
|
const modal = bootstrap.Modal.getInstance(modalEditarCota);
|
|
modal.hide();
|
|
|
|
// Recarregar página
|
|
window.location.reload();
|
|
} else {
|
|
alert('Erro ao atualizar cota: ' + data.message);
|
|
}
|
|
})
|
|
.catch(error => {
|
|
console.error('Erro:', error);
|
|
alert('Erro ao atualizar cota. Por favor, tente novamente.');
|
|
});
|
|
});
|
|
}
|
|
});
|
|
}
|
|
|
|
// Configuração do modal de exclusão
|
|
const deleteModal = document.getElementById('deleteModal');
|
|
if (deleteModal) {
|
|
deleteModal.addEventListener('show.bs.modal', function(event) {
|
|
console.log('Modal de exclusão sendo exibido');
|
|
const button = event.relatedTarget;
|
|
|
|
if (!button) {
|
|
console.error('Botão não encontrado!');
|
|
return;
|
|
}
|
|
|
|
const cotaId = button.getAttribute('data-cota-id');
|
|
const cotaInfo = button.getAttribute('data-cota-info');
|
|
console.log('ID da cota:', cotaId);
|
|
console.log('Info da cota:', cotaInfo);
|
|
|
|
// Atualizar texto do modal
|
|
document.getElementById('cotaInfo').textContent = cotaInfo;
|
|
|
|
// Configurar formulário de exclusão
|
|
const form = document.getElementById('deleteForm');
|
|
if (form) {
|
|
form.action = `/cotas/excluir/${cotaId}`;
|
|
console.log('Action do formulário:', form.action);
|
|
}
|
|
});
|
|
}
|
|
});
|