diff --git a/assets/js/modules/agenda-modal-forms.js b/assets/js/modules/agenda-modal-forms.js index 57a1c24..c404d8a 100644 --- a/assets/js/modules/agenda-modal-forms.js +++ b/assets/js/modules/agenda-modal-forms.js @@ -219,9 +219,30 @@ function handleTypeConditionalFields(type, event, extendedProps) { const nbParticipantsField = document.getElementById('nb_participants'); const beneficiaireContainer = document.getElementById('id_beneficiaire')?.closest('.col-md-6'); const beneficiaireField = document.getElementById('id_beneficiaire'); + const langueContainer = document.getElementById('langue-container'); + const langueField = document.getElementById('langue'); if (!groupeFields || !nbParticipantsField || !beneficiaireContainer || !beneficiaireField) return; + // Gérer le champ langue selon le type + if (type === 'permanence') { + // Cacher le champ langue pour les permanences (les langues sont dans langues_disponibles) + if (langueContainer) { + langueContainer.style.display = 'none'; + } + if (langueField) { + langueField.removeAttribute('required'); + } + } else { + // Afficher le champ langue pour les autres types + if (langueContainer) { + langueContainer.style.display = ''; + } + if (langueField) { + langueField.setAttribute('required', 'required'); + } + } + if (type === 'groupe') { // Afficher les champs de groupe groupeFields.style.display = ''; @@ -264,11 +285,16 @@ export function resetForm() { const nbParticipantsField = document.getElementById('nb_participants'); const beneficiaireContainer = document.getElementById('id_beneficiaire')?.closest('.col-md-6'); const beneficiaireField = document.getElementById('id_beneficiaire'); + const langueContainer = document.getElementById('langue-container'); + const langueField = document.getElementById('langue'); if (groupeFields) groupeFields.style.display = 'none'; if (nbParticipantsField) nbParticipantsField.required = false; if (beneficiaireContainer) beneficiaireContainer.style.display = ''; if (beneficiaireField) beneficiaireField.required = true; + // Réafficher le champ langue (masqué pour les permanences) + if (langueContainer) langueContainer.style.display = ''; + if (langueField) langueField.setAttribute('required', 'required'); // Réinitialiser le bloc traducteur const tradContainer = document.getElementById('traducteur-select-container'); diff --git a/templates/modules/modals/event-modal.php b/templates/modules/modals/event-modal.php index ed0d05e..1afea14 100644 --- a/templates/modules/modals/event-modal.php +++ b/templates/modules/modals/event-modal.php @@ -226,7 +226,7 @@ $crvi_is_front_context = ($crvi_agenda_context !== 'admin'); -