This commit is contained in:
KONE SOREL 2026-03-24 12:19:46 +00:00
parent 283238fec8
commit b16cc5a701

View File

@ -25,31 +25,51 @@
<form id="form_ged_adherent" enctype="multipart/form-data" action="Gedadherent" method="post"> <form id="form_ged_adherent" enctype="multipart/form-data" action="Gedadherent" method="post">
<div class="row g-3"> <div class="row g-3">
<div class="col-md-3"> <div class="col-md-3">
<label class="form-label small fw-bold text-muted text-uppercase"><?= _("Période du") ?></label>
<div class="input-group input-group-sm">
<span class="input-group-text bg-white"><i class="far fa-calendar-alt"></i></span>
<input class="form-control datepicker text-center" type="text" id="d1" name="d1"
value="<?= dateLang($_SESSION['dUneSemaineAvant_C'], $_SESSION['lang']) ?>" required>
<span class="input-group-text bg-light fw-bold"><?= _("au") ?></span>
<input class="form-control datepicker text-center" type="text" id="d2" name="d2"
value="<?= dateCouranteLang($_SESSION['lang']) ?>" required>
</div>
</div>
<div class="col-md-5">
<label class="form-label small fw-bold text-muted text-uppercase"><?= _("Nom du document") ?></label>
<input class="form-control form-control-sm" type="text" id="nomOrigine" name="nomOrigine" placeholder="<?= _("Rechercher un fichier...") ?>">
</div>
<div class="col-md-4">
<label class="form-label fw-bold small text-muted text-uppercase"> <label class="form-label fw-bold small text-muted text-uppercase">
<?= _("Type Document") ?><span class="text-danger">*</span> <?= _("Type Document") ?><span class="text-danger">*</span>
</label> </label>
<select class="form-select form-select-sm border-primary-subtle" id="codeNaturePiece" name="codeNaturePiece" required> <select class="form-select" id="codeNaturePiece" name="codeNaturePiece" required>
<option value=""><?= _("-- Choisir --") ?></option>
<?php liste_options($naturepiece, ""); ?> <?php liste_options($naturepiece, ""); ?>
</select> </select>
</div> </div>
<div class="col-md-3" id="div_autre_type" style="display: none;"> <div class="col-md-12" id="div_autre_type" style="display: none;">
<label class="form-label fw-bold small text-muted text-uppercase"> <div class="alert alert-info py-2 shadow-sm border-start border-4 border-info">
<?= _("Préciser si autre type") ?><span class="text-danger">*</span> <label class="form-label fw-bold small text-muted text-uppercase mb-1">
</label> <?= _("Préciser si autre type") ?><span class="text-danger">*</span>
<input type="text" class="form-control form-control-sm border-warning" id="libelleAutre" name="libelleAutre" placeholder="<?= _("Saisissez le type...") ?>"> </label>
<input type="text" class="form-control form-control-sm border-info" id="libelleAutre" name="libelleAutre" placeholder="<?= _("Saisissez le libellé ici...") ?>">
</div>
</div> </div>
<div class="col-md-9"> <div class="col-md-10">
<label class="form-label small fw-bold text-muted text-uppercase"><?= _("Nouveau Document") ?></label> <label class="form-label small fw-bold text-muted text-uppercase"><?= _("Nouveau Document") ?></label>
<input class="form-control form-control-sm border-info" name="fichier_upload" type="file" id="fichier_upload"> <input class="form-control form-control-sm border-info" name="fichier_upload" type="file" id="fichier_upload">
</div> </div>
<div class="col-md-3 d-flex align-items-end gap-2"> <div class="col-md-2 d-flex align-items-end gap-2">
<button type="button" class="btn btn-primary btn-sm flex-fill fw-bold shadow-sm" onclick="lister_ged_adherent();"> <button type="button" class="btn btn-primary btn-sm flex-fill fw-bold" onclick="lister_ged_adherent();">
<i class="fas fa-sync-alt me-1"></i> <?= _("Filtrer") ?> <i class="fas fa-sync-alt me-1"></i> <?= _("Filtrer") ?>
</button> </button>
<button type="submit" id="btn_submit_ged" name="submit" class="btn btn-success btn-sm flex-fill fw-bold shadow-sm"> <button type="submit" name="submit" class="btn btn-success btn-sm flex-fill fw-bold">
<i class="fas fa-upload me-1"></i> <?= _("Envoyer") ?> <i class="fas fa-upload me-1"></i> <?= _("Envoyer") ?>
</button> </button>
</div> </div>
@ -118,52 +138,48 @@ document.addEventListener('DOMContentLoaded', function() {
const selectNature = document.getElementById('codeNaturePiece'); const selectNature = document.getElementById('codeNaturePiece');
const divAutre = document.getElementById('div_autre_type'); const divAutre = document.getElementById('div_autre_type');
const inputAutre = document.getElementById('libelleAutre'); const inputAutre = document.getElementById('libelleAutre');
const form = document.getElementById('form_ged_adherent'); const formGed = document.getElementById('form_ged_adherent');
// 1. Gérer l'affichage dynamique du champ "Autre" // 1. Gérer l'affichage du champ "Préciser"
selectNature.addEventListener('change', function() { selectNature.addEventListener('change', function() {
if (this.value === 'AUT') { if (this.value === 'AUT') {
divAutre.style.display = 'block'; divAutre.style.display = 'block';
inputAutre.setAttribute('required', 'required');
inputAutre.focus(); inputAutre.focus();
} else { } else {
divAutre.style.display = 'none'; divAutre.style.display = 'none';
inputAutre.removeAttribute('required'); inputAutre.value = ''; // On vide le champ si on change de choix
inputAutre.value = '';
} }
}); });
// 2. Contrôle du formulaire au Submit avec alerte Ebene // 2. Contrôle avant soumission (Submit)
form.addEventListener('submit', async function(e) { formGed.addEventListener('submit', async function(e) {
const valNature = selectNature.value; const valNature = selectNature.value;
const fileInput = document.getElementById('fichier_upload'); const fileInput = document.getElementById('fichier_upload');
// Cas : Type de document non sélectionné // On ne vérifie que si un fichier est sélectionné (pour l'upload)
if (valNature === "") { if (fileInput.value !== "") {
e.preventDefault(); // On bloque l'envoi immédiatement
await alert_ebene( // Si le type de document est vide
"Veuillez sélectionner un Type de Document avant l'envoi.", if (valNature === "") {
"Please select a Document Type before sending." e.preventDefault();
); await alert_ebene(
"Veuillez sélectionner un type de document avant d'envoyer le fichier.",
"Please select a document type before sending the file."
);
selectNature.focus();
return false;
}
selectNature.classList.add('is-invalid'); // Si "Autre" est choisi mais le libellé est vide
selectNature.focus(); if (valNature === 'AUT' && inputAutre.value.trim() === "") {
return false; e.preventDefault();
} await alert_ebene(
"Veuillez préciser le type de document dans le champ 'Libellé'.",
// Cas : Type "Autre" sélectionné mais libellé vide "Please specify the document type in the 'Label' field."
if (valNature === 'AUT' && inputAutre.value.trim() === "") { );
e.preventDefault(); inputAutre.focus();
return false;
await alert_ebene( }
"Veuillez préciser le type de document dans le champ orange.",
"Please specify the document type in the orange field."
);
inputAutre.classList.add('is-invalid');
inputAutre.focus();
return false;
} }
}); });
}); });