correction bouton presences
This commit is contained in:
parent
3c8254cb86
commit
683b160804
@ -165,6 +165,29 @@ export function initializeMarkPresentButton(getCurrentEventData, openCheckPresen
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialise le bouton pour afficher le modal de gestion des présences (groupes uniquement)
|
||||
* @param {Function} getCurrentEventData - Fonction pour obtenir les données de l'événement
|
||||
* @param {Function} openCheckPresenceModal - Fonction pour ouvrir la modal de validation de présence de groupe
|
||||
*/
|
||||
export function initializeShowPresenceModalButton(getCurrentEventData, openCheckPresenceModal) {
|
||||
const showPresenceModalBtn = document.getElementById('showPresenceModalBtn');
|
||||
if (!showPresenceModalBtn) return;
|
||||
|
||||
showPresenceModalBtn.onclick = function() {
|
||||
if (!checkPermission('can_edit')) return;
|
||||
|
||||
const currentEventData = getCurrentEventData();
|
||||
if (!currentEventData) {
|
||||
notifyError('Données d\'événement manquantes');
|
||||
return;
|
||||
}
|
||||
|
||||
// Ouvrir le modal de gestion des présences
|
||||
openCheckPresenceModal(currentEventData);
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialise le bouton pour marquer comme absent
|
||||
* @param {Function} getCurrentEventData - Fonction pour obtenir les données de l'événement
|
||||
@ -742,6 +765,7 @@ export function initializeModalButtons(options = {}) {
|
||||
initializeSaveButton(getCurrentEventData, getCurrentMode, disableDateSynchronization);
|
||||
initializeDeleteButton(getCurrentEventData, onDeleted);
|
||||
initializeMarkPresentButton(getCurrentEventData, openCheckPresenceModal, onStatusChanged);
|
||||
initializeShowPresenceModalButton(getCurrentEventData, openCheckPresenceModal);
|
||||
initializeMarkAbsentButton(getCurrentEventData, onStatusChanged);
|
||||
initializeCancelAppointmentButton(getCurrentEventData, onStatusChanged);
|
||||
initializeDebugSmsButton(getCurrentEventData);
|
||||
|
||||
@ -302,6 +302,14 @@ export function updateModalDisplay(mode, canEdit, canDelete, eventData = null) {
|
||||
if (btn.id === 'markAbsentBtn') {
|
||||
btn.style.display = isGroupe ? 'none' : 'inline-block';
|
||||
}
|
||||
// Boutons spécifiques aux groupes (classe groupe-only-button)
|
||||
else if (btn.classList.contains('groupe-only-button')) {
|
||||
btn.style.display = isGroupe ? 'inline-block' : 'none';
|
||||
}
|
||||
// Boutons spécifiques aux individuels (classe individuel-only-button)
|
||||
else if (btn.classList.contains('individuel-only-button')) {
|
||||
btn.style.display = isGroupe ? 'none' : 'inline-block';
|
||||
}
|
||||
// Le bouton "Détail incident(s)" garde son état (géré par checkAndDisplayIncidentsButton)
|
||||
else if (btn.id === 'viewIncidentsBtn') {
|
||||
// Ne rien faire, l'état est géré ailleurs
|
||||
|
||||
@ -481,8 +481,11 @@ $crvi_is_front_context = ($crvi_agenda_context !== 'admin');
|
||||
<!-- Boutons de changement de statut rapide (mode édition uniquement) -->
|
||||
<div id="eventStatusButtons">
|
||||
<div class="btn-group" role="group">
|
||||
<button type="button" class="btn btn-success btn-sm" id="markPresentBtn" title="Valider la présence">
|
||||
<i class="fas fa-user-check me-1"></i>Valider présence
|
||||
<button type="button" class="btn btn-success btn-sm individuel-only-button" id="markPresentBtn" title="Valider la présence" style="display: none;">
|
||||
<i class="fas fa-user-check me-1"></i>Valider présences
|
||||
</button>
|
||||
<button type="button" class="btn btn-primary btn-sm groupe-only-button" id="showPresenceModalBtn" title="Afficher le modal de présence" style="display: none;">
|
||||
<i class="fa-regular fa-id-badge me-1"></i>Gérer les présences
|
||||
</button>
|
||||
<button type="button" class="btn btn-warning btn-sm" id="markAbsentBtn" title="Marquer comme absent">
|
||||
<i class="fas fa-user-times me-1"></i>Absent
|
||||
@ -558,12 +561,20 @@ jQuery(document).ready(function($){
|
||||
// Masquer le champ bénéficiaire pour les RDV de groupe
|
||||
$('#id_beneficiaire').closest('.col-md-6').hide();
|
||||
$('#id_beneficiaire').removeAttr('required');
|
||||
// Afficher les boutons spécifiques aux groupes
|
||||
$('.groupe-only-button').show();
|
||||
// Masquer les boutons spécifiques aux individuels
|
||||
$('.individuel-only-button').hide();
|
||||
} else {
|
||||
$('#groupeFields').hide();
|
||||
$('#nb_participants').removeAttr('required');
|
||||
// Afficher le champ bénéficiaire pour les RDV individuels
|
||||
$('#id_beneficiaire').closest('.col-md-6').show();
|
||||
$('#id_beneficiaire').attr('required', true);
|
||||
// Masquer les boutons spécifiques aux groupes
|
||||
$('.groupe-only-button').hide();
|
||||
// Afficher les boutons spécifiques aux individuels
|
||||
$('.individuel-only-button').show();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
Loading…
Reference in New Issue
Block a user