ajout gestion langues disponibles

This commit is contained in:
theShlavuk 2026-01-21 21:25:43 +01:00
parent f31fa748b1
commit 587646aca8
2 changed files with 27 additions and 1 deletions

View File

@ -219,9 +219,30 @@ function handleTypeConditionalFields(type, event, extendedProps) {
const nbParticipantsField = document.getElementById('nb_participants'); const nbParticipantsField = document.getElementById('nb_participants');
const beneficiaireContainer = document.getElementById('id_beneficiaire')?.closest('.col-md-6'); const beneficiaireContainer = document.getElementById('id_beneficiaire')?.closest('.col-md-6');
const beneficiaireField = document.getElementById('id_beneficiaire'); const beneficiaireField = document.getElementById('id_beneficiaire');
const langueContainer = document.getElementById('langue-container');
const langueField = document.getElementById('langue');
if (!groupeFields || !nbParticipantsField || !beneficiaireContainer || !beneficiaireField) return; 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') { if (type === 'groupe') {
// Afficher les champs de groupe // Afficher les champs de groupe
groupeFields.style.display = ''; groupeFields.style.display = '';
@ -264,11 +285,16 @@ export function resetForm() {
const nbParticipantsField = document.getElementById('nb_participants'); const nbParticipantsField = document.getElementById('nb_participants');
const beneficiaireContainer = document.getElementById('id_beneficiaire')?.closest('.col-md-6'); const beneficiaireContainer = document.getElementById('id_beneficiaire')?.closest('.col-md-6');
const beneficiaireField = document.getElementById('id_beneficiaire'); const beneficiaireField = document.getElementById('id_beneficiaire');
const langueContainer = document.getElementById('langue-container');
const langueField = document.getElementById('langue');
if (groupeFields) groupeFields.style.display = 'none'; if (groupeFields) groupeFields.style.display = 'none';
if (nbParticipantsField) nbParticipantsField.required = false; if (nbParticipantsField) nbParticipantsField.required = false;
if (beneficiaireContainer) beneficiaireContainer.style.display = ''; if (beneficiaireContainer) beneficiaireContainer.style.display = '';
if (beneficiaireField) beneficiaireField.required = true; 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 // Réinitialiser le bloc traducteur
const tradContainer = document.getElementById('traducteur-select-container'); const tradContainer = document.getElementById('traducteur-select-container');

View File

@ -226,7 +226,7 @@ $crvi_is_front_context = ($crvi_agenda_context !== 'admin');
</select> </select>
</div> </div>
</div> </div>
<div class="col-md-6"> <div class="col-md-6" id="langue-container">
<div class="mb-3"> <div class="mb-3">
<label for="langue" class="form-label">Langue *</label> <label for="langue" class="form-label">Langue *</label>
<select class="form-select" id="langue" name="langue" required> <select class="form-select" id="langue" name="langue" required>