diff --git a/Bootstrap_new/css/style_office.css b/Bootstrap_new/css/style_office.css
index 5c544f0..b670495 100644
--- a/Bootstrap_new/css/style_office.css
+++ b/Bootstrap_new/css/style_office.css
@@ -173,6 +173,24 @@ body.sidebar-collapsed .app-sidebar .nav-link:hover::after {
transform: translateY(-50%) translateX(5px);
}
+/* Cache les flèches de sous-menu quand c'est réduit */
+body.sidebar-collapsed .nav-arrow {
+ display: none !important;
+}
+
+/* Empêche les sous-menus de s'ouvrir verticalement en mode réduit */
+/* (Ils resteraient visibles mais écrasés sinon) */
+body.sidebar-collapsed .nav-submenu {
+ display: none !important;
+}
+
+/* Centrage des icônes pour un aspect "Barre d'outils" propre */
+body.sidebar-collapsed .nav-item .nav-link {
+ display: flex;
+ justify-content: center;
+ padding-left: 0;
+ padding-right: 0;
+}
.sidebar-nav {
padding: 24px 0;
@@ -829,7 +847,7 @@ body.sidebar-collapsed .nav-bar {
right: -100%;
}
}
-
+/**/
/* Mobile — UNE SEULE définition */
@media (max-width: 768px) {
.app-sidebar { transform: translateX(-100%); width: var(--sidebar-width); }
diff --git a/Controleur/ControleurFichebeneficiaire.php b/Controleur/ControleurFichebeneficiaire.php
index 4440cd3..e7e40e8 100644
--- a/Controleur/ControleurFichebeneficiaire.php
+++ b/Controleur/ControleurFichebeneficiaire.php
@@ -404,7 +404,11 @@ class ControleurFichebeneficiaire extends Controleur
$faceMatches = count($result['FaceMatches']);
if ($faceMatches==0)
{
- $_SESSION['messageFace'] = "Les faces ne correspondent pas! / The faces do not match!";
+
+ $_SESSION['messageFace'] = est_anglophone()
+ ? "The faces do not match!"
+ : "Les faces ne correspondent pas!";
+
$this->beneficiaire->resultat_traitement_face($username, '0', $_SESSION['messageFace']);
$this->genererVueAjax(array('messageFace' => $_SESSION['messageFace'], 'msgErreur' => $_SESSION['messageFace'], 'photo_succes' => "0"));
}
@@ -418,7 +422,10 @@ class ControleurFichebeneficiaire extends Controleur
$idBeneficiaire = $_SESSION['idBeneficiaire_C'];
$this->beneficiaire->supprimerPhoto($idBeneficiaire);
$this->beneficiaire->unregisterface($username, $motif);
- $_SESSION['messageFace'] = "Face supprimée pour motif : $motif / Face removed for reason : $motif";
+
+ $_SESSION['messageFace'] = est_anglophone()
+ ? "Face removed for reason : $motif"
+ : "Face supprimée pour motif : $motif";
$this->genererVueAjax(array('messageFace' => $_SESSION['messageFace'], 'photo_succes' => "1"));
$_SESSION['lienPhoto_C']="";
@@ -428,7 +435,11 @@ class ControleurFichebeneficiaire extends Controleur
$this->beneficiaire->resultat_traitement_face($username, '1', '');
$_SESSION['okId_face'] = "1";
- $_SESSION['messageFace'] = "Face confirmée! / Face confirmed!";
+
+ $_SESSION['messageFace'] = est_anglophone()
+ ? "Face confirmed!"
+ : "Face confirmée!";
+
$this->genererVueAjax(array('messageFace' => $_SESSION['messageFace'], 'msgErreur' => $_SESSION['messageFace'], 'photo_succes' => "1"));
}
}
@@ -437,7 +448,7 @@ class ControleurFichebeneficiaire extends Controleur
echo 'Message: ' .$e->getMessage();
// exit();
$msgErreur = $e->getMessage();
- // $_SESSION['messageFace'] = "Un problème lors du traitement! / A problem during treatment!";
+
$_SESSION['messageFace'] = $msgErreur;
$this->beneficiaire->resultat_traitement_face($username, '9', $msgErreur);
@@ -493,7 +504,10 @@ class ControleurFichebeneficiaire extends Controleur
$idBeneficiaire = $_SESSION['idBeneficiaire_C'];
$this->beneficiaire->changerPhoto($idBeneficiaire, $nomImage);
- $_SESSION['messageFace'] = "Enrôlement effectué avec succès! / Enrollment completed successfully!!";
+ $_SESSION['messageFace'] = est_anglophone()
+ ? "Enrollment completed successfully!"
+ : "Enrôlement effectué avec succès!";
+
$this->genererVueAjax(array('messageFace' => $_SESSION['messageFace'], 'msgErreur' => $_SESSION['messageFace'], 'photo_succes' => "1"));
}
$this->beneficiaire->resultat_traitement_face($username, '1', '');
diff --git a/Js/fonctions.js b/Js/fonctions.js
index d25f0d0..ef77a24 100755
--- a/Js/fonctions.js
+++ b/Js/fonctions.js
@@ -74,7 +74,7 @@ function raffraichier_gabarit()
if((codeSociete == undefined || codeSociete <= " ") && vue !="Connexion"){
- window.location.assign($("#racineWeb" ).val()+"Connexion/");
+ window.location.assign($("#racineWeb" ).val()+"Connexion/deconnecter/");
}
},
error: function(errorData)
@@ -196,7 +196,7 @@ function baseSwal(options) {
* ALERTE SIMPLE
* Affiche une information bilingue.
*/
-/* mis en commentaire le temps que cela fonctionne 04/01/2026
+
function alert_ebene(p_msg, p_msg_eng) {
const codeLangue = $("#codeLangue").val();
const message = (codeLangue === "en_US") ? p_msg_eng : p_msg;
@@ -207,24 +207,8 @@ function alert_ebene(p_msg, p_msg_eng) {
confirmButtonText: codeLangue === "en_US" ? 'OK' : 'D\'accord'
});
}
-*/
/*
-function alert_ebene(p_msg, p_msg_eng)
-{
- codeLangue = $("#codeLangue").val();
-
- if(codeLangue=="en_US")
- {
- alert(p_msg_eng);
- }
- else
- {
- alert(p_msg);
- }
-}
- */
-
function alert_ebene(msgFr, msgEn) {
const codeLangue = document.querySelector("#codeLangue")?.value || "fr_FR";
const message = (codeLangue === "en_US") ? msgEn : msgFr;
@@ -232,35 +216,6 @@ function alert_ebene(msgFr, msgEn) {
// Bloquant : l'utilisateur doit cliquer sur OK
window.alert(message);
}
-
-/*
-function alert_ebene(p_msg, p_msg_eng) {
- const codeLangue = document.querySelector("#codeLangue")?.value || "fr_FR";
- const message = (codeLangue === "en_US") ? p_msg_eng : p_msg;
-
- return Swal.fire({
- text: message,
- icon: 'info',
- confirmButtonText: (codeLangue === "en_US") ? 'OK' : 'D\'accord'
- }).then(() => {
- // Ici tu mets l'action suivante, elle ne s'exécute qu'après clic sur OK
- console.log("Utilisateur a validé le message");
- });
-}
- */
-
-
-/*
-function alert_ebene(msgFr, msgEn) {
- const codeLangue = document.querySelector("#codeLangue")?.value || "fr_FR";
- const message = (codeLangue === "en_US") ? msgEn : msgFr;
-
- return Swal.fire({
- text: message,
- icon: 'info',
- confirmButtonText: (codeLangue === "en_US") ? 'OK' : 'D\'accord'
- });
-}
*/
@@ -515,11 +470,8 @@ function ajax_context_police_afficher(idPolice) {
const msg = "Erreur lors de la préparation du dossier police.";
const msgEng = "Error while preparing the policy file.";
- if (typeof alert_ebene === "function") {
- alert_ebene(msg, msgEng);
- } else {
- alert(msg);
- }
+ alert_ebene(msg, msgEng);
+
},
complete: function() {
// Redirection vers la fiche de la police après le traitement AJAX
@@ -606,11 +558,9 @@ function imprimer_quittance_client(idQuittance) {
if (!idQuittance || parseInt(idQuittance) <= 0) {
const v_msg = "Rien à imprimer !";
const v_msgEng = "Nothing to print!";
- if (typeof alert_ebene === "function") {
- alert_ebene(v_msg, v_msgEng);
- } else {
- alert(v_msg);
- }
+
+ alert_ebene(v_msg, v_msgEng);
+
return;
}
@@ -1864,7 +1814,8 @@ function ebene_enregistrer_photo_face() // OK
{
v_msg="Enrôlement effectué avec succès!";
v_msgEng="Enrollment completed successfully!!";
- // alert_ebene(v_msg, v_msgEng);
+
+ //alert_ebene(v_msg, v_msgEng);
setTimeout(() => {
window.location.assign($("#racineWeb" ).val()+"Fichebeneficiaire/"+v_idBeneficiaire);
}, 1000)
@@ -1977,7 +1928,7 @@ function ebene_confirmer_photo_face() // OK
$("#okId_face").val("1");
v_msg="Face confirmée!";
v_msgEng="Face confirmed!";
- // alert_ebene(v_msg, v_msgEng);
+ //alert_ebene(v_msg, v_msgEng);
setTimeout(() => {
prestations();
}, 2000)
@@ -2094,7 +2045,7 @@ function ebene_supprimer_photo_face() // OK
v_msg="Face supprimée avec succès!";
v_msgEng="Face removed successfully!";
- // alert_ebene(v_msg, v_msgEng);
+ //alert_ebene(v_msg, v_msgEng);
setTimeout(() => {
prestations();
}, 2000)
@@ -2803,7 +2754,7 @@ function importer_modele_assure(idAvenant) {
// On attend un tout petit peu que le DOM soit stable avant de passer à la suite
setTimeout(function(){
maj_etape_3_import_assures();
- }, 500);
+ }, 1000);
} else {
div_export.html(''); // On cache le spinner
// Le message d'erreur est déjà affiché par $("#div_erreur_excel").html(data)
@@ -2869,12 +2820,12 @@ function calculer_prime_inmportation()
type: 'POST',
// data: donnees,
success: function(data) {
- /*
+
v_msg="Calcul de primes terminée avec succès!";
v_msgEng="Premium calculation completed successfully!";
alert_ebene(v_msg, v_msgEng);
- alert("Calcul de primes terminée avec succès!");
- */
+ //alert("Calcul de primes terminée avec succès!");
+
},
error: function(data) {
},
@@ -5228,17 +5179,4 @@ function retirer_un_menu_vue_profil(codeMenu)
afficher_menu_vue_profil();
}
});
-}
-
-function verifier_Echeance_ren()
-{
- codeTypeAvenant=$("#codeTypeAvenant").val();
-
- if(codeTypeAvenant!="REN")
- {
- return;
- }
-
- CalculerEcheanceRen();
- CalculerFinRen();
-}
+}
\ No newline at end of file
diff --git a/Vue/gabarit.php b/Vue/gabarit.php
index 5e963a9..620fe88 100755
--- a/Vue/gabarit.php
+++ b/Vue/gabarit.php
@@ -126,7 +126,7 @@ $photoAssureCrypte = $_SESSION['photoAssureCrypte'];
-
+
@@ -134,6 +134,10 @@ $photoAssureCrypte = $_SESSION['photoAssureCrypte'];
+
+
+
+
@@ -183,8 +187,6 @@ $photoAssureCrypte = $_SESSION['photoAssureCrypte'];
sheet.href && sheet.href.includes('override.css')
);
-
-
if (!overrideLoaded) {
// Charger dynamiquement
@@ -217,7 +219,6 @@ $photoAssureCrypte = $_SESSION['photoAssureCrypte'];