This commit is contained in:
KANE LAZENI 2026-01-21 02:57:26 +00:00
parent 5854b8c1a4
commit 88347b404d
4917 changed files with 15396 additions and 262030 deletions

View File

@ -72,6 +72,50 @@ body {
z-index: 1030;
}
/* Nettoyage du bouton dropdown */
.user-menu.dropdown-toggle {
display: flex;
align-items: center;
outline: none;
box-shadow: none !important;
}
/* Supprimer la petite flèche par défaut de Bootstrap si elle vous gêne */
.user-menu.dropdown-toggle::after {
display: none;
}
/* Style de base de la flèche */
.user-arrow {
font-size: 0.8rem;
transition: transform 0.3s ease;
color: #6c757d; /* Couleur grise discrète */
}
/* Rotation automatique quand le menu est ouvert */
#userDropdownBtn[aria-expanded="true"] .user-arrow {
transform: rotate(180deg);
color: var(--bs-primary); /* Change la couleur en bleu au clic (optionnel) */
}
/* On s'assure que le bouton reste bien aligné horizontalement */
.user-menu {
display: flex;
align-items: center;
}
/* S'assurer que le menu dropdown passe devant tout */
.dropdown-menu {
z-index: 2000 !important;
min-width: 220px;
border: 1px solid rgba(0,0,0,0.1);
}
/* Positionnement quand le header est fixed */
.dropdown-menu[data-bs-popper] {
margin-top: 15px !important;
}
.header-content {
display: flex;
align-items: center;
@ -80,6 +124,52 @@ body {
padding: 0 24px;
}
/* 1. Réduction de l'espace global du bouton */
#userDropdownBtn {
gap: 8px; /* Contrôle l'espace entre avatar, texte et flèche */
}
/* 2. Réduction des textes */
.user-name {
font-size: 0.85rem !important; /* Un peu plus petit */
margin-bottom: -2px; /* Rapproche le nom du rôle */
}
.user-role {
font-size: 1.15rem !important;
opacity: 0.8;
}
/* 3. Réduction de l'avatar */
.user-avatar {
width: 32px !important; /* Au lieu de 36 ou 40 */
height: 32px !important;
font-size: 0.8rem; /* Initiales plus petites */
display: flex;
align-items: center;
justify-content: center;
}
/* 4. Rapprochement de la flèche */
.user-arrow {
font-size: 0.7rem;
margin-left: 4px !important; /* Espace réduit avec le texte */
}
/* 5. Densité du menu déroulant (Dropdown) */
.dropdown-menu {
padding: 0.25rem 0; /* Moins d'espace en haut et en bas du menu */
}
.dropdown-item {
padding: 0.4rem 1rem; /* Items plus serrés */
font-size: 0.85rem;
}
.dropdown-header {
padding: 0.5rem 1rem;
}
.logo-container {
display: flex;
align-items: center;
@ -173,6 +263,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 +937,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); }

View File

@ -3,20 +3,26 @@ require_once 'Framework/Controleur.php';
require_once 'Modele/Utilisateur.php';
require_once 'Modele/Menuvueutilisateur.php';
class ControleurListeprofilass extends Controleur
class ControleurAccessubmenus extends Controleur
{
private $menuvue;
private $utilisateur;
public function __construct() {
$this->menuvue = new Menuvueutilisateur();
$this->menuvue->getMenuVue('Listeprofilass');
$this->menuvue->getMenuVue('Accessubmenus');
$this->utilisateur = new Utilisateur();
}
public function index()
{
$profils = $this->utilisateur->getListeProfilComplet();
$this->genererVue(array('profils' => $profils));
$profil = $this->utilisateur->getListeProfilCode();
$menus = array();
$this->genererVue(array(
'profil' => $profil,
'menus' => $menus
));
}
}

View File

@ -17,4 +17,5 @@ class ControleurAjaxchangerlangue extends Controleur {
{
$this->utilisateur->changerlangueutilisateur();
}
}

View File

@ -71,13 +71,13 @@ class ControleurAjaxexporterunequittanceclient extends Controleurrequete
// 2eme ligne
$pdf->Cell(25,$ht,convertirc(_('Effet')),0,0,'L',false);
$pdf->Cell(35,$ht,convertirc(" : ".dateLang($quittance['dateEffet'])),0,0,'L',false);
$pdf->Cell(35,$ht,convertirc(" : ".dateLang($quittance['dateEffet']), $_SESSION['lang']),0,0,'L',false);
$pdf->Cell(25,$ht,convertirc(_('Echéance')),0,0,'L',false);
$pdf->Cell(35,$ht,convertirc(" : ".dateLang($quittance['dateEcheance'])),0,0,'L',false);
$pdf->Cell(35,$ht,convertirc(" : ".dateLang($quittance['dateEcheance']), $_SESSION['lang']),0,0,'L',false);
$pdf->Cell(25,$ht,convertirc(_('Edition')),0,0,'L',false);
$pdf->Cell(0,$ht,convertirc(' : '.heureCouranteLang($_SESSION['lang'])),0,1,'L',false);
$pdf->Cell(0,$ht,convertirc(' : '.heureCouranteLang($_SESSION['lang']), $_SESSION['lang']),0,1,'L',false);
// 3eme ligne
$pdf->Cell(25,$ht,convertirc(_("P Nette Com")),0,0,'L',false);
@ -119,7 +119,7 @@ class ControleurAjaxexporterunequittanceclient extends Controleurrequete
$pdf->Cell(35,$ht,convertirc(" : ".format_N($quittance['nbAliment'])),0,0,'L',false);
$pdf->Cell(25,$ht,convertirc(_("A Payer avant")),0,0,'L',false);
$pdf->Cell(35,$ht,convertirc(" : ".dateLang($quittance['datePaiement'])),0,1,'L',false);
$pdf->Cell(35,$ht,convertirc(" : ".dateLang($quittance['datePaiement']), $_SESSION['lang']),0,1,'L',false);
// 7eme ligne

View File

@ -57,94 +57,52 @@ class ControleurAjaxhabilitation extends Controleur
}
public function afficheraccessousmenusass()
public function afficheraccessousmenus()
{
$codeProfil = $this->requete->getParametreFormulaire("codeProfil");
$codeModule = $this->requete->getParametreFormulaire("codeModule");
$vue = $this->requete->getParametreFormulaire("vue");
$codeVue = $this->requete->getParametreFormulaire("codeVue");
$menus_accessibles = $this->utilisateur->getSousMenusAccessiblesVue($codeProfil, $vue);
$menus_non_accessibles = $this->utilisateur->getSousMenusNonAccessiblesVue($codeProfil,$vue);
$menus_accessibles = $this->utilisateur->getSousMenusAccessiblesVue($codeProfil, $codeVue);
$menus_non_accessibles = $this->utilisateur->getSousMenusNonAccessiblesVue($codeProfil,$codeVue);
$this->genererVueAjax(array('menus_accessibles' => $menus_accessibles, 'menus_non_accessibles' => $menus_non_accessibles,
'codeModule' => $codeModule));
$this->genererVueAjax(array(
'menus_accessibles' => $menus_accessibles,
'menus_non_accessibles' => $menus_non_accessibles
));
}
public function ajoutertoussousmenusrh()
{
$codeProfil = $this->requete->getParametreFormulaire("codeProfil");
$codeVue = $this->requete->getParametreFormulaire("codeVue");
$this->utilisateur->ajoutertoussousmenusrh($codeProfil, $codeVue);
}
public function ajoutertoussousmenusass()
public function retirertoussousmenusrh()
{
$codeProfil = $this->requete->getParametreFormulaire("codeProfil");
$vue = $this->requete->getParametreFormulaire("vue");
$codeVue = $this->requete->getParametreFormulaire("codeVue");
$this->utilisateur->ajoutertoussousmenusass($codeProfil, $vue);
}
public function retirertoussousmenusass()
{
$codeProfil = $this->requete->getParametreFormulaire("codeProfil");
$vue = $this->requete->getParametreFormulaire("vue");
$this->utilisateur->retirertoussousmenusass($codeProfil, $vue);
$this->utilisateur->retirertoussousmenusrh($codeProfil, $codeVue);
}
public function ajouterunsousmenusass()
public function ajouterunsousmenurh()
{
$codeProfil = $this->requete->getParametreFormulaire("codeProfil");
$vue = $this->requete->getParametreFormulaire("vue");
$codeVue = $this->requete->getParametreFormulaire("codeVue");
$codeMenu = $this->requete->getParametreFormulaire("codeMenu");
$this->utilisateur->ajouterunsousmenusass($codeProfil, $vue, $codeMenu);
$this->utilisateur->ajouterunsousmenurh($codeProfil, $codeVue, $codeMenu);
}
public function retirerunsousmenusass()
public function retirerunsousmenurh()
{
$codeProfil = $this->requete->getParametreFormulaire("codeProfil");
$vue = $this->requete->getParametreFormulaire("vue");
$codeVue = $this->requete->getParametreFormulaire("codeVue");
$codeMenu = $this->requete->getParametreFormulaire("codeMenu");
$this->utilisateur->retirerunsousmenusass($codeProfil, $vue, $codeMenu);
}
public function creerprofilass()
{
$libelle = $this->requete->getParametreFormulaire("libelle");
$libelleEng = $this->requete->getParametreFormulaire("libelleEng");
$this->utilisateur->creerprofilass($libelle, $libelleEng);
}
public function transfererdroitsprofilassureur()
{
$codeProfilSource = $this->requete->getParametreFormulaire("codeProfilSource");
$codeProfilDest = $this->requete->getParametreFormulaire("codeProfilDest");
$this->utilisateur->transfererdroitsprofilassureur($codeProfilSource, $codeProfilDest);
// $this->genererVueAjax();
}
public function batchviderprofilass()
{
$codeProfil = $this->requete->getParametreFormulaire("codeProfil");
$this->utilisateur->batchviderprofilass($codeProfil);
}
public function batchattribuerdroitsreferenceass()
{
$codeProfil = $this->requete->getParametreFormulaire("codeProfil");
$this->utilisateur->batchattribuerdroitsreferenceass($codeProfil);
}
public function ajaxlisteusersass()
{
$codeProfil = $this->requete->getParametreFormulaire("codeProfil");
$nom = $this->requete->getParametreFormulaire("nom");
$prenoms = $this->requete->getParametreFormulaire("prenoms");
$codePointVente = $this->requete->getParametreFormulaire("codePointVente");
$users = $this->utilisateur->getusersassueurfiltre($codeProfil, $nom, $prenoms, $codePointVente);
$this->genererVueAjax(array('users' => $users));
$this->utilisateur->retirerunsousmenurh($codeProfil, $codeVue, $codeMenu);
}
}

