rez
This commit is contained in:
parent
2ea0cc3563
commit
85ffb82dea
14
Controleur/ControleurAjaxsaisirpassnewuser.php
Executable file
14
Controleur/ControleurAjaxsaisirpassnewuser.php
Executable file
|
|
@ -0,0 +1,14 @@
|
|||
<?php
|
||||
require_once 'Framework/Controleur.php';
|
||||
|
||||
class ControleurAjaxsaisirpassnewuser extends Controleur {
|
||||
|
||||
public function __construct() {
|
||||
}
|
||||
|
||||
public function index() {
|
||||
$codeModeGenerationPass = $this->requete->getParametreFormulaire("codeModeGenerationPass");
|
||||
|
||||
$this->genererVueAjax(array('codeModeGenerationPass' => $codeModeGenerationPass));
|
||||
}
|
||||
}
|
||||
|
|
@ -56,9 +56,8 @@ class ControleurAjaxuserrhclient extends Controleur {
|
|||
$codeLangue, $AffectionVisible, $telephone, $email, $codeProfil);
|
||||
}
|
||||
|
||||
public function creerusergc()
|
||||
public function creeruser()
|
||||
{
|
||||
$codeGcAssureur = $this->requete->getParametreFormulaire("codeGcAssureur");
|
||||
$codeUtilisateur = $this->requete->getParametreFormulaire("codeUtilisateur");
|
||||
$nom = $this->requete->getParametreFormulaire("nom");
|
||||
$prenoms = $this->requete->getParametreFormulaire("prenoms");
|
||||
|
|
@ -72,46 +71,19 @@ class ControleurAjaxuserrhclient extends Controleur {
|
|||
$codeModeGenerationPass = $this->requete->getParametreFormulaire("codeModeGenerationPass");
|
||||
$codeModeEnvoiPass = $this->requete->getParametreFormulaire("codeModeEnvoiPass");
|
||||
|
||||
/*
|
||||
echo "codeGcAssureur=>$codeGcAssureur; codeUtilisateur=>$codeUtilisateur; nom=>$nom; prenoms=>$prenoms;
|
||||
telephone=>$telephone; email=>$email; actVisible=>$actVisible; codeLangue=>$codeLangue;";
|
||||
exit();
|
||||
*/
|
||||
$codeProfil = $this->requete->getParametreFormulaire("codeProfil");
|
||||
|
||||
|
||||
if($this->gc->existelogin($codeUtilisateur))
|
||||
if($this->client->existelogin($codeUtilisateur))
|
||||
{
|
||||
$this->genererVueAjax(array('uniciteLogin' => "0", 'msgErreur' => "Login $codeUtilisateur déjà utilisé!"));
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->gc->creerusergc($codeGcAssureur, $codeUtilisateur, $nom, $prenoms, $telephone, $email, $motPass, $codeLangue, $actVisible,
|
||||
$AffectionVisible, $codeModeGenerationPass, $codeModeEnvoiPass);
|
||||
$this->client->creeruser($codeUtilisateur, $nom, $prenoms, $telephone, $email, $motPass, $codeLangue, $actVisible,
|
||||
$AffectionVisible, $codeModeGenerationPass, $codeModeEnvoiPass, $codeProfil);
|
||||
|
||||
$this->genererVueAjax(array('uniciteLogin' => "1", 'msgErreur' => "Utlisateur $codeUtilisateur créé avec succès!"));
|
||||
}
|
||||
}
|
||||
|
||||
public function gereraccesaffection()
|
||||
{
|
||||
$codeUtilisateur = $this->requete->getParametreFormulaire("codeUtilisateur");
|
||||
$AffectionVisible = $this->requete->getParametreFormulaire("AffectionVisible");
|
||||
|
||||
if($AffectionVisible=="1")
|
||||
{
|
||||
$AffectionVisible = "0";
|
||||
}
|
||||
else
|
||||
{
|
||||
$AffectionVisible = "1";
|
||||
}
|
||||
|
||||
$this->gc->gereraccesaffection($codeUtilisateur, $AffectionVisible);
|
||||
}
|
||||
|
||||
public function supprimer(){
|
||||
$id = $this->requete->getParametreFormulaire("id");
|
||||
|
||||
$this->gc->supprimer($id);
|
||||
}
|
||||
|
||||
}
|
||||
132
Js/fonctions.js
132
Js/fonctions.js
|
|
@ -4354,9 +4354,8 @@ function enregistrer_modif_user_rh()
|
|||
|
||||
}
|
||||
|
||||
function creer_user_gc()
|
||||
function creer_user_rh_client()
|
||||
{
|
||||
codeGcAssureur = $("#codeGcAssureur").val();
|
||||
codeUtilisateur = $("#codeUtilisateur").val();
|
||||
codeUtilisateur = codeUtilisateur.trim();
|
||||
codeUtilisateur = supprimer_espace_string(codeUtilisateur);
|
||||
|
|
@ -4369,10 +4368,12 @@ function creer_user_gc()
|
|||
prenoms = $("#prenoms").val();
|
||||
telephone = $("#telephone").val();
|
||||
email = $("#email").val();
|
||||
|
||||
codeProfil = $("#codeProfil").val();
|
||||
|
||||
codeLangue = $("#codeLangueUser").val();
|
||||
actVisible = $("#actVisibleUser").val();
|
||||
AffectionVisible = $("#AffectionVisibleUser").val();
|
||||
actVisible = "0";
|
||||
AffectionVisible = "0";
|
||||
|
||||
nvmdp = $("#nvmdp").val();
|
||||
cfnvmdp = $("#cfnvmdp").val();
|
||||
|
|
@ -4387,14 +4388,6 @@ function creer_user_gc()
|
|||
return;
|
||||
}
|
||||
|
||||
if(codeGcAssureur<=" ")
|
||||
{
|
||||
v_msg="Veuillez sélectionner un garant!";
|
||||
v_msgEng="Please select a guarantor!";
|
||||
alert_ebene(v_msg, v_msgEng);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if(codeUtilisateur<=" ")
|
||||
{
|
||||
|
|
@ -4417,25 +4410,17 @@ function creer_user_gc()
|
|||
return;
|
||||
}
|
||||
|
||||
if (actVisible<=" ")
|
||||
if (codeProfil<=" ")
|
||||
{
|
||||
v_msg="Actes visbles oui ou non?";
|
||||
v_msgEng="Acts are visible yes or no?";
|
||||
v_msg="Le profil utilisateur est obligatoire!";
|
||||
v_msgEng="The user profile is required!";
|
||||
|
||||
alert_ebene(v_msg, v_msgEng);
|
||||
|
||||
$("#actVisibleUser").focus();
|
||||
$("#codeProfil").focus();
|
||||
return;
|
||||
}
|
||||
|
||||
if (AffectionVisible<=" ")
|
||||
{
|
||||
v_msg="Affections visbles oui ou non?";
|
||||
v_msgEng="Affections are visible yes or no?";
|
||||
alert_ebene(v_msg, v_msgEng);
|
||||
|
||||
$("#AffectionVisibleUser").focus();
|
||||
return;
|
||||
}
|
||||
|
||||
if ((codeModeEnvoiPass=="1" || codeModeEnvoiPass=="2") && (telephone <=" ") )
|
||||
{
|
||||
|
|
@ -4499,6 +4484,7 @@ function creer_user_gc()
|
|||
donnees += '&AffectionVisible='+AffectionVisible;
|
||||
donnees += '&codeModeGenerationPass='+codeModeGenerationPass;
|
||||
donnees += '&codeModeEnvoiPass='+codeModeEnvoiPass;
|
||||
donnees += '&codeProfil=' + codeProfil;
|
||||
|
||||
v_msg="Confirmez-vous ce nouvel utilisateur?";
|
||||
v_msgEng="Do you confirm this new user?";
|
||||
|
|
@ -4507,7 +4493,7 @@ function creer_user_gc()
|
|||
.then((isConfirmed) => {
|
||||
if (isConfirmed) {
|
||||
$.ajax({
|
||||
url: $("#racineWeb").val()+"Ajaxuserrhclient/creerusergc/",
|
||||
url: $("#racineWeb").val()+"Ajaxuserrhclient/creeruser/",
|
||||
type : 'post',
|
||||
data: donnees,
|
||||
error: function(errorData) {
|
||||
|
|
@ -4665,4 +4651,96 @@ function activer_user_rh_client(codeUtilisateur)
|
|||
}
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
function ajax_saisir_pass_new_user()
|
||||
{
|
||||
codeModeGenerationPass = $("#codeModeGenerationPass").val();
|
||||
|
||||
donnees = 'codeModeGenerationPass='+codeModeGenerationPass;
|
||||
|
||||
$.ajax({
|
||||
url: $("#racineWeb").val()+"Ajaxsaisirpassnewuser/",
|
||||
type: 'POST',
|
||||
data: donnees,
|
||||
success: function(data) {
|
||||
$("#div_passwd").html(data);
|
||||
},
|
||||
error: function(data) {
|
||||
},
|
||||
complete: function()
|
||||
{
|
||||
if(codeModeGenerationPass=="0")
|
||||
{
|
||||
$("#nvmdp").focus();
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#btn_enreg").focus();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function controle_longeur_passe(controle)
|
||||
{
|
||||
longueur = controle.value.length;
|
||||
|
||||
if(longueur==0)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if(longueur<8)
|
||||
{
|
||||
v_msg="8 caractères minimum exigé!";
|
||||
v_msgEng="8 characters minmum required!";
|
||||
alert_ebene(v_msg, v_msgEng);
|
||||
|
||||
controle.value="";
|
||||
controle.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function controle_new_pass()
|
||||
{
|
||||
if ($("#nvmdp" ).val()<=' ')
|
||||
{
|
||||
v_msg="Veuillez saisir un mot de passe!";
|
||||
v_msgEng="Please enter a password!";
|
||||
alert_ebene(v_msg, v_msgEng);
|
||||
|
||||
$("#nvmdp").focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
longueur = $("#nvmdp").val().length;
|
||||
|
||||
if(longueur>0 && longueur<8)
|
||||
{
|
||||
v_msg="8 caractères minimum exigé!";
|
||||
v_msgEng="8 characters minmum required!";
|
||||
alert_ebene(v_msg, v_msgEng);
|
||||
|
||||
$("#nvmdp").focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
if ($("#cfnvmdp" ).val()!=$("#nvmdp" ).val())
|
||||
{
|
||||
v_msg="Veuillez confirmer votre mot de passe!";
|
||||
v_msgEng="Please confirm your password!";
|
||||
alert_ebene(v_msg, v_msgEng);
|
||||
|
||||
$("#nvmdp").focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function supprimer_espace_string(p_mot)
|
||||
{
|
||||
p_mot = p_mot.trim();
|
||||
p_mot = p_mot.replace(/ /g, "");
|
||||
return p_mot;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -349,4 +349,44 @@ class Client extends Modele {
|
|||
$this->executerRequete($sql, array($codeUtilisateur));
|
||||
}
|
||||
|
||||
public function existelogin($codeUtilisateur) {
|
||||
$sql = 'select id FROM c_utilisateur WHERE (codeUtilisateur=?)';
|
||||
$resultat = $this->executerRequete($sql, array($codeUtilisateur));
|
||||
return ($resultat->rowCount() > 0);
|
||||
}
|
||||
|
||||
public function creeruser($codeUtilisateur, $nom, $prenoms, $telephone, $email, $motPass, $codeLangue,
|
||||
$actVisible, $AffectionVisible, $codeModeGenerationPass, $codeModeEnvoiPass, $codeProfil)
|
||||
{
|
||||
$codeSociete = $_SESSION['codeSociete'];
|
||||
$user = $_SESSION['login'];
|
||||
$idClient = $_SESSION['idClient_C'];
|
||||
$numeroClient = $_SESSION['numeroClient_C'];
|
||||
|
||||
$passAutoGen = "";
|
||||
|
||||
switch ($codeModeGenerationPass)
|
||||
{
|
||||
case "0":
|
||||
$hash = password_hash($motPass, PASSWORD_DEFAULT);
|
||||
break;
|
||||
case "1":
|
||||
$passAutoGen = uniqid();
|
||||
$hash = password_hash($passAutoGen, PASSWORD_DEFAULT);
|
||||
$motPass = $passAutoGen;
|
||||
break;
|
||||
case 2:
|
||||
$hash = "";
|
||||
break;
|
||||
default:
|
||||
$hash = password_hash($motPass, PASSWORD_DEFAULT);
|
||||
}
|
||||
|
||||
$sql = 'call sp_c_creer_user_rh_client(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);';
|
||||
|
||||
$this->executerRequete($sql, array($codeSociete, $idClient, $numeroClient, $codeUtilisateur, $nom, $prenoms, $telephone,
|
||||
$email, $hash, $codeLangue, $actVisible, $AffectionVisible, $user, $codeModeGenerationPass,
|
||||
$passAutoGen, $codeModeEnvoiPass, $motPass, $codeProfil));
|
||||
}
|
||||
|
||||
}
|
||||
74
Vue/Ajaxsaisirpassnewuser/index.php
Executable file
74
Vue/Ajaxsaisirpassnewuser/index.php
Executable file
|
|
@ -0,0 +1,74 @@
|
|||
<?php if ($codeModeGenerationPass == "0"): ?>
|
||||
<div class="row g-3 animate__animated animate__fadeIn">
|
||||
<div class="col-md-6 mb-1">
|
||||
<label class="form-label small fw-bold required"><?= _("Mot de passe") ?></label>
|
||||
<div class="input-group shadow-sm">
|
||||
<span class="input-group-text bg-light"><i class="fas fa-lock text-muted"></i></span>
|
||||
<input type="password"
|
||||
id="nvmdp"
|
||||
name="nvmdp"
|
||||
class="form-control"
|
||||
placeholder="<?= _("Saisir le mot de passe") ?>"
|
||||
onBlur="controle_longeur_passe(this);"
|
||||
required
|
||||
autocomplete="new-password">
|
||||
<button class="btn btn-outline-secondary" type="button" onclick="togglePasswordVisibility('nvmdp')">
|
||||
<i class="fas fa-eye" id="toggle_nvmdp"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="form-text extra-small"><?= _("8 caractères minimum recommandés") ?></div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 mb-1">
|
||||
<label class="form-label small fw-bold required"><?= _("Confirmer le mot de passe") ?></label>
|
||||
<div class="input-group shadow-sm">
|
||||
<span class="input-group-text bg-light"><i class="fas fa-check-double text-muted"></i></span>
|
||||
<input type="password"
|
||||
id="cfnvmdp"
|
||||
name="cfnvmdp"
|
||||
class="form-control"
|
||||
placeholder="<?= _("Confirmer") ?>"
|
||||
onBlur="controle_new_pass();"
|
||||
required
|
||||
autocomplete="new-password">
|
||||
<button class="btn btn-outline-secondary" type="button" onclick="togglePasswordVisibility('cfnvmdp')">
|
||||
<i class="fas fa-eye" id="toggle_cfnvmdp"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php else : ?>
|
||||
<input type="hidden" id="nvmdp" name="nvmdp" value="">
|
||||
<input type="hidden" id="cfnvmdp" name="cfnvmdp" value="">
|
||||
<div class="alert alert-info d-flex align-items-center shadow-sm border-0" role="alert">
|
||||
<i class="fas fa-magic me-2"></i>
|
||||
<div>
|
||||
<?= _("Le mot de passe sera généré automatiquement selon le mode choisi.") ?>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<script>
|
||||
/**
|
||||
* Alterne l'affichage du mot de passe entre texte et masqué
|
||||
*/
|
||||
function togglePasswordVisibility(id) {
|
||||
const input = document.getElementById(id);
|
||||
const icon = document.getElementById('toggle_' + id);
|
||||
if (input.type === "password") {
|
||||
input.type = "text";
|
||||
icon.classList.replace('fa-eye', 'fa-eye-slash');
|
||||
} else {
|
||||
input.type = "password";
|
||||
icon.classList.replace('fa-eye-slash', 'fa-eye');
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.extra-small { font-size: 0.75rem; color: #6c757d; }
|
||||
.required:after { content: " *"; color: #dc3545; }
|
||||
.input-group-text { border-right: none; }
|
||||
.form-control { border-left: none; }
|
||||
.form-control:focus { border-left: 1px solid #86b7fe; }
|
||||
</style>
|
||||
24
Vue/Ajaxuserrhclient/creeruser.php
Executable file
24
Vue/Ajaxuserrhclient/creeruser.php
Executable file
|
|
@ -0,0 +1,24 @@
|
|||
<div id="div_unicite_login" class="mt-1">
|
||||
<input type="hidden" id="uniciteLogin" name="uniciteLogin" value="<?= $uniciteLogin ?>">
|
||||
|
||||
<?php if (isset($msgErreur)): ?>
|
||||
<div class="animate__animated animate__shakeX">
|
||||
<div class="d-flex align-items-center text-danger small fw-bold">
|
||||
<i class="fas fa-exclamation-circle me-2"></i>
|
||||
<span><?= $msgErreur ?></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
// Ajoute une bordure rouge au champ login pour un feedback visuel immédiat
|
||||
document.getElementById('codeUtilisateur').classList.add('is-invalid');
|
||||
document.getElementById('codeUtilisateur').focus();
|
||||
</script>
|
||||
<?php else: ?>
|
||||
<script>
|
||||
// Retire l'état d'erreur si le login est disponible
|
||||
document.getElementById('codeUtilisateur').classList.remove('is-invalid');
|
||||
document.getElementById('codeUtilisateur').classList.add('is-valid');
|
||||
</script>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
0
Vue/Ajaxuserrhclient/index.php
Executable file
0
Vue/Ajaxuserrhclient/index.php
Executable file
|
|
@ -104,10 +104,10 @@
|
|||
</div>
|
||||
|
||||
<div class="d-flex justify-content-end gap-2 mt-4">
|
||||
<button type="button" class="btn btn-light border px-4 fw-bold" onClick="retour_a_users_gc();">
|
||||
<button type="button" class="btn btn-light border px-4 fw-bold" onClick="retour_a_users_rh_client();">
|
||||
<i class="fas fa-times me-2"></i><?= _("Annuler") ?>
|
||||
</button>
|
||||
<button type="button" id="btn_enreg" class="btn btn-success px-5 fw-bold shadow-sm" onClick="creer_user_gc();">
|
||||
<button type="button" id="btn_enreg" class="btn btn-success px-5 fw-bold shadow-sm" onClick="creer_user_rh_client();">
|
||||
<i class="fas fa-check-circle me-2"></i><?= _("Créer le compte") ?>
|
||||
</button>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -662,7 +662,7 @@ $photoAssureCrypte = $_SESSION['photoAssureCrypte'];
|
|||
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
|
||||
|
||||
<!-- Application Scripts -->
|
||||
<script src="/Js/fonctions.js?ver=2026.01.14.05"></script>
|
||||
<script src="/Js/fonctions.js?ver=2026.01.14.06"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
raffraichier_gabarit();
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user