Subversion Repositories eFlore/Applications.del

Rev

Rev 2112 | Blame | Compare with Previous | Last modification | View Log | RSS feed

package org.tela_botanica.del.client.modeles;

import java.util.HashMap;

import org.tela_botanica.del.client.cache.CacheClient;
import org.tela_botanica.del.client.i18n.I18n;

import com.google.gwt.core.shared.GWT;


public class Utilisateur {

        private String nom = "";
        private String prenom = "";
        private String courriel = "";
        private String id = "0";
        private String sessionId = "";
        private String adminNiveau = "0";
        private boolean identifie = false;
        private HashMap<String, String> preferences = null;
        
        // TODO: avoir une liste d'activités avec des types différents
        private ActiviteUtilisateur activiteUtilisateur = new ActiviteUtilisateur();

        // Jeton encodé en base64 passé de manière automatique aux services dans un header
        private static String jeton = "";
        // Durée de vie du jeton en secondes (sert au rafraîchissement automatique)
        private static int duree = 0;

        public Utilisateur(String sessionId, String id) {
                this.id = id;
                this.sessionId = sessionId;
        }
        
        public Utilisateur(String sessionId, String id, String prenom, String nom, String courriel, String adminNiveau) {
                this(sessionId, id);
                this.prenom = prenom;
                this.nom = nom;
                this.courriel = courriel;
                this.adminNiveau = adminNiveau;
                identifie = true;
        }
        
        public String getNom() {
                return nom;
        }
        public void setNom(String nom) {
                this.nom = nom;
        }
        public String getPrenom() {
                return prenom;
        }
        public void setPrenom(String prenom) {
                this.prenom = prenom;
        }
        public String getCourriel() {
                return courriel;
        }
        public void setCourriel(String courriel) {
                this.courriel = courriel;
        }
        public String getId() {
                return id;
        }
        public void setId(String id) {
                this.id = id;
        }
        public boolean estIdentifie() {
                return identifie;
        }
        public void setIdentifie(boolean identifie) {
                this.identifie = identifie;
        }
        
        public String getNomPrenomFormate() {
                return identifie ? prenom+" "+nom : I18n.getVocabulary().anonyme();
        }
        
        public HashMap<String, String> getPreferences() {
                return preferences;
        }
        
        public void setPreferences(HashMap<String, String> preferences) {
                this.preferences = preferences;
        }
        
        public boolean etreValidateur() {
                return etreAdmin() || this.adminNiveau.equals("1");
        }
        
        public boolean etreAdmin() {
                return this.adminNiveau.equals("2");
        }
        
        public String toString() {
                String utilisateur = id + "\n" + nom + "\n" + prenom + "\n" + courriel + "\n" + 
                        sessionId + "\n" + adminNiveau + "\n";
                return utilisateur;
        }

        public void setActivite(ActiviteUtilisateur activite) {
                this.activiteUtilisateur = activite;
        }
        
        public ActiviteUtilisateur getActivite() {
                return this.activiteUtilisateur;
        }

        public static String getJeton() {
                return Utilisateur.jeton;
        }

        public static void setJeton(String jeton) {
                Utilisateur.jeton = jeton;
        }

        public static int getDureeJeton() {
                return Utilisateur.duree;
        }

        public static void setDureeJeton(int duree) {
                Utilisateur.duree = duree;
        }
}