Rev 769 | Rev 1173 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.client.modeles;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;
import com.google.gwt.core.client.GWT;
import com.google.gwt.json.client.JSONArray;
import com.google.gwt.json.client.JSONNumber;
import com.google.gwt.json.client.JSONObject;
import com.google.gwt.json.client.JSONString;
public class Utilisateur extends aDonnee {
private static final long serialVersionUID = -4016615552202089985L;
public static final String PREFIXE = "cp";
public Utilisateur() {
initialiserUtilisateur(null, false);
}
public Utilisateur(String id, boolean identifie) {
initialiserUtilisateur(id, identifie);
}
public Utilisateur(JSONObject utilisateur) {
// l'objet JSON est une table de hachage
Set<String> im = utilisateur.keySet();
// Parcourt pour chaque clé
for (Iterator<String> it = im.iterator(); it.hasNext();) {
// Si elle est associée à une valeur, nous l'ajoutons
String cle = it.next();
// Suppression de l'abréviation du champ. Inutile dans le contexte d'un objet
String cleObjet = cle.replaceFirst("^"+PREFIXE+"_", "");
// Valeur est vide par défaut
String valeur = "";
if (utilisateur.get(cle).isString() != null) {
valeur = utilisateur.get(cle).isString().stringValue();
this.set(cleObjet, valeur);
} else {
this.set(cleObjet, valeur);
}
}
}
@Override
protected String getPrefixe() {
return PREFIXE;
}
private void initialiserUtilisateur(String id, boolean etreIdentifie) {
setId(id);
setIdentification(etreIdentifie);
}
/**
* Retourne l'id de l'utilisateur ou l'identifiant de session si la personne n'est pas identifiée.
* @return String id de l'utilisateur
*/
public String getId() {
return renvoyerValeurCorrecte("id_personne");
}
public void setId(String id) {
set("id_personne", id);
}
/**
* Retourne le nom complet et formaté de l'utilisateur
* @return String nom complet
*/
public String getNomComplet() {
return renvoyerValeurCorrecte("fmt_nom_complet");
}
public void setNomComplet(String nom_complet) {
set("fmt_nom_complet", nom_complet);
}
/**
* Retourne le prénom de l'utilisateur
* @return String prénom
*/
public String getPrenom() {
return renvoyerValeurCorrecte("prenom");
}
public void setPrenom(String prenom) {
set("prenom", prenom);
}
/**
* Retourne le nom de l'utilisateur
* @return String nom
*/
public String getNom() {
return renvoyerValeurCorrecte("nom");
}
public void setNom(String nom) {
set("nom", nom);
}
/**
* Retourne le login de l'utilisateur ou l'identifiant de session si la personne n'est pas identifiée.
* @return String login
*/
public String getLogin() {
return renvoyerValeurCorrecte("login");
}
public void setLogin(String l) {
set("login", l);
}
/**
* Retourne le mot de passe de l'utilisateur
* @return String mot de passe
*/
public String getMotDePasse() {
return renvoyerValeurCorrecte("mot_de_passe");
}
public void setMotDePasse(String mdp) {
set("mot_de_passe", mdp);
}
/**
* Retourne vrai si utilisateur est identifié.
* @return boolean
*/
public boolean isIdentifie() {
if (get("identifie").equals(true) && getLicence().equals("1")) {
return true;
} else {
return false;
}
}
public void setIdentification(Boolean bool) {
set("identifie", bool);
}
/**
* Renvoie si l'utilisateur est présent dans l'annuaire ou non
* @return vrai s'il est présent
*/
public boolean existeDansAnnuaire() {
HashMap infosAnnuaire = (HashMap) get("infosAnnuaire");
return !(infosAnnuaire == null || infosAnnuaire.size() == 0);
}
public HashMap<String, String> getInfosAnnuaire() {
if (existeDansAnnuaire()) {
return (HashMap<String, String>) get("infosAnnuaire");
} else {
return null;
}
}
public void setInfosAnnuaire(JSONObject infosAnnuaire) {
// l'objet JSON est une table de hachage
Set<String> im = infosAnnuaire.keySet();
HashMap<String, String> mapAnnuaire = new HashMap<String, String>();
// Parcourt pour chaque clé
for (Iterator<String> it = im.iterator(); it.hasNext();) {
String cle = it.next();
if (infosAnnuaire.get(cle).isString() != null) {
String valeur = infosAnnuaire.get(cle).isString().stringValue();
mapAnnuaire.put(cle, valeur);
}
}
if (mapAnnuaire.size()>0) {
this.set("infosAnnuaire", mapAnnuaire);
}
}
public void majUtilisateurInfoAnnuaire() {
HashMap<String, String> infosAnnuaire = (HashMap<String, String>) get("infosAnnuaire");
setNom(infosAnnuaire.get("nom"));
setPrenom(infosAnnuaire.get("prenom"));
setLogin(infosAnnuaire.get("courriel"));
setMotDePasse(infosAnnuaire.get("mot_de_passe"));
}
public void setLicence(String licence) {
this.set("licenceAcceptee", licence);
}
public String getLicence() {
if (this.get("licenceAcceptee") != null) {
return this.get("licenceAcceptee");
} else {
return "";
}
}
}