diff --git a/front/src/accountUser.js b/front/src/accountUser.js
index 213b1e7..f8a6c29 100644
--- a/front/src/accountUser.js
+++ b/front/src/accountUser.js
@@ -2,24 +2,22 @@
/// Vérifier que l'utilisateur est bien connecté, a le bon statut et le rediriger vers le formulaire d'inscription si ce n'est pas le cas.
/// Si c'est ok, on récupère les infos de son compte et son abonnement et les affiche dans le formulaire.
-/// Une information est affichée concernant la possibilité de parrainage et les listes les filleuils existants.
+/// Une information est affichée concernant la possibilité de parrainage et liste les filleuls existants.
/// Un menu permet à l'utilisateur d'accéder à la modification de ses infos, etc.
/// Des boutons de paiement sont aussi affichés suivant le choix de l'utilisateur pour lui permettre de prolonger son abonnement.
/// Un message venant d'une autre page peut aussi être à afficher lors du premier chargement.
-/// Ajout test email en doublon avant envoi ?
-
// Fichier de configuration côté client :
import { apiUrl, availableLangs, theme } from "../../config/instance.js";
const lang=availableLangs[0];
const configFrontEnd = require("../../views/"+theme+"/config/"+lang+".js");
-// Fonctions utiles au script : !! revoir quand le rest sera fini pour vérifier si tout est utile
-import { getLocaly, removeLocaly, saveLocaly } from "./tools/clientstorage.js";
+// Fonctions utiles au script
+import { getLocaly, removeLocaly } from "./tools/clientstorage.js";
import { addElement } from "./tools/dom.js";
import { helloDev, updateAccountLink } from "./tools/everywhere.js";
import { getDatasFromInputs, setAttributesToInputs } from "./tools/forms.js";
-import { isEmpty, replaceAll } from "../../tools/main";
+import { isEmpty } from "../../tools/main";
import { checkSession, getConfig, getTimeDifference } from "./tools/users.js";
// Spécifique WebPortage pour paiements:
@@ -58,6 +56,10 @@ const initialise = async () =>
if(isConnected)
{
divMain.style.display="block";
+ // l'éventuelle ancre est ignorée, car absente du DOM avant d'avoir vérifié la connexion
+ if(window.location.hash!==undefined)
+ window.location.assign(window.location.hash);
+
if(!isEmpty(getLocaly("message")))
{
addElement(divMessage, "p", getLocaly("message", true).message, "", [getLocaly("message", true).color], "", false);
@@ -67,10 +69,10 @@ const initialise = async () =>
updateAccountLink(user.status, configFrontEnd);
// Initialise le formulaire permettant de mettre à jour les infos :
setAttributesToInputs(config, formAccount);
- // Certains navigateurs ont tendance à remplir tout seul les champs password
+ // Certains navigateurs remplissent les champs password :
newPassword.value="";
- // Fonction affichant les infos connues au premier affichage puis après envoi mise à jour
+ // Fonction affichant les infos connues au premier affichage, puis après envoi mise à jour
const getInfos = () =>
{
const xhrGetInfos = new XMLHttpRequest();
@@ -98,21 +100,22 @@ const initialise = async () =>
// jours de réception
for(let i in response.Subscription.receiptDays)
formAccount.elements["d"+response.Subscription.receiptDays[i]].checked="checked";
+ // "codes" possibles à transmettre pour parrainer d'autres utilisateurs
showGFEmail.innerHTML=response.User.email;
showGFCode.innerHTML=config.beginCodeGodfather+response.User.id;
}
const beginSubTS=new Date(response.Subscription.createdAt).getTime();
const nbDaysOk=response.Subscription.numberOfDays-Math.round((Date.now()-beginSubTS)/1000/3600/24);
- if(nbDaysOk>0)
- addElement(divSubscribeIntro, "p", txtSubscriptions.infosNbDays.replace("NB_DAYS", nbDaysOk), "", ["information"]);
+ if(nbDaysOk > 0)
+ addElement(divSubscribeIntro, "p", txtSubscriptions.infosNbDays.replace("NB_DAYS", nbDaysOk), "", ["info"]);
else
{
addElement(divSubscribeIntro, "p", txtSubscriptions.infosExpirated.replace("NB_DAYS", nbDaysOk), "", ["error"]);
window.location.assign("#subscribe");
- }
+ }
}
}
- xhrGetInfos.setRequestHeader("Authorization", "Bearer "+user.token);
+ xhrGetInfos.setRequestHeader("Authorization", "Bearer "+user.token);
xhrGetInfos.send();
}
// Remonte les infos déjà enregistrées :
@@ -178,11 +181,11 @@ const initialise = async () =>
});
// on passe à la caisse ?
- const CGV=document.getElementById("CGVOk");
const abo9=document.getElementById("abo9");
const abo18=document.getElementById("abo18");
const abo36=document.getElementById("abo36");
const abo54=document.getElementById("abo54");
+ const CGV=document.getElementById("CGVOk");
const divWPBtns=document.getElementById("WPBtns");
divWPBtns.style.display="none";
abo9.addEventListener("change", function(e)
@@ -224,7 +227,7 @@ const initialise = async () =>
divWPBtns.style.display="none";
});
- // Liste des filleuils, si il y en a
+ // Liste des filleuls, si il y en a
const xhrGetGodchilds = new XMLHttpRequest();
xhrGetGodchilds.open("GET", apiUrl+config.userRoutes+config.getGodChilds);
xhrGetGodchilds.onreadystatechange = function()
@@ -236,10 +239,10 @@ const initialise = async () =>
{
const nbGodchilds=response.length;
if(nbGodchilds===0)
- txtGodchilds="Pour l'instant, aucune personne ne s'est inscrite, en vous désignant comme \"parrain\".";// revoir : utiliser le dictionnaire User
+ txtGodchilds=txtUsers.infosUserNoGodchilds;
else
{
- txtGodchilds=nbGodchilds+" utilisateur(s) inscrit(s) en vous désignant comme \"parrain\" :";
+ txtGodchilds=txtUsers.infosUserNbGodChilds.replace("#NB", nbGodchilds);
for(let i in response)
txtGodchilds+=response[i].name+" ("+response[i].email+") ";
}
diff --git a/lang/fr/user.js b/lang/fr/user.js
index 6af1462..5ad09d9 100644
--- a/lang/fr/user.js
+++ b/lang/fr/user.js
@@ -80,6 +80,8 @@ module.exports =
welcomeMessage: "Bienvenue #NAME !",
byebyeMessage: "Si vous voyez ce message, c'est que votre déconnexion s'est bien déroulée.
À bientôt !",
infosUserForAdmin: "Cet utilisateur (id: ID_USER) a créé son compte le DATE_CREA, la dernière mise à jour datant du DATE_UPDATE.
Date de sa dernière connexion : DATE_CONNECTION.",
+ infosUserNoGodchilds: "Pour l'instant, aucune personne ne s'est inscrite, en vous désignant comme \"parrain\".",
+ infosUserNbGodChilds: "Voici les #NB utilisateur(s) inscrit(s) en vous désignant comme \"parrain\" : ",
infosAdminGodfather: "Cet utilisateur a été parrainé par ",
- infosAdminNbGodChilds: "Ses #NB filleuils : "
+ infosAdminNbGodChilds: "Ses #NB filleuls : "
};
\ No newline at end of file