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.",
selectNature.classList.add('is-invalid'); "Please select a document type before sending the file."
selectNature.focus(); );
return false; selectNature.focus();
} return false;
}
// Cas : Type "Autre" sélectionné mais libellé vide // Si "Autre" est choisi mais le libellé est vide
if (valNature === 'AUT' && inputAutre.value.trim() === "") { if (valNature === 'AUT' && inputAutre.value.trim() === "") {
e.preventDefault(); e.preventDefault();
await alert_ebene(
await alert_ebene( "Veuillez préciser le type de document dans le champ 'Libellé'.",
"Veuillez préciser le type de document dans le champ orange.", "Please specify the document type in the 'Label' field."
"Please specify the document type in the orange field." );
); inputAutre.focus();
return false;
inputAutre.classList.add('is-invalid'); }
inputAutre.focus();
return false;
} }
}); });
}); });