View File

@ -0,0 +1,23 @@
<?php
require_once 'Framework/Controleur.php';
require_once 'Modele/Utilisateur.php';
class ControleurAjaxmenusprofil extends Controleur
{
private $utilisateur;
public function __construct() {
$this->utilisateur = new Utilisateur();
}
public function index()
{
$codeProfil = $this->requete->getParametreFormulaire("codeProfil");
//
$menus = $this->utilisateur->getListeProfil($codeProfil);
$this->genererVueAjax(array(
'menus' => $menus
));
}
}

View File

@ -65,14 +65,11 @@ class ControleurAjaxuserrhclient extends Controleur {
$email = $this->requete->getParametreFormulaire("email");
$motPass = $this->requete->getParametreFormulaire("motPass");
$codeLangue = $this->requete->getParametreFormulaire("codeLangue");
$actVisible = $this->requete->getParametreFormulaire("actVisible");
$AffectionVisible = $this->requete->getParametreFormulaire("AffectionVisible");
$codeModeGenerationPass = $this->requete->getParametreFormulaire("codeModeGenerationPass");
$codeModeEnvoiPass = $this->requete->getParametreFormulaire("codeModeEnvoiPass");
$codeProfil = $this->requete->getParametreFormulaire("codeProfil");
if($this->client->existelogin($codeUtilisateur))
{
@ -80,8 +77,8 @@ class ControleurAjaxuserrhclient extends Controleur {
}
else
{
$this->client->creeruser($codeUtilisateur, $nom, $prenoms, $telephone, $email, $motPass, $codeLangue, $actVisible,
$AffectionVisible, $codeModeGenerationPass, $codeModeEnvoiPass, $codeProfil);
$this->client->creeruser($codeUtilisateur, $nom, $prenoms, $telephone, $email, $motPass, $codeLangue,
$codeModeGenerationPass, $codeModeEnvoiPass, $codeProfil);
$this->genererVueAjax(array('uniciteLogin' => "1", 'msgErreur' => "Utlisateur $codeUtilisateur créé avec succès!"));
}

View File

@ -325,16 +325,6 @@ require_once 'Framework/Localisation.php';
$this->requete->getSession()->setAttribut("nomClient_C", $utilisateur['nomClient']);
$this->requete->getSession()->setAttribut("prenomClient_C", $utilisateur['prenomClient']);
$this->requete->getSession()->setAttribut("adresseGeoClient_C", $utilisateur['adresseGeoClient']);
$this->requete->getSession()->setAttribut("boitepostaleClient_C", $utilisateur['boitepostaleClient']);
$this->requete->getSession()->setAttribut("telephoneBureauClient_C", $utilisateur['telephoneBureauClient']);
$this->requete->getSession()->setAttribut("telephonePortableClient_C", $utilisateur['telephonePortableClient']);
$this->requete->getSession()->setAttribut("faxClient_C", $utilisateur['faxClient']);
$this->requete->getSession()->setAttribut("emailClient_C", $utilisateur['emailClient']);
$this->requete->getSession()->setAttribut("villeClient_C", $utilisateur['villeClient']);
$this->requete->getSession()->setAttribut("paysClient_C", $utilisateur['paysClient']);
$this->requete->getSession()->setAttribut("idPolice_C", "");
$this->requete->getSession()->setAttribut("numeroPolice_C", "");
$this->requete->getSession()->setAttribut("codeGcAssureur_C", "");
@ -520,7 +510,6 @@ require_once 'Framework/Localisation.php';
$this->requete->getSession()->setAttribut("largeurPhoto", $utilisateur['largeurPhoto']);
$this->requete->getSession()->setAttribut("longueurPhoto", $utilisateur['longueurPhoto']);
$this->requete->getSession()->setAttribut("assureAjoutPhoto", $utilisateur['assureAjoutPhoto']);
$_SESSION['fingerActif'] = '0';
$_SESSION['faceActif'] = '0';
@ -531,8 +520,8 @@ require_once 'Framework/Localisation.php';
$logo = 'Societes/'.$_SESSION['codeSociete'].'/images/logo_etat.png';
$this->requete->getSession()->setAttribut("lienLogo", $logo);
$this->requete->getSession()->setAttribut("dossierAssure", $utilisateur['dossierAssure']);
$dossierLogo=$_SESSION['dossierAssure']."/images/logo_etat.png";
$this->requete->getSession()->setAttribut("dossierRh", $utilisateur['dossierRh']);
$dossierLogo=$_SESSION['dossierRh']."/images/logo_etat.png";
$this->requete->getSession()->setAttribut("dossierLogo", $dossierLogo);
$_SESSION['idLogapiface'] = "0";
@ -543,6 +532,32 @@ require_once 'Framework/Localisation.php';
$_SESSION['derniere_action'] = time();
$_SESSION['superUser'] = '0';
$passExpired = ( ($dureeViePassWord>"0") && ($agePass>$dureeViePassWord) );
$_SESSION['passExpired'] = $passExpired;
/*
var_dump(
array(
"verifierLongueurPass" => $_SESSION['verifierLongueurPass'],
"longueurPassWord" => $longueurPassWord,
"motCourt" => $motCourt,
"motCourt" => $changerMotPassDefaut,
"dureeViePassWord" => $dureeViePassWord,
"agePass" => $agePass,
"agePass" => $agePass,
"passExpired" => $passExpired,
"dossierRh" => $_SESSION['dossierRh'],
"dossierLogo" => $_SESSION['dossierLogo'],
)
);
exit();
*/
$this->requete->getSession()->setAttribut("dossierRh", $utilisateur['dossierRh']);
$dossierLogo=$_SESSION['dossierRh']."/images/logo_etat.png";
$this->requete->getSession()->setAttribut("dossierLogo", $dossierLogo);
if(($motCourt===true) or ($changerMotPassDefaut===true) or ($passExpired===true))

View File

@ -46,6 +46,8 @@ class ControleurCreeradherent extends Controleur {
$this->pays = new Pays();
$this->groupesanguin = (new Groupesanguin())->getListe();
$this->tarif = new Tarif();
$this->college = (new Collegepolice())->getListe($_SESSION['idPolice_C']);
$this->avenant = (new Avenant())->getListeEnCours($_SESSION['idPolice_C']);
$this->ouinonprorata = (new Ouinon())->getListe();
@ -58,8 +60,10 @@ class ControleurCreeradherent extends Controleur {
public function index()
{
$idClient = $_SESSION['idClient_C'];
$client = $this->client->getClientId($idClient);
$codeSociete = $_SESSION['codeSociete'];
$codePays = $client['codePays'];
$codeVille = $client['codeVille'];

View File

@ -39,6 +39,9 @@ class ControleurCreeravenant extends Controleur {
$_SESSION['dateAvenant_C'] = $dateAvenant;
$_SESSION['motifavenant_C'] = $motifavenant;
//var_dump($codeTypeAvenant);
//die();
if($codeTypeAvenant=="RET")
{
$this->rediriger("Ficheretrait");

View File

@ -66,7 +66,9 @@ class ControleurFichebeneficiaire extends Controleur
{
if( !mkdir(TARGET, 0755) )
{
$message = 'Erreur : le répertoire cible ne peut-être créé ! Vérifiez que vous diposiez des droits suffisants pour le faire ou créez le manuellement !';
$message = est_anglophone()
? 'Error: the target directory cannot be created! Please check that you have sufficient rights to do so or create it manually!'
: 'Erreur : le répertoire cible ne peut-être créé ! Vérifiez que vous disposiez des droits suffisants pour le faire ou créez le manuellement !';
}
}
@ -88,106 +90,109 @@ class ControleurFichebeneficiaire extends Controleur
// On verifie le type de l'image
if($infosImg[2] >= 1 && $infosImg[2] <= 14)
{
// On verifie les dimensions et taille de l'image
// if(($infosImg[0] <= WIDTH_MAX) && ($infosImg[1] <= HEIGHT_MAX) && (filesize($_FILES['fichier_image_a_uploader']['tmp_name']) <= MAX_SIZE))
// {
// Parcours du tableau d'erreurs
if(isset($_FILES['fichier_image_a_uploader']['error'])
&& UPLOAD_ERR_OK === $_FILES['fichier_image_a_uploader']['error'])
// Parcours du tableau d'erreurs
if(isset($_FILES['fichier_image_a_uploader']['error'])
&& UPLOAD_ERR_OK === $_FILES['fichier_image_a_uploader']['error'])
{
// On renomme le fichier temporaire
$rand = rand(1,1000000);
$nomImageTemp = $_SESSION['numeroBeneficiaire_C']."_".$rand.'.'. $extension;
// Si c'est OK, on teste l'upload
if(move_uploaded_file($_FILES['fichier_image_a_uploader']['tmp_name'], TARGET.$nomImageTemp))
{
// On renomme le fichier temporaire
$src = TARGET.$nomImageTemp;
// On va réduire la taille de l'image
// On renomme le fichier
$rand = rand(1,1000000);
$nomImageTemp = $_SESSION['numeroBeneficiaire_C']."_".$rand.'.'. $extension;
$nomImage = $_SESSION['numeroBeneficiaire_C']."_".$rand.'.jpg';
// Si c'est OK, on teste l'upload
if(move_uploaded_file($_FILES['fichier_image_a_uploader']['tmp_name'], TARGET.$nomImageTemp))
{
$src = TARGET.$nomImageTemp;
// On va réduire la taille de l'image
// On renomme le fichier
$rand = rand(1,1000000);
$nomImage = $_SESSION['numeroBeneficiaire_C']."_".$rand.'.jpg';
$imgtype = image_type_to_mime_type($infosImg[2]);
switch ($imgtype) {
case 'image/jpeg':
$source_image = imagecreatefromjpeg($src);
break;
case 'image/jpg':
$source_image = imagecreatefromjpeg($src);
break;
case 'image/png':
$source_image = imagecreatefrompng($src);
break;
}
$width = imagesx($source_image);
$desired_width = $width;
if ($desired_width > $_SESSION['largeurPhoto'])
{
$desired_width = $_SESSION['largeurPhoto'];
}
$height = imagesy($source_image);
$desired_height = floor($height * ($desired_width / $width));
$virtual_image = imagecreatetruecolor($desired_width, $desired_height);
imagecopyresampled($virtual_image, $source_image, 0, 0, 0, 0, $desired_width, $desired_height, $width, $height);
imagejpeg($virtual_image, TARGET.$nomImage, -1);
$nouveau_fichier = $nomImage;
$message = 'Chargement réussi !';
$this->beneficiaire->changerPhoto($id, $nomImage);
$this->beneficiaire->registerface($_SESSION['numeroBeneficiaire_C']);
$_SESSION['lienPhoto_C'] = $nomImage;
unlink(TARGET.$nomImageTemp);
$this->rediriger("Fichebeneficiaire/".$idBeneficiaire);
$imgtype = image_type_to_mime_type($infosImg[2]);
switch ($imgtype) {
case 'image/jpeg':
$source_image = imagecreatefromjpeg($src);
break;
case 'image/jpg':
$source_image = imagecreatefromjpeg($src);
break;
case 'image/png':
$source_image = imagecreatefrompng($src);
break;
}
else
$width = imagesx($source_image);
$desired_width = $width;
if ($desired_width > $_SESSION['largeurPhoto'])
{
// Sinon on affiche une erreur systeme
$message = 'Problème lors du chargement !';
}
$desired_width = $_SESSION['largeurPhoto'];
}
$height = imagesy($source_image);
$desired_height = floor($height * ($desired_width / $width));
$virtual_image = imagecreatetruecolor($desired_width, $desired_height);
imagecopyresampled($virtual_image, $source_image, 0, 0, 0, 0, $desired_width, $desired_height, $width, $height);
imagejpeg($virtual_image, TARGET.$nomImage, -1);
$nouveau_fichier = $nomImage;
$message = 'Chargement réussi !';
$this->beneficiaire->changerPhoto($id, $nomImage);
$this->beneficiaire->registerface($_SESSION['numeroBeneficiaire_C']);
$_SESSION['lienPhoto_C'] = $nomImage;
unlink(TARGET.$nomImageTemp);
$this->rediriger("Fichebeneficiaire/".$idBeneficiaire);
}
else
{
$message = 'Une erreur interne a empêché le chargement';
// Sinon on affiche une erreur systeme
$message = est_anglophone()
? 'Problem while loading!'
: 'Problème lors du chargement !';
}
/*
}
else
{
// Sinon erreur sur les dimensions et taille de l'image
$message = 'Erreur dans les dimensions du fichier !';
$message = est_anglophone()
? 'An internal error prevented loading'
: 'Une erreur interne a empêché le chargement';
}
*/
}
else
{
// Sinon erreur sur le type de l'image
$message = 'Le fichier à charger n\'est pas une image !';
$message = est_anglophone()
? 'The file to upload is not an image!'
: 'Le fichier à charger n\'est pas une image !';
}
}
else
{
// Sinon on affiche une erreur pour l'extension
$message = 'L\'extension du fichier est incorrecte !';
$message = est_anglophone()
? 'The file extension is incorrect!'
: 'L\'extension du fichier est incorrecte !';
}
}
else
{
// Sinon on affiche une erreur pour l'extension
$message = 'Revoir votre fichier image!';
$message = est_anglophone()
? 'Check your image file!'
: 'Revoir votre fichier image!';
}
}
else
{
// Sinon on affiche une erreur pour le champ vide
$message = 'Veuillez sélectionner un fichier SVP !';
$message = est_anglophone()
? 'Please select a file!'
: 'Veuillez sélectionner un fichier SVP!';
}
// fin upload
}
@ -399,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"));
}
@ -413,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']="";
@ -423,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"));
}
}
@ -432,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);
@ -488,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', '');

