Subversion Repositories eFlore/Applications.del

Rev

Rev 2067 | Rev 2080 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2067 Rev 2077
Line 10... Line 10...
10
 
10
 
11
import org.tela_botanica.del.client.cache.CacheClient;
11
import org.tela_botanica.del.client.cache.CacheClient;
12
import org.tela_botanica.del.client.config.Config;
12
import org.tela_botanica.del.client.config.Config;
13
import org.tela_botanica.del.client.i18n.I18n;
13
import org.tela_botanica.del.client.i18n.I18n;
-
 
14
import org.tela_botanica.del.client.modeles.ActiviteUtilisateur;
14
import org.tela_botanica.del.client.modeles.ActiviteUtilisateur;
15
import org.tela_botanica.del.client.modeles.AuthInfo;
15
import org.tela_botanica.del.client.modeles.Commentaire;
16
import org.tela_botanica.del.client.modeles.Commentaire;
16
import org.tela_botanica.del.client.modeles.Contributeur;
17
import org.tela_botanica.del.client.modeles.Contributeur;
17
import org.tela_botanica.del.client.modeles.EvenementObs;
18
import org.tela_botanica.del.client.modeles.EvenementObs;
18
import org.tela_botanica.del.client.modeles.Image;
19
import org.tela_botanica.del.client.modeles.Image;
Line 27... Line 28...
27
import org.tela_botanica.del.client.modeles.Utilisateur;
28
import org.tela_botanica.del.client.modeles.Utilisateur;
28
import org.tela_botanica.del.client.modeles.VoteDetermination;
29
import org.tela_botanica.del.client.modeles.VoteDetermination;
29
import org.tela_botanica.del.client.modeles.VoteProtocole;
30
import org.tela_botanica.del.client.modeles.VoteProtocole;
Line 30... Line 31...
30
 
31
 
-
 
32
import com.google.gwt.core.shared.GWT;
31
import com.google.gwt.core.shared.GWT;
33
import com.google.gwt.user.client.Window;
32
import com.google.gwt.i18n.client.DateTimeFormat;
34
import com.google.gwt.i18n.client.DateTimeFormat;
-
 
35
import com.google.gwt.json.client.JSONArray;
33
import com.google.gwt.json.client.JSONArray;
36
import com.google.gwt.json.client.JSONNumber;
34
import com.google.gwt.json.client.JSONObject;
37
import com.google.gwt.json.client.JSONObject;
-
 
38
import com.google.gwt.json.client.JSONParser;
35
import com.google.gwt.json.client.JSONParser;
39
import com.google.gwt.json.client.JSONString;
36
import com.google.gwt.json.client.JSONValue;
-
 
Line 37... Line 40...
37
import com.google.gwt.user.client.Window;
40
import com.google.gwt.json.client.JSONValue;
38
 
41
 
