fixed cancel lesson

This commit is contained in:
2026-10-14 14:55:18 +02:00
parent 74c01d236e
commit 45c432916a
2 changed files with 224 additions and 25 deletions
+52 -25
View File
@@ -617,7 +617,8 @@ Ti ringraziamo per la collaborazione e per l’attenzione alla sicurezza di tutt
actionTd.append($('<button>').addClass('btn btn-sm btn-danger remove-class action-icon')
.attr('title', 'Rimuovi')
.html('<i class="fas fa-trash"></i>')
.data('id', row.idbookingclass));
.data('id', row.idbookingclass)
.data('order', row.idorder || ''));
} else {
actionTd.text('-');
}
@@ -639,44 +640,70 @@ Ti ringraziamo per la collaborazione e per l’attenzione alla sicurezza di tutt
refreshTable(id, nome);
});
// Rimuovi lezione
// Rimuovi lezione: l'insegnante sceglie email e conteggio riprogrammazione
$(document).on('click', '.remove-class', function() {
var id = $(this).data('id');
var hasOrder = String($(this).data('order') || '') !== '';
var idU = $('#classModal').data('current-id'),
nomeU = $('#userName').text();
var html = '<p>La lezione verrà rimossa e salvata nello storico delle cancellazioni.</p>' +
'<div class="text-start" style="max-width:360px;margin:0 auto;">' +
'<div class="form-check mb-2">' +
'<input class="form-check-input" type="checkbox" id="swSendEmail" checked>' +
'<label class="form-check-label" for="swSendEmail">Invia email di conferma all\'allieva</label>' +
'</div>' +
(hasOrder ?
'<div class="form-check">' +
'<input class="form-check-input" type="checkbox" id="swCountReprog">' +
'<label class="form-check-label" for="swCountReprog">Conta come riprogrammazione</label>' +
'</div>' :
'<div class="text-muted" style="font-size:13px;">Lezione omaggio: nessuna riprogrammazione da conteggiare.</div>') +
'</div>';
alertBox({
title: 'Sei sicuro?',
text: 'Questa lezione verrà rimossa definitivamente.',
title: 'Cancellare la lezione?',
html: html,
icon: 'warning',
showCancelButton: true,
confirmButtonColor: '#d33',
confirmButtonText: 'Sì, rimuovi',
cancelButtonText: 'Annulla'
confirmButtonText: 'Sì, cancella',
cancelButtonText: 'Annulla',
preConfirm: () => ({
send: $('#swSendEmail').is(':checked') ? 'Y' : 'N',
count: $('#swCountReprog').is(':checked') ? 'Y' : 'N'
})
}).then((r) => {
if (r.isConfirmed) {
$.post('deleteclass.php', {
id: id
}, null, 'json')
.done(function(resp) {
if (resp.success) {
alertBox({
title: 'Fatto',
text: 'Lezione rimossa.',
icon: 'success'
});
refreshTable(idU, nomeU);
} else alertBox({
if (!r.isConfirmed) return;
$.post('admin_cancel_booking.php', {
id: id,
send_email: r.value.send,
count_reprog: r.value.count
}, null, 'json')
.done(function(resp) {
if (resp && resp.success) {
alertBox({
title: 'Fatto',
text: resp.message,
icon: 'success'
});
refreshTable(idU, nomeU);
} else {
alertBox({
title: 'Errore',
text: resp.message || 'Errore durante la rimozione.',
text: (resp && resp.message) || 'Errore durante la cancellazione.',
icon: 'error'
});
})
.fail(() => alertBox({
}
})
.fail(function(xhr) {
var msg = (xhr.responseJSON && xhr.responseJSON.message) || 'Errore durante la cancellazione.';
alertBox({
title: 'Errore',
text: 'Errore durante la rimozione.',
text: msg,
icon: 'error'
}));
}
});
});
});
});