View File

@ -70,7 +70,9 @@ class ControleurFichepolice extends Controleur {
{
if( !mkdir(TARGET, 0755) )
{
$message = 'Erreur : le répertoire cible ne peut-être créé ! Vérifiez que vous diposiez des droits suffisants pour le faire ou créez le manuellement !';
$message = est_anglophone()
? 'Error: the target directory cannot be created! Please check that you have sufficient rights to do so or create it manually!'
: 'Erreur : le répertoire cible ne peut-être créé ! Vérifiez que vous disposiez des droits suffisants pour le faire ou créez le manuellement !';
}
}
@ -101,7 +103,9 @@ class ControleurFichepolice extends Controleur {
// Si c'est OK, on teste l'upload
if(move_uploaded_file($_FILES['fichier_upload']['tmp_name'], TARGET.$nouveau_fichier))
{
$message = 'Chargé avec succès / Uploaded successfully';
$message = est_anglophone()
? _('Loaded successfully')
: _('Chargé avec succès');
// on va envoyer dans la base de données
$this->ged->enregistrergedfichepolice($idPolice, $nomOrigine, $nouveau_fichier, $taille);
@ -110,30 +114,44 @@ class ControleurFichepolice extends Controleur {
else
{
// Sinon on affiche une erreur systeme
$message = 'Problème lors du chargement !';
$message = est_anglophone()
? 'Problem while loading!'
: 'Problème lors du chargement !';
}
}
else
{
$message = 'Une erreur interne a empêché le chargement';
$message = est_anglophone()
? 'An internal error prevented loading'
: 'Une erreur interne a empêché le chargement';
}
}
else
{
$message .= $_FILES['fichier_upload']['size']." Erreur dans les dimensions du fichier !";
$message .= $_FILES['fichier_upload']['size'] . (
est_anglophone()
? ' File dimension error!'
: ' Erreur dans les dimensions du fichier !'
);
// $message = 'Erreur dans les dimensions du fichier !';
}
}
else
{
// Sinon on affiche une erreur pour l'extension
$message = 'Extension du fichier est incorrecte !';
$message = est_anglophone()
? 'File extension is incorrect!'
: 'Extension du fichier est incorrecte !';
}
}
else
{
{
$message = est_anglophone()
? 'Please select a file!'
: 'Veuillez sélectionner un fichier SVP!';
// Sinon on affiche une erreur pour le champ vide
$message = 'Veuillez sélectionner un fichier SVP! / Please select a file!';
}
// fin upload

View File

@ -42,7 +42,10 @@ class ControleurImportassure extends Controleur {
{
if( !mkdir(TARGET, 0755) )
{
$message = 'Erreur : le répertoire cible ne peut-être créé ! Vérifiez que vous diposiez des droits suffisants pour le faire ou créez le manuellement !';
$message = est_anglophone()
? 'Error: the target directory cannot be created! Please check that you have sufficient rights to do so or create it manually!'
: 'Erreur : le répertoire cible ne peut-être créé ! Vérifiez que vous disposiez des droits suffisants pour le faire ou créez le manuellement !';
}
}
@ -74,7 +77,9 @@ class ControleurImportassure extends Controleur {
if(move_uploaded_file($_FILES['fichier_upload']['tmp_name'], TARGET.$nouveau_fichier))
{
// $message = 'Chargé avec succès / Uploaded successfully';
$message = _('Chargé avec succès');
$message = est_anglophone()
? 'Loaded successfully'
: 'Chargé avec succès';
// on va envoyer dans la base de données
@ -83,30 +88,42 @@ class ControleurImportassure extends Controleur {
else
{
// Sinon on affiche une erreur systeme
$message = 'Problème lors du chargement !';
$message = est_anglophone()
? 'Problem while loading!'
: 'Problème lors du chargement !';
}
}
else
{
$message = 'Une erreur interne a empêché le chargement';
$message = 'Une erreur interne a empêché le chargement';$message = est_anglophone()
? 'An internal error prevented loading'
: 'Une erreur interne a empêché le chargement';
}
}
else
{
$message .= $_FILES['fichier_upload']['size']." Erreur dans les dimensions du fichier !";
$message .= $_FILES['fichier_upload']['size'] . (
est_anglophone()
? ' File dimension error!'
: ' Erreur dans les dimensions du fichier !'
);
// $message = 'Erreur dans les dimensions du fichier !';
}
}
else
{
// Sinon on affiche une erreur pour l'extension
$message = 'Extension du fichier est incorrecte !';
$message = est_anglophone()
? 'File extension is incorrect!'
: 'Extension du fichier est incorrecte !';
}
}
else
{
// Sinon on affiche une erreur pour le champ vide
$message = 'Veuillez sélectionner un fichier SVP! / Please select a file!';
$message = est_anglophone()
? 'Please select a file!'
: 'Veuillez sélectionner un fichier SVP!';
}
// fin upload

File diff suppressed because it is too large Load Diff

View File

@ -38,9 +38,14 @@ function connexion_cookie()
});
}
function toggleSidebar() {
document.body.classList.toggle('sidebar-collapsed');
}
$(function() {
// Initialisation des composants au chargement de la page
appliquerDataTable('.tabliste');
dataTableSpeciale();
//const vueOuverte = $("#vue").val();
let nomForm = $("#nomForm").val();
@ -58,7 +63,6 @@ $(function() {
reset_graphique();
}
*/
});
function raffraichier_gabarit()
@ -69,12 +73,17 @@ function raffraichier_gabarit()
{
$("#div_ajaxgabarit").html(data);
codeSociete = $("#codeSociete").val();
codeSociete = $("#codeSociete_C").val();
vue = $("#vue").val();
if((codeSociete == undefined || codeSociete <= " ") && vue !="Connexion"){
window.location.assign($("#racineWeb" ).val()+"Connexion/");
const msg = "Votre session a expiré. Vous serez déconnecté.";
const msgEng = "Your session has expired. You will be disconnected.";
alert_ebene(msg, msgEng);
window.location.assign($("#racineWeb" ).val()+"Connexion/deconnecter/");
}
},
error: function(errorData)
@ -196,35 +205,23 @@ 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;
baseSwal({
title: formatMessageForSwal(message),
function alert_ebene(msgFr, msgEn) {
const codeLangue = document.querySelector("#codeLangue")?.value || "fr_FR";
const message = (codeLangue === "en_US") ? msgEn : msgFr;
// Appel via baseSwal
return baseSwal({
text: message,
icon: 'info',
confirmButtonText: codeLangue === "en_US" ? 'OK' : 'D\'accord'
confirmButtonText: (codeLangue === "en_US") ? "OK" : "D'accord",
allowOutsideClick: false,
allowEscapeKey: false
});
}
*/
/*
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 +229,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'
});
}
*/
@ -422,6 +390,84 @@ function appliquerDataTable(selector = '.tabliste', options = {}) {
});
}
function dataTableSpeciale() {
const $table = $('.tabspeciale');
const codeLangue = $("#codeLangue").val() || "fr_FR";
// Détruire l'instance existante si elle existe
if ($.fn.DataTable.isDataTable($table)) {
$table.DataTable().clear().destroy();
// ⚠️ Ne pas vider le contenu, sinon tu perds <thead>/<th>
// $table.empty();
}
// Définition des traductions
const langOptions = {
en_US: {
lengthMenu: "Display _MENU_ records per page",
zeroRecords: "Nothing found - sorry",
info: "Showing page _PAGE_ of _PAGES_",
infoEmpty: "No records available",
search: "Search:",
paginate: {
next: "►",
previous: "◄",
first: "|◄",
last: "►|"
},
infoFiltered: "(filtered from _MAX_ total records)"
},
fr_FR: {
lengthMenu: "Affiche _MENU_ par page",
zeroRecords: "Désolé - Aucune donnée trouvée",
info: "_PAGE_ sur _PAGES_ pages",
infoEmpty: "Pas d'enregistrement",
search: "Recherche:",
paginate: {
next: "►",
previous: "◄",
first: "|◄",
last: "►|"
},
infoFiltered: "(filtré de _MAX_ total enregistrements)"
}
};
// Définition des lengthMenu selon la langue
const lengthMenuOptions = [10, 50, 100];
try {
const dt = $table.DataTable({
responsive: true,
lengthMenu: lengthMenuOptions,
scrollX: true,
scrollY: "75vh",
scrollCollapse: true, // ✅ aide à harmoniser header/body
pagingType: "full_numbers",
autoWidth: false,
searching: true, // ✅ réactive la recherche
ordering: false,
lengthChange: false,
orderMulti: true,
fixedHeader: true, // ✅ garde lentête aligné
language: langOptions[codeLangue] || langOptions.fr_FR
});
// Ajuster les colonnes après init
dt.columns.adjust().draw();
// Ajuster encore après un petit délai (utile après Ajax)
setTimeout(() => {
dt.columns.adjust().draw();
}, 200);
} catch (err) {
console.error("Erreur DataTable:", err);
return false;
}
}
/**
* MESSAGERIE ET NOTIFICATIONS
* Récupère le nombre de messages et déconnecte si session expirée.
@ -515,11 +561,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 +649,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;
}
@ -708,6 +749,8 @@ function est_ce_police_famille()
function creer_adherents()
{
debugger;
// 06/11/2020
if(est_ce_police_famille())
{
@ -1488,45 +1531,71 @@ function enregistrer_avenant()
</span>
</div>
`);
document.getElementById("formAvenant").submit();
}
});
}
function pop_afficher_selection_retrait()
{
var div_selection_assure = $('#div_selection_assure');
div_selection_assure.html(`
<div class="d-flex flex-column align-items-center justify-content-center" style="padding-top:80px;">
<div class="spinner-border text-primary" role="status" style="width:3rem; height:3rem;">
<span class="visually-hidden">Loading...</span>
</div>
<span class="mt-3 fs-5 fw-bold">
Veuillez patienter... / Please wait...
</span>
</div>
`);
function pop_afficher_selection_retrait() {
const div_selection_assure = $('#div_selection_assure');
$.ajax({
url: $("#racineWeb").val()+"Ajaxselectionretrait/",
type : 'post',
error: function(errorData) {
},
success: function(data) {
div_selection_assure.html(data);
// $('#div_test_gabarit').html(data);
},
complete: function() {
const modal = document.getElementById("popdetailassure");
if (modal && modal.parentNode !== document.body) {
document.body.appendChild(modal);
}
// Ouvrir le modal via le bouton caché
document.getElementById("btn_pop").click();
}
});
// 1. Affichage du Loader
div_selection_assure.html(`
<div class="d-flex flex-column align-items-center justify-content-center" style="padding-top:80px; min-height:300px;">
<div class="spinner-border text-primary" role="status" style="width:3rem; height:3rem;">
<span class="visually-hidden">Loading...</span>
</div>
<span class="mt-3 fs-5 fw-bold text-muted">
Chargement de la liste... / Loading list...
</span>
</div>
`);
// 2. Appel Ajax
$.ajax({
url: $("#racineWeb").val() + "Ajaxselectionretrait/",
type: 'post',
error: function(xhr, status, error) {
div_selection_assure.html(`
<div class="alert alert-danger m-3">
<i class="fas fa-exclamation-circle me-2"></i>
Erreur lors du chargement : ${error}
<br><small>${xhr.responseText || ''}</small>
</div>
`);
},
success: function(data) {
// Injection des données
div_selection_assure.html(data);
// 3. Initialisation du DataTable si la table existe
const $table = div_selection_assure.find('.tabspeciale');
if ($table.length > 0 && $table.find('thead th').length > 0) {
try {
dataTableSpeciale();
} catch (err) {
console.error("Erreur DataTable:", err);
}
} else {
console.warn("Table .tabspeciale non trouvée ou mal formée");
}
},
complete: function() {
// 4. Gestion propre du Modal
const modalEl = document.getElementById("popdetailassure");
if (modalEl) {
if (modalEl.parentNode !== document.body) {
document.body.appendChild(modalEl);
}
const myModal = bootstrap.Modal.getOrCreateInstance(modalEl);
myModal.show();
}
}
});
}
function beneficiaire_a_retirer(p_choix, p_id_beneficiaire)
@ -1862,7 +1931,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)
@ -1975,7 +2045,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)
@ -2092,7 +2162,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)
@ -2801,7 +2871,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)
@ -2867,12 +2937,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) {
},
@ -4381,8 +4451,6 @@ function creer_user_rh_client()
codeProfil = $("#codeProfil").val();
codeLangue = $("#codeLangueUser").val();
actVisible = "0";
AffectionVisible = "0";
nvmdp = $("#nvmdp").val();
cfnvmdp = $("#cfnvmdp").val();
@ -4489,8 +4557,7 @@ function creer_user_rh_client()
donnees = 'codeUtilisateur='+codeUtilisateur;
donnees += '&nom='+nom+'&prenoms='+prenoms;
donnees += '&telephone='+telephone+'&email='+email+'&motPass='+motPass;
donnees += '&codeLangue='+codeLangue+'&actVisible='+actVisible;
donnees += '&AffectionVisible='+AffectionVisible;
donnees += '&codeLangue='+codeLangue,
donnees += '&codeModeGenerationPass='+codeModeGenerationPass;
donnees += '&codeModeEnvoiPass='+codeModeEnvoiPass;
donnees += '&codeProfil=' + codeProfil;
@ -4928,3 +4995,422 @@ function retirer_un_menu_principal_profil_rh(codeMenu)
}
});
}
function changer_langue()
{
codeLangue = $("#codeLangue").val();
v_msg="Attention, vous serez déconnecté! Confirmez-vous le changement de langue?";
v_msgEng="Attention, you will be logged out! Do you confirm the language change?";
confirm_ebene(v_msg, v_msgEng)
.then((isConfirmed) => {
if (isConfirmed) {
// L'utilisateur a confirmé
$.ajax({
url: $("#racineWeb").val()+"Ajaxchangerlangue/changerlangue/",
type : 'post',
// data: donnees,
error: function(errorData)
{
},
success: function(data)
{
// $("#div_test_gabarit").html(data);
},
complete: function()
{
window.location.assign($("#racineWeb" ).val()+"Connexion/deconnecter/");
}
});
} else {
// L'utilisateur a annulé
console.log("Confirmation refusée");
}
});
}
function ajax_menus_profil()
{
var codeProfil = $("#codeProfil").val();
if (codeProfil<=" ")
{
v_msg="Veuillez sélectionner un profil!";
v_msgEng="Please select a user profile!";
alert_ebene(v_msg, v_msgEng);
$("#codeProfil").focus();
return;
}
donnees = 'codeProfil='+codeProfil;
$.ajax({
url: $("#racineWeb").val()+"Ajaxmenusprofil/",
type: 'POST',
data: donnees,
success: function(data) {
$("#div_menu").html(data);
},
error: function(data) {
},
complete: function() {
}
});
}
function afficher_menu_vue_profil()
{
codeProfil=$("#codeProfil").val();
if (codeProfil<=" ")
{
v_msg="Veuillez sélectionner un profil!";
v_msgEng="Please select a user profile!";
alert_ebene(v_msg, v_msgEng);
$("#codeProfil").focus();
return;
}
codeVue = $("#codeVue").val();
if (codeVue<=" ")
{
v_msg="Veuillez sélectionner une vue!";
v_msgEng="Please select a view!";
alert_ebene(v_msg, v_msgEng);
$("#codeVue").focus();
$('#div_menu_profil').html(data);
return;
}
donnees = 'codeProfil='+codeProfil;
donnees += '&codeVue='+codeVue;
var div_attente = $('#div_menu_profil');
div_attente.html(`
<div class="d-flex flex-column align-items-center justify-content-center" style="padding-top:80px;">
<div class="spinner-border text-primary" role="status" style="width:3rem; height:3rem;">
<span class="visually-hidden">Loading...</span>
</div>
<span class="mt-3 fs-5 fw-bold">
Veuillez patienter... / Please wait...
</span>
</div>
`);
$.ajax({
url: $("#racineWeb").val()+"Ajaxhabilitation/afficheraccessousmenus/",
type : 'post',
data: donnees,
error: function(errorData) {
},
success: function(data)
{
div_attente.html(data);
},
complete: function() {
}
});
}
function ajouter_tous_menu_vue_profil()
{
codeProfil=$("#codeProfil").val();
if (codeProfil<=" ")
{
v_msg="Veuillez sélectionner un profil!";
v_msgEng="Please select a user profile!";
alert_ebene(v_msg, v_msgEng);
$("#codeProfil").focus();
return;
}
codeVue=$("#codeVue").val();
if (codeVue<=" ")
{
v_msg="Veuillez sélectionner une vue!";
v_msgEng="Please select a view!";
alert_ebene(v_msg, v_msgEng);
$("#codeVue").focus();
return;
}
donnees = 'codeProfil='+codeProfil;
donnees += '&codeVue='+codeVue;
$.ajax({
url: $("#racineWeb").val()+"Ajaxhabilitation/ajoutertoussousmenusrh/",
type: 'POST',
data: donnees,
success: function(data) {
},
error: function(data) {
},
complete: function() {
afficher_menu_vue_profil();
}
});
}
function ajouter_un_menu_vue_profil(codeMenu)
{
codeProfil=$("#codeProfil").val();
if (codeProfil<=" ")
{
v_msg="Veuillez sélectionner un profil!";
v_msgEng="Please select a user profile!";
alert_ebene(v_msg, v_msgEng);
$("#codeProfil").focus();
return;
}
codeVue=$("#codeVue").val();
if (codeVue<=" ")
{
v_msg="Veuillez sélectionner une vue!";
v_msgEng="Please select a view!";
alert_ebene(v_msg, v_msgEng);
$("#codeVue").focus();
return;
}
donnees = 'codeProfil='+codeProfil;
donnees += '&codeVue='+codeVue;
donnees += '&codeMenu='+codeMenu;
$.ajax({
url: $("#racineWeb").val()+"Ajaxhabilitation/ajouterunsousmenurh/",
type: 'POST',
data: donnees,
success: function(data) {
},
error: function(data) {
},
complete: function() {
afficher_menu_vue_profil();
}
});
}
function retirer_tous_menu_vue_profil()
{
codeProfil=$("#codeProfil").val();
if (codeProfil<=" ")
{
v_msg="Veuillez sélectionner un profil!";
v_msgEng="Please select a user profile!";
alert_ebene(v_msg, v_msgEng);
$("#codeProfil").focus();
return;
}
codeVue=$("#codeVue").val();
if (codeVue<=" ")
{
v_msg="Veuillez sélectionner une vue!";
v_msgEng="Please select a view!";
alert_ebene(v_msg, v_msgEng);
$("#codeVue").focus();
return;
}
donnees = 'codeProfil='+codeProfil;
donnees += '&codeVue='+codeVue;
$.ajax({
url: $("#racineWeb").val()+"Ajaxhabilitation/retirertoussousmenusrh/",
type: 'POST',
data: donnees,
success: function(data) {
},
error: function(data) {
},
complete: function() {
afficher_menu_vue_profil();
}
});
}
function retirer_un_menu_vue_profil(codeMenu)
{
debugger;
codeProfil=$("#codeProfil").val();
if (codeProfil<=" ")
{
v_msg="Veuillez sélectionner un profil!";
v_msgEng="Please select a user profile!";
alert_ebene(v_msg, v_msgEng);
$("#codeProfil").focus();
return;
}
codeVue=$("#codeVue").val();
if (codeVue<=" ")
{
v_msg="Veuillez sélectionner une vue!";
v_msgEng="Please select a view!";
alert_ebene(v_msg, v_msgEng);
$("#codeVue").focus();
return;
}
donnees = 'codeProfil='+codeProfil;
donnees += '&codeVue='+codeVue;
donnees += '&codeMenu='+codeMenu;
$.ajax({
url: $("#racineWeb").val()+"Ajaxhabilitation/retirerunsousmenurh/",
type: 'POST',
data: donnees,
success: function(data) {
},
error: function(data) {
},
complete: function() {
afficher_menu_vue_profil();
}
});
}
function verifier_Echeance_ren()
{
codeTypeAvenant=$("#codeTypeAvenant").val();
if(codeTypeAvenant!="REN")
{
return;
}
CalculerEcheanceRen();
CalculerFinRen();
}
function CalculerEcheanceRen()
{
$("#dateEcheanceRen").disable();
codePeriodicite=$("#codePeriodicite").val();
var typdate = $("#dateAvenant").datepicker("getDate");
switch (codePeriodicite) {
case "A":
typdate.addMonths(12);
break;
case "S":
typdate.addMonths(6);
break;
case "T":
typdate.addMonths(3);
break;
case "M":
typdate.addMonths(1);
break;
case "L":
$("#dateEcheanceRen").enable();
typdate = $("#dateEcheanceRen").datepicker("getDate");
break;
default:
typdate.addMonths(12);
}
$( "#dateEcheanceRen" ).datepicker( "setDate", typdate );
}
function CalculerFinRen()
{
$("#dateFinRen").disable();
codeFractionnement=$("#codeFractionnement").val();
var typdate = $("#dateAvenant").datepicker("getDate");
var dtech = $("#dateEcheanceRen").datepicker("getDate");
switch (codeFractionnement) {
case "A":
typdate.addMonths(12);
break;
case "S":
typdate.addMonths(6);
break;
case "T":
typdate.addMonths(3);
break;
case "M":
typdate.addMonths(1);
break;
default:
typdate.addMonths(12);
}
if (typdate>dtech)
{
typdate=dtech;
}
$( "#dateFinRen" ).datepicker( "setDate", typdate );
}
function ControlerEcheanceRen()
{
codePeriodicite=$("#codePeriodicite").val();
if (codePeriodicite!="L") return true;
else {
var eff = $("#dateAvenant").datepicker("getDate");
var ech = $("#dateEcheanceRen").datepicker("getDate");
if (ech<eff) {
$("#dateEcheance").focus();
return false;
}
if (ech>eff.addMonths(12)) {
v_msg="Période supérieur à un an!";
v_msgEng="Period greater than one year!";
alert_ebene(v_msg, v_msgEng);
}
}
}
/**
* Gère le changement d'état du switch dans le tableau
*/
function toggleBeneficiaireSelection(checkbox, id) {
// On met à jour la valeur interne
const newValue = checkbox.checked ? '1' : '0';
checkbox.value = newValue;
// Appel de votre fonction métier existante
beneficiaire_a_retirer(newValue, id);
// Optionnel : On peut ajouter un effet visuel sur la ligne
const row = $(checkbox).closest('tr');
if (checkbox.checked) {
row.addClass('table-info');
} else {
row.removeClass('table-info');
}
}

View File

@ -67,11 +67,12 @@ class Avenant extends Modele {
{
if (est_anglophone())
{
$sql = 'SELECT A.id AS `code`, CONCAT(B.libelleEng, " of ",DATE_FORMAT(A.dateEffet, "%d/%m/%Y")) AS libelle
$sql = 'SELECT A.id AS `code`, CONCAT(B.libelleEng, " du ",DATE_FORMAT(A.dateEffet, "%d/%m/%Y"), " => ", A.motifavenant) AS libelle
FROM avenant A
JOIN typeavenant B ON (B.codeTypeAvenant=A.codeTypeAvenant)
JOIN police P ON (P.id=A.idPolice)
WHERE (A.idPolice=?) AND (B.ajoutAliment="1")
AND (A.codeTypeAvenant IN ("AFN","INC","RET"))
AND (A.dateEffet>=P.dateEffet)
AND (A.ajoutClient="1")
ORDER BY A.numeroAvenant DESC;';

View File

@ -1,5 +1,6 @@
<?php
require_once 'Framework/Modele.php';
class Client extends Modele {
public function getClients($nomsearch=null, $prenomsearch=null, $telsearch=null, $numeroPolicesearch=null)
@ -356,7 +357,7 @@ class Client extends Modele {
}
public function creeruser($codeUtilisateur, $nom, $prenoms, $telephone, $email, $motPass, $codeLangue,
$actVisible, $AffectionVisible, $codeModeGenerationPass, $codeModeEnvoiPass, $codeProfil)
$codeModeGenerationPass, $codeModeEnvoiPass, $codeProfil)
{
$codeSociete = $_SESSION['codeSociete'];
$user = $_SESSION['login'];
@ -382,11 +383,35 @@ class Client extends Modele {
$hash = password_hash($motPass, PASSWORD_DEFAULT);
}
$sql = 'call sp_c_creer_user_rh_client(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);';
$sql = 'call sp_c_creer_user_rh_client(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);';
/*
var_dump(
array(
"codeSociete" => $codeSociete,
"idClient" => $idClient,
"numeroClient" => $numeroClient,
"codeUtilisateur" => $codeUtilisateur,
"nom" => $nom,
"prenoms" => $prenoms,
"telephone" => $telephone,
"email" => $email,
"hash" => $hash,
"codeLangue" => $codeLangue,
"user" => $user,
"user" => $user,
"codeModeGenerationPass" => $codeModeGenerationPass,
"passAutoGen" => $passAutoGen,
"codeModeEnvoiPass" => $codeModeEnvoiPass,
"motPass" => $motPass,
"codeProfil" => $codeProfil,
)
);
exit();
*/
$this->executerRequete($sql, array($codeSociete, $idClient, $numeroClient, $codeUtilisateur, $nom, $prenoms, $telephone,
$email, $hash, $codeLangue, $actVisible, $AffectionVisible, $user, $codeModeGenerationPass,
$passAutoGen, $codeModeEnvoiPass, $motPass, $codeProfil));
$email, $hash, $codeLangue, $user, $codeModeGenerationPass, $passAutoGen, $codeModeEnvoiPass, $motPass, $codeProfil));
}
}

View File

@ -80,7 +80,9 @@ class College_temp extends Modele {
public function getPrestation($idCollegeTemp)
{
$sql = 'select A.*, B.libelle as reseausoin from prestation_temp A
//
$sql = 'select A.*, B.libelle as reseausoin,
B.libelleEng as reseausoinEng from prestation_temp A
join reseausoins B on (B.codeReseau=A.codeReseau)
where (A.idCollegeTemp=?) order by A.tmBase, A.tm';

View File

@ -23,9 +23,9 @@ class Typeavenant extends Modele
{
if (est_anglophone())
{
$sql = 'SELECT A.codeTypeAvenant as `code`, A.libelleEng as libelle FROM typeavenant A
$sql = 'SELECT A.codeTypeAvenant as `code`, A.libelleEng AS libelle FROM typeavenant A
join suiteavenant B on (B.codeTypeAvenant=A.codeTypeAvenant)
where (B.oldCodeTypeAvenant=?) and A.order by A.libelle';
where (B.oldCodeTypeAvenant=?) and A.extranetClient="1" order by A.libelle';
}
else
{

View File

@ -203,4 +203,111 @@ class Utilisateur extends Modele {
$this->executerRequete($sql, array($codeSociete, $codeProfil, $codeMenu, $user));
}
public function getListeVueModule($codeModule)
{
if (est_anglophone())
{
$sql = 'call sp_c_get_vues_module_rh_eng(?);';
}
else
{
$sql = 'call sp_c_get_vues_module_rh(?);';
}
$liste = $this->executerRequete($sql, array($codeModule));
return $liste->fetchAll(PDO::FETCH_ASSOC);
}
public function getListeModule()
{
if (est_anglophone())
{
$sql = 'SELECT vue AS `code`, libelleEng AS libelle FROM c_menu WHERE enVigueur = "1" ORDER BY ordre;';
}
else
{
$sql = 'SELECT vue AS `code`, libeleMenu AS libelle FROM c_menu WHERE enVigueur = "1" ORDER BY ordre;';
}
$liste = $this->executerRequete($sql);
return $liste->fetchAll(PDO::FETCH_ASSOC);
}
public function getListeProfil($codeProfil)
{
if (est_anglophone())
{
$sql = "call sp_c_get_liste_menus_profil_rh_eng(?, ?);";
}
else
{
$sql = "call sp_c_get_liste_menus_profil_rh(?, ?);";
}
$menu = $this->executerRequete($sql, array($_SESSION['codeSociete'], $codeProfil));
return $menu->fetchAll(PDO::FETCH_ASSOC);
}
public function getSousMenusAccessiblesVue($codeProfil, $codeVue)
{
$sql = "call sp_c_get_sous_menus_accessibles_vue_rh(?, ?, ?);";
$menu = $this->executerRequete($sql, array($_SESSION['codeSociete'], $codeProfil, $codeVue));
return $menu->fetchAll(PDO::FETCH_ASSOC);
}
public function getSousMenusNonAccessiblesVue($codeProfil, $vue)
{
$sql = "call sp_c_get_sous_menus_non_accessibles_vue_rh(?, ?, ?);";
$menu = $this->executerRequete($sql, array($_SESSION['codeSociete'], $codeProfil, $vue));
return $menu->fetchAll(PDO::FETCH_ASSOC);
}
public function ajoutertoussousmenusrh($codeProfil, $codeVue)
{
$codeSociete = $_SESSION['codeSociete'];
$user = $_SESSION['login'];
$sql = 'call sp_c_ajouter_tous_sous_menus_profil_rh(?, ?, ?, ?)';
$this->executerRequete($sql, array($codeSociete, $codeProfil, $codeVue, $user));
}
public function ajouterunsousmenurh($codeProfil, $codeVue, $codeMenu)
{
$codeSociete = $_SESSION['codeSociete'];
$user = $_SESSION['login'];
$sql = 'call sp_c_ajouter_un_sous_menus_profil_rh(?, ?, ?, ?, ?)';
$this->executerRequete($sql, array($codeSociete, $codeProfil, $codeVue, $codeMenu, $user));
}
public function retirertoussousmenusrh($codeProfil, $codeVue)
{
$codeSociete = $_SESSION['codeSociete'];
$user = $_SESSION['login'];
$sql = 'call sp_c_retirer_tous_sous_menus_profil_rh(?, ?, ?, ?)';
$this->executerRequete($sql, array($codeSociete, $codeProfil, $codeVue, $user));
}
public function retirerunsousmenurh($codeProfil, $codeVue, $codeMenu)
{
$codeSociete = $_SESSION['codeSociete'];
$user = $_SESSION['login'];
$sql = 'call sp_c_retirer_un_sous_menus_profil_rh(?, ?, ?, ?, ?)';
$this->executerRequete($sql, array($codeSociete, $codeProfil, $codeVue, $codeMenu, $user));
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -642,7 +642,7 @@ Aucun acte n'est pris en charge s'il n'est exécuté par une personne qualifiée
$pdf->SetFont('Arial','BU', 10);
$pdf->Cell(0,$ht,convertirc("POUR RDIANT INSURANCE COMPANY"),0,0,'L',false);
$pdf->Cell(0,$ht,convertirc("POUR RADIANT INSURANCE COMPANY"),0,0,'L',false);
$pdf->Cell(0,$ht,convertirc("POUR LASSURE"),0,1,'R',false);

View File

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 39 KiB

View File

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 58 KiB

View File

@ -0,0 +1,392 @@
<?php
$this->titre = "INTER-SANTE - Consultation collège";
?>
<input class="sr-only" TYPE="text" id="idPolice" name="idPolice" value="<?= $_SESSION['idPolice_C'] ?>">
<input class="sr-only" TYPE="text" id="numeroPolice" name="numeroPolice" value="<?= $_SESSION['numeroPolice_C'] ?>">
<input class="sr-only" TYPE="text" id="idCollegeTemp" name="idCollegeTemp" value="<?= $this->nettoyer($collegeTemp['idCollegeTemp']) ?>">
<input class="sr-only" TYPE="text" id="idCollege" name="idCollege" value="<?= $this->nettoyer($collegeTemp['idCollege']) ?>">
<input class="sr-only" TYPE="text" id="rachatTm" name="rachatTm" value="<?= $this->nettoyer($collegeTemp['rachatTm']) ?>">
<input class="sr-only" id="btn_enreg" name="btn_enreg" class = "form-control btn btn-primary" type="submit" value=<?= _("Enregistrer") ?> />
<input class="sr-only" TYPE="text" id="tauxPrimeFraisFuneraire" NAME="tauxPrimeFraisFuneraire" value="<?=$this->nettoyer($collegeTemp['tauxPrimeFraisFuneraire'])?>" >
<button id="btn_pop" NAME="btn_pop" type="button" class="sr-only" data-bs-toggle="modal" data-bs-target="#poptableauprestation"> </button>
<button id="btn_pop_lib_college" NAME="btn_pop_lib_college" type="button" class="sr-only" data-bs-toggle="modal" data-bs-target="#popmajlibellecollege"> <?= _("Modifier Libellé Collège") ?> </button>
<div id="div_colleges_police" class="container-fluid py-3 animate__animated animate__fadeIn">
<h1 class="text-primary"><i class="fas fa-users me-2"></i><?= _('Consultation du collège') ?></h1>
<fieldset class="card mb-3">
<div class="card-header d-flex justify-content-between align-items-center py-3">
<h4 class="fw-bold text-secondary mb-0">
<?= _("COLLEGE") ?> : <span class="text-primary"><?= $collegeTemp['libelleCollege'] ?></span>
</h4>
</div>
<div class="card-body">
<div class="row g-3">
<div class="col-md-3">
<label for="codeProduit" class="form-label small fw-bold text-uppercase"><?= _("Catégorie") ?></label>
<select class="form-control" id="codeProduit" name="codeProduit" disabled>
<?php liste_options($produit, $this->nettoyer($collegeTemp['codeProduit'])); ?>
</select>
</div>
<div class="col-md-3">
<label for="rachatTm" class="form-label small fw-bold text-uppercase"><?= _("Rachat Ticket Modérateur ?") ?></label>
<select class="form-control" id="rachatTm" name="rachatTm" disabled>
<?php liste_options($rachattm, $collegeTemp['rachatTm'], true); ?>
</select>
</div>
<div class="col-md-3">
<label for="tauxRachatTm" class="form-label small fw-bold text-uppercase"><?= _("Taux rachat (%)") ?></label>
<input class="form-control" id="tauxRachatTm" NAME="tauxRachatTm" TYPE="text" value="<?=$collegeTemp['tauxRachatTm']?>" disabled>
</div>
<div class="col-md-3">
<label for="tauxPrimeRachatTm" class="form-label small fw-bold text-uppercase"><?= _("Taux prime rachat (%)") ?></label>
<input class="form-control" id="tauxPrimeRachatTm" NAME="tauxPrimeRachatTm" TYPE="text" value="<?=$collegeTemp['tauxPrimeRachatTm']?>" disabled>
</div>
<div class="col-md-2">
<label for="nbAdherent" class="form-label small fw-bold text-uppercase"><?= _("NB Famille") ?></label>
<input style='text-align:center' class="form-control" TYPE="text" id="nbAdherent" NAME="nbAdherent" value="<?= format_N($this->nettoyer($collegeTemp['nbAdherent'])) ?>" disabled>
</div>
<div class="col-md-2">
<label for="nbAyantdroit" class="form-label small fw-bold text-uppercase"><?= _("NB Dépendant") ?></label>
<input style='text-align:center' class="form-control" TYPE="text" id="nbAyantdroit" NAME="nbAyantdroit" value="<?= format_N($this->nettoyer($collegeTemp['nbAyantdroit'])) ?>" disabled>
</div>
<div class="col-md-2">
<label for="primeFamille" class="form-label small fw-bold text-uppercase"><?= _("Prime base") ?></label>
<input style='text-align:center' class="form-control" TYPE="text" id="primeFamille" NAME="primeFamille" value="<?= format_N($this->nettoyer($collegeTemp['primeFamille'])) ?>" disabled>
</div>
<div class="col-md-2">
<label for="surprimeAnt" class="form-label small fw-bold text-uppercase"><?= _("Surprime") ?></label>
<input style='text-align:center' class="form-control" TYPE="text" id="surprimeAnt" NAME="surprimeAnt" value="<?= format_N($this->nettoyer($collegeTemp['surprimeAnt'])) ?>" disabled>
</div>
<div class="col-md-2">
<label for="cplFuneraire" class="form-label small fw-bold text-uppercase"><?= _("Frais funéraires") ?></label>
<input style='text-align:center' class="form-control" TYPE="text" id="cplFuneraire" NAME="cplFuneraire" value="<?= format_N($this->nettoyer($collegeTemp['cplFuneraire'])) ?>" disabled>
</div>
<div class="col-md-2">
<button type="button" class="form-control btn btn-primary" onclick="pop_consulter_tableau_prestation();">
<?= _("Tickets Modérateurs ...") ?>
</button>
</div>
</div>
</div>
</fieldset>
<div id="div_garanties" class="mt-4">
<div class="row g-3">
<!-- Garanties de Base -->
<div id="div_garbase" class="col-sm-12 col-md-6">
<fieldset class="card">
<div class="card-header py-2">
<h5 class="fw-bold text-secondary mb-0"><?= _("Garanties de Base") ?></h5>
</div>
<div class="card-body p-0">
<table class="table table-sm table-striped table-bordered table-hover custom-table mb-0">
<thead class="text-center">
<tr>
<th class="w-50"><?= _("Garanties de Base") ?></th>
<th class="w-15"><?= _("Tx") ?></th>
<th class="w-25"><?= _("Plafond") ?></th>
<th class="w-10"><?= _("Bn") ?></th>
</tr>
</thead>
<tbody>
<?php foreach ($garantiesbase as $garantiebase):
$idGarbase=$this->nettoyer($garantiebase['id']);
$garantie = est_anglophone() ? $this->nettoyer($garantiebase['garantieEng']) : $this->nettoyer($garantiebase['garantie']);
?>
<tr class="align-middle text-center">
<td><?= $garantie ?></td>
<td><?= $this->nettoyer($garantiebase['tauxPlafond']) ?></td>
<td class="text-danger"><?= format_N($this->nettoyer($garantiebase['plafond'])) ?></td>
<td>
<div class="form-check d-flex justify-content-center">
<input class="form-check-input" type="checkbox"
<?= $garantiebase['champApplication']=='1' ? 'checked' : '' ?> disabled>
</div>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
</fieldset>
</div>
<!-- Garanties Optionnelles Acquises -->
<div id="div_gar_opt_acquises" class="col-sm-12 col-md-6">
<fieldset class="card">
<div class="card-header py-2">
<h5 class="fw-bold text-secondary mb-0"><?= _("Garanties Optionnelles Acquises") ?></h5>
</div>
<div class="card-body p-0">
<table class="table table-sm table-striped table-bordered table-hover custom-table mb-0">
<thead class="text-center">
<tr>
<th class="w-5"><?= _("Bn") ?></th>
<th><?= _("Garanties Optionnelles Acquises") ?></th>
<th class="w-15"><?= _("Prime") ?></th>
<th class="w-20"><?= _("Plafond") ?></th>
</tr>
</thead>
<tbody>
<?php foreach ($garoptacquises as $garoptacquise):
$idGarantie=$this->nettoyer($garoptacquise['id']);
$garantie = est_anglophone() ? $this->nettoyer($garoptacquise['garantieEng']) : $this->nettoyer($garoptacquise['garantie']);
?>
<tr class="align-middle text-center">
<td>
<div class="form-check d-flex justify-content-center">
<input class="form-check-input" type="checkbox"
<?= $garoptacquise['champApplication']=='1' ? 'checked' : '' ?> disabled>
</div>
</td>
<td><?= $garantie ?></td>
<td><?= format_N($this->nettoyer($garoptacquise['primeOption'])) ?></td>
<td class="text-danger"><?= format_N($this->nettoyer($garoptacquise['plafond'])) ?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
</fieldset>
</div>
</div>
</div>
<fieldset class="card mt-4">
<div class="card-header py-2">
<h5 class="fw-bold text-secondary mb-0">
<i class="fas fa-list-alt me-2"></i><?= _("Récapitulatif") ?>
</h5>
</div>
<div class="card-body p-0">
<div class="table-responsive">
<table class="table table-sm table-striped table-bordered table-hover text-center mb-0 custom-table">
<thead class="table-light">
<tr>
<th><?= _("Récapitulatif") ?></th>
<th><?= _("Adhérent") ?></th>
<th><?= _("Dépendant") ?></th>
<th><?= _("Total Adhérent") ?></th>
<th><?= _("Total Dépendant") ?></th>
<th><?= _("Total Famille") ?></th>
</tr>
</thead>
<tfoot>
<tr>
<td class="fw-bold"><?= _("Prime TTC") ?></td>
<td class="fw-bold"><?= format_N($this->nettoyer($collegeTemp['primeTtcAdherent'])) ?></td>
<td class="fw-bold"><?= format_N($this->nettoyer($collegeTemp['primeTtcBeneficiaire'])) ?></td>
<td class="fw-bold"><?= format_N($this->nettoyer($collegeTemp['primeTtcAdherent_total'])) ?></td>
<td class="fw-bold"><?= format_N($this->nettoyer($collegeTemp['primeTtcBeneficiaire_total'])) ?></td>
<td class="fw-bold"><?= format_N($this->nettoyer($collegeTemp['primeTtc_total'])) ?></td>
</tr>
<tr >
<td class="text-primary"><?= _("Prime Nette Statistique") ?></td>
<td class="text-primary"><?= format_N($this->nettoyer($collegeTemp['primeNetteStat'])) ?></td>
<td class="text-primary"><?= format_N($this->nettoyer($collegeTemp['primeNetteStatBeneficiaire'])) ?></td>
<td> - </td>
<td> - </td>
<td> - </td>
</tr>
</tfoot>
<tbody>
<tr>
<td><?= _("Prime de Base") ?></td>
<td><?= format_N($this->nettoyer($collegeTemp['primeFamille'])) ?></td>
<td><?= format_N($this->nettoyer($collegeTemp['primeBeneficiaire'])) ?></td>
<td><?= format_N($this->nettoyer($collegeTemp['primeFamilleAdherent_total'])) ?></td>
<td><?= format_N($this->nettoyer($collegeTemp['primeBeneficiaire_total'])) ?></td>
<td><?= format_N($this->nettoyer($collegeTemp['primeFamille_total'])) ?></td>
</tr>
<tr>
<td><?= _("Complémentaire frais funéraires") ?></td>
<td><?= format_N($this->nettoyer($collegeTemp['primeCplFuneraire'])) ?></td>
<td><?= format_N($this->nettoyer($collegeTemp['primeCplFuneraireBeneficiaire'])) ?></td>
<td><?= format_N($this->nettoyer($collegeTemp['primeCplFuneraireAdherent_total'])) ?></td>
<td><?= format_N($this->nettoyer($collegeTemp['primeCplFuneraireBeneficiaire_total'])) ?></td>
<td><?= format_N($this->nettoyer($collegeTemp['primeCplFuneraire_total'])) ?></td>
</tr>
<tr>
<td><?= _("Garanties Optionnelles") ?></td>
<td><?= format_N($this->nettoyer($collegeTemp['surprimeOption'])) ?></td>
<td><?= format_N($this->nettoyer($collegeTemp['surprimeOptionBeneficiaire'])) ?></td>
<td><?= format_N($this->nettoyer($collegeTemp['surprimeOptionAdherent_total'])) ?></td>
<td><?= format_N($this->nettoyer($collegeTemp['surprimeOptionBeneficiaire_total'])) ?></td>
<td><?= format_N($this->nettoyer($collegeTemp['surprimeOption_total'])) ?></td>
</tr>
<tr>
<td><?= _("Rachat Ticket Modérateur") ?></td>
<td><?= format_N($this->nettoyer($collegeTemp['surprimeTm'])) ?></td>
<td><?= format_N($this->nettoyer($collegeTemp['surprimeTmBeneficiaire'])) ?></td>
<td><?= format_N($this->nettoyer($collegeTemp['surprimeTmAdherent_total'])) ?></td>
<td><?= format_N($this->nettoyer($collegeTemp['surprimeTmBeneficiaire_total'])) ?></td>
<td><?= format_N($this->nettoyer($collegeTemp['surprimeTm_total'])) ?></td>
</tr>
<tr>
<td><?= _("Surprimes Diverses") ?></td>
<td><?= format_N($this->nettoyer($collegeTemp['surprimeAnt'])) ?></td>
<td><?= format_N($this->nettoyer($collegeTemp['surprimeAntBeneficiaire'])) ?></td>
<td><?= format_N($this->nettoyer($collegeTemp['surprimeAntAdherent_total'])) ?></td>
<td><?= format_N($this->nettoyer($collegeTemp['surprimeAntBeneficiaire_total'])) ?></td>
<td><?= format_N($this->nettoyer($collegeTemp['surprimeAnt_total'])) ?></td>
</tr>
<tr >
<td class="text-danger"><?= _("Prime Nette de commission") ?></td>
<td class="text-danger"><?= format_N($this->nettoyer($collegeTemp['primeNette'])) ?></td>
<td class="text-danger"><?= format_N($this->nettoyer($collegeTemp['primeNetteBeneficiaire'])) ?></td>
<td class="text-danger"><?= format_N($this->nettoyer($collegeTemp['primeNetteAdherent_total'])) ?></td>
<td class="text-danger"><?= format_N($this->nettoyer($collegeTemp['primeNetteBeneficiaire_total'])) ?></td>
<td class="text-danger"><?= format_N($this->nettoyer($collegeTemp['primeNette_total'])) ?></td>
</tr>
<tr>
<td><?= _("Commission Courtage") ?></td>
<td><?= format_N($this->nettoyer($collegeTemp['commission'])) ?></td>
<td><?= format_N($this->nettoyer($collegeTemp['commissionBeneficiaire'])) ?></td>
<td><?= format_N($this->nettoyer($collegeTemp['commissionAdherent_total'])) ?></td>
<td><?= format_N($this->nettoyer($collegeTemp['commissionBeneficiaire_total'])) ?></td>
<td><?= format_N($this->nettoyer($collegeTemp['commission_total'])) ?></td>
</tr>
<tr>
<td><?= _("Commission Commerciaux") ?></td>
<td><?= format_N($this->nettoyer($collegeTemp['commissionAutre'])) ?></td>
<td><?= format_N($this->nettoyer($collegeTemp['commissionAutreBeneficiaire'])) ?></td>
<td><?= format_N($this->nettoyer($collegeTemp['commissionAutreAdherent_total'])) ?></td>
<td><?= format_N($this->nettoyer($collegeTemp['commissionAutreBeneficiaire_total'])) ?></td>
<td><?= format_N($this->nettoyer($collegeTemp['commissionAutre_total'])) ?></td>
</tr>
<tr >
<td class="text-danger"><?= _("Prime Nette") ?></td>
<td class="text-danger"><?= format_N($this->nettoyer($collegeTemp['primeHt'])) ?></td>
<td class="text-danger"><?= format_N($this->nettoyer($collegeTemp['primeHtBeneficiaire'])) ?></td>
<td class="text-danger"><?= format_N($this->nettoyer($collegeTemp['primeHtAdherent_total'])) ?></td>
<td class="text-danger"><?= format_N($this->nettoyer($collegeTemp['primeHtBeneficiaire_total'])) ?></td>
<td class="text-danger"><?= format_N($this->nettoyer($collegeTemp['primeHt_total'])) ?></td>
</tr>
<tr>
<td><?= _("Taxes") ?></td>
<td><?= format_N($this->nettoyer($collegeTemp['taxe'])) ?></td>
<td><?= format_N($this->nettoyer($collegeTemp['taxeBeneficiaire'])) ?></td>
<td><?= format_N($this->nettoyer($collegeTemp['taxeAdherent_total'])) ?></td>
<td><?= format_N($this->nettoyer($collegeTemp['taxeBeneficiaire_total'])) ?></td>
<td><?= format_N($this->nettoyer($collegeTemp['taxe_total'])) ?></td>
</tr>
<tr>
<td><?= _("Frais Cartes") ?></td>
<td><?= format_N($this->nettoyer($collegeTemp['fraisCarte'])) ?></td>
<td><?= format_N($this->nettoyer($collegeTemp['fraisCarteBeneficiaire'])) ?></td>
<td><?= format_N($this->nettoyer($collegeTemp['fraisCarteAdherent_total'])) ?></td>
<td><?= format_N($this->nettoyer($collegeTemp['fraisCarteBeneficiaire_total'])) ?></td>
<td><?= format_N($this->nettoyer($collegeTemp['fraisCarte_total'])) ?></td>
</tr>
</tbody>
</table>
</div>
</div>
</fieldset>
<?php if (isset($msgErreur)): ?>
<div class="alert alert-danger" style="height:30px; padding:5px;" >
<H4><?= $msgErreur ?></H4>
</div>
<?php endif; ?>
</div>
<div class="modal fade modal-office" id="poptableauprestation" role="dialog" data-bs-backdrop="static" data-bs-keyboard="false">
<div class="modal-dialog modal-lg">
<div class="modal-content modal-office">
<div class="modal-header">
<h5 class="modal-title" id="poptableauprestationLabel"><?= _("Tickets Modérateurs") ?></h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="<?= _("Fermer") ?>"></button>
</div>
<div class="modal-body">
<div id="div_tableau_prestation"></div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal"><?= _("Fermer") ?></button>
</div>
</div>
</div>
</div>
<!-- Modal Modifier Libellé Collège -->
<div class="modal fade" id="popmajlibellecollege" tabindex="-1" aria-labelledby="popmajlibellecollegeLabel" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content modal-office">
<div class="modal-header">
<h5 class="modal-title" id="popmajlibellecollegeLabel"><?= _("Modifier Libellé Collège") ?></h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="<?= _("Fermer") ?>"></button>
</div>
<div class="modal-body">
<div id="div_maj_libelle_college">
<table class="table table-sm table-bordered align-middle">
<tbody>
<tr>
<td class="text-center fw-bold w-25"><?= _("Ancien Libellé") ?></td>
<td>
<input class="form-control" type="text" id="ancLibelleCollege" name="ancLibelleCollege"
value="<?= $collegeTemp['libelleCollege'] ?>" readonly>
</td>
</tr>
<tr>
<td class="text-center fw-bold"><?= _("Nouveau Libellé") ?></td>
<td>
<input class="form-control" type="text" id="nouvLibelleCollege" name="nouvLibelleCollege"
value="<?= $collegeTemp['libelleCollege'] ?>">
</td>
</tr>
<tr>
<td></td>
<td>
<button type="button" class="btn btn-info w-100" onclick="enregistrer_maj_libelle_college();">
<?= _("Enregistrer...") ?>
</button>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="modal-footer">
<button id="btn_close_pop_maj_libelle" name="btn_close_pop_maj_libelle" type="button"
class="btn btn-secondary" data-bs-dismiss="modal"><?= _("Fermer") ?></button>
</div>
</div>
</div>
</div>

View File

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

Before

Width:  |  Height:  |  Size: 61 KiB

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More