39
/**
42
/**
40
 * Centralisation des methodes de parsing du code JSON retourné par les
43
 * Centralisation des methodes de parsing du code JSON retourné par les
Line 489... Line 492...
489
		Utilisateur utilisateur;
492
		Utilisateur utilisateur;
490
		if (connecteUtilisateur) {
493
		if (connecteUtilisateur) {
491
			String courrielUtilisateur = utilisateurJson.get("courriel").isString().stringValue();
494
			String courrielUtilisateur = utilisateurJson.get("courriel").isString().stringValue();
492
			String nomUtilisateur = utilisateurJson.get("nom").isString().stringValue();
495
			String nomUtilisateur = utilisateurJson.get("nom").isString().stringValue();
493
			String prenomUtilisateur = utilisateurJson.get("prenom").isString().stringValue();
496
			String prenomUtilisateur = utilisateurJson.get("prenom").isString().stringValue();
494
			String mdpHashUtilisateur = utilisateurJson.get("mot_de_passe").isString().stringValue();
-
 
Line 495... Line 497...
495
			
497
			
496
			String adminNiveau = "";
498
			String adminNiveau = "";
497
			if (utilisateurJson.get("admin").isString() != null) {
499
			if (utilisateurJson.get("admin").isString() != null) {
498
				adminNiveau = utilisateurJson.get("admin").isString().stringValue();
500
				adminNiveau = utilisateurJson.get("admin").isString().stringValue();
Line 499... Line 501...
499
			}
501
			}
500
			
502
			
Line 501... Line 503...
501
			String nbEvtsUtilisateur = utilisateurJson.get("nb_evenements").isString().stringValue();
503
			String nbEvtsUtilisateur = utilisateurJson.get("nb_evenements").isString().stringValue();
502
			String dateDerniereConsultationEvts = utilisateurJson.get("date_derniere_consultation_evenements").isString().stringValue();
504
			String dateDerniereConsultationEvts = utilisateurJson.get("date_derniere_consultation_evenements").isString().stringValue();
Line 503... Line 505...
503
 
505
 
504
			utilisateur = new Utilisateur(sessionId, idUtilisateur, prenomUtilisateur, nomUtilisateur, 
506
			utilisateur = new Utilisateur(sessionId, idUtilisateur, prenomUtilisateur, nomUtilisateur, 
505
				courrielUtilisateur, mdpHashUtilisateur, adminNiveau);
507
				courrielUtilisateur, adminNiveau);
Line 512... Line 514...
512
		} else {
514
		} else {
513
			utilisateur = new Utilisateur(sessionId, idUtilisateur);
515
			utilisateur = new Utilisateur(sessionId, idUtilisateur);
514
		}
516
		}
515
		return utilisateur;
517
		return utilisateur;
516
	}
518
	}
-
 
519
 
-
 
520
	/**
-
 
521
	 * Recupere des informations d'authentification à partir du JSON renvoyé par les
-
 
522
	 * services Auth de l'annuaire (SSO)
-
 
523
	 * 
-
 
524
	 * @param valeurJson
-
 
525
	 * @return AuthInfo
-
 
526
	 */
-
 
527
	public static AuthInfo parserAuthJson(JSONValue valeurJson) {
-
 
528
		AuthInfo authInfo = new AuthInfo();
-
 
529
		JSONObject authJson = valeurJson.isObject();
-
 
530
 
-
 
531
		JSONValue erreurJSON = authJson.get("error");
-
 
532
		// test si erreur
-
 
533
		if (erreurJSON != null) {
-
 
534
			JSONString erreur = erreurJSON.isString();
-
 
535
			if (erreur != null) {
-
 
536
				authInfo.error = erreur.stringValue();
-
 
537
			} else {
-
 
538
				authInfo.error = "erreur d'authentification";
-
 
539
			}
-
 
540
		} else {
-
 
541
			boolean session = authJson.get("session").isBoolean().booleanValue();
-
 
542
			authInfo.session = session;
-
 
543
			// test si session ouverte
-
 
544
			if (session) {
-
 
545
				JSONValue tokenJson = authJson.get("token");
-
 
546
				String token = null;
-
 
547
				// protection paranoïaque
-
 
548
				if (tokenJson != null) {
-
 
549
					JSONString tokenString = tokenJson.isString();
-
 
550
					if (tokenString != null) {
-
 
551
						token = tokenString.stringValue();
-
 
552
					}
-
 
553
				}
-
 
554
				String tokenId = authJson.get("token_id").isString().stringValue();
-
 
555
				int duration = (int) authJson.get("duration").isNumber().doubleValue();
-
 
556
				JSONValue lastModifJson = authJson.get("last_modif");
-
 
557
 
-
 
558
				authInfo.token = token;
-
 
559
				authInfo.tokenId = tokenId;
-
 
560
				authInfo.duration = duration;
-
 
561
				// test si lastModif est null
-
 
562
				if (lastModifJson != null) {
-
 
563
					JSONNumber lastModif = lastModifJson.isNumber();
-
 
564
					if (lastModif != null) {
-
 
565
						authInfo.lastModif = (int) lastModif.doubleValue();
-
 
566
					}
-
 
567
				}
-
 
568
			}
-
 
569
		}
-
 
570
		//GWT.log(valeurJson.toString());
-
 
571
		
-
 
572
		return authInfo;
-
 
573
	}
Line 517... Line 574...
517
	
574
	
518
	/**
575
	/**
519
	 * Recupere un utilisateur à partir du JSON
576
	 * Recupere un utilisateur à partir du JSON
520
	 * 
577
	 *