Subversion Repositories eFlore/Applications.del

Rev

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

Rev 804 Rev 939
Line 1... Line 1...
1
package org.tela_botanica.del.client.composants.formulaires.identification;
1
package org.tela_botanica.del.client.composants.formulaires.identification;
Line 2... Line 2...
2
 
2
 
3
import org.tela_botanica.del.client.cache.CacheClient;
-
 
4
import org.tela_botanica.del.client.i18n.I18n;
3
import org.tela_botanica.del.client.cache.CacheClient;
5
import org.tela_botanica.del.client.modeles.Utilisateur;
4
import org.tela_botanica.del.client.modeles.Utilisateur;
6
import org.tela_botanica.del.client.services.rest.UtilisateurService;
-
 
7
import org.tela_botanica.del.client.services.rest.UtilisateurServiceConcret;
5
import org.tela_botanica.del.client.services.rest.UtilisateurService;
-
 
6
import org.tela_botanica.del.client.services.rest.async.UtilisateurCallback;
8
import org.tela_botanica.del.client.services.rest.async.UtilisateurCallback;
7
 
9
import com.google.gwt.event.dom.client.ClickEvent;
8
import com.google.gwt.event.dom.client.ClickEvent;
10
import com.google.gwt.event.dom.client.ClickHandler;
9
import com.google.gwt.event.dom.client.ClickHandler;
11
import com.google.gwt.event.dom.client.HasClickHandlers;
10
import com.google.gwt.event.dom.client.HasClickHandlers;
12
import com.google.gwt.event.dom.client.HasKeyPressHandlers;
11
import com.google.gwt.event.dom.client.HasKeyPressHandlers;
Line 16... Line 15...
16
import com.google.gwt.user.client.ui.HasText;
15
import com.google.gwt.user.client.ui.HasText;
17
import com.google.gwt.user.client.ui.HasWidgets;
16
import com.google.gwt.user.client.ui.HasWidgets;
18
import com.google.gwt.user.client.ui.IsWidget;
17
import com.google.gwt.user.client.ui.IsWidget;
Line 19... Line 18...
19
 
18
 
20
public class FormulaireIdentificationPresenteur {
19
public class FormulaireIdentificationPresenteur {
21
	
20
 
22
	public abstract interface Vue extends IsWidget {
21
	public abstract interface Vue extends IsWidget {
-
 
22
		public void ajouterVue(HasWidgets composite);
23
		public void ajouterVue(HasWidgets composite);
23
 
-
 
24
		public HasClickHandlers getSeConnecter();
24
		public HasClickHandlers getSeConnecter();
25
 
-
 
26
		public HasClickHandlers getSeDeconnecter();
25
		public HasClickHandlers getSeDeconnecter();
27
 
-
 
28
		public void basculerAffichageFormulaire();
26
		public void basculerAffichageFormulaire();
29
 
-
 
30
		public void basculerModeConnecte(Utilisateur utilisateur);
27
		public void basculerModeConnecte(Utilisateur utilisateur);
31
 
-
 
32
		public HasClickHandlers getBoutonOK();
28
		public HasClickHandlers getBoutonOK();
33
 
-
 
34
		public HasText getLogin();
29
		public HasText getLogin();
35
 
-
 
36
		public HasText getMotdepasse();
30
		public HasText getMotdepasse();
37
 
-
 
38
		public void afficherErreur();
31
		public void afficherErreur();
39
 
-
 
40
		public void masquerErreur();
32
		public void masquerErreur();
41
 
-
 
42
		public void viderFormulaire();
33
		public void viderFormulaire();
43
 
-
 
44
		public void setErreur(String idTexte);
34
		public void setErreur(String idTexte);
45
 
-
 
46
		public String getErreur();
35
		public String getErreur();
47
 
-
 
48
		public HasKeyPressHandlers getLoginHasKeyPressHandler();
36
		public HasKeyPressHandlers getLoginHasKeyPressHandler();
49
 
37
		public HasKeyPressHandlers getMotdepasseHasKeyPressHandler();
50
		public HasKeyPressHandlers getMotdepasseHasKeyPressHandler();
38
	}
51
	}
39
	
52
 
40
	private Vue vue;
53
	private Vue vue;
41
	private Utilisateur utilisateur;
54
	private Utilisateur utilisateur;
42
	private UtilisateurService utilisateurService;
55
	private UtilisateurService utilisateurService;
43
	
56
 
44
	public FormulaireIdentificationPresenteur(Vue vue, UtilisateurService utilisateurService) {
57
	public FormulaireIdentificationPresenteur(Vue vue, UtilisateurService utilisateurService) {
45
		this.vue = vue;
58
		this.vue = vue;
46
		this.utilisateurService = utilisateurService;
59
		this.utilisateurService = utilisateurService;
-
 
60
		utilisateurService.obtenirUtilisateur(new UtilisateurCallback() {
47
		utilisateurService.obtenirUtilisateur(new UtilisateurCallback() {
61
 
48
			@Override
62
			@Override
49
			public void surRetourUtilisateur(Utilisateur utilisateur) {
63
			public void surRetour(Utilisateur objetRetour) {
50
				CacheClient.getInstance().setUtilisateur(utilisateur);
64
				CacheClient.getInstance().setUtilisateur(utilisateur);
51
				rafraichir();
65
				rafraichir();
52
			}
-
 
53
			
-
 
54
			public void surErreurUtilisateur(String message) {
-
 
55
				/*null*/
-
 
56
			}
66
			}
57
		});
67
		});
58
		gererEvenements();
68
		gererEvenements();
59
		
69
 
60
	}
70
	}
61
	
71
 
62
	public void rafraichir() {
72
	public void rafraichir() {
63
		utilisateur = CacheClient.getInstance().getUtilisateur();		
73
		utilisateur = CacheClient.getInstance().getUtilisateur();
64
		vue.basculerModeConnecte(this.utilisateur);
74
		vue.basculerModeConnecte(this.utilisateur);
65
	}
75
	}
66
	
76
 
67
	public void gererEvenements() {
77
	public void gererEvenements() {
68
		vue.getSeConnecter().addClickHandler(new ClickHandler() {
78
		vue.getSeConnecter().addClickHandler(new ClickHandler() {
69
			
79
 
70
			@Override
80
			@Override
71
			public void onClick(ClickEvent event) {
81
			public void onClick(ClickEvent event) {
72
				vue.basculerAffichageFormulaire();
82
				vue.basculerAffichageFormulaire();
73
			}
83
			}
74
		});
84
		});
75
		
85
 
76
		vue.getBoutonOK().addClickHandler(new ClickHandler() {
86
		vue.getBoutonOK().addClickHandler(new ClickHandler() {
77
			@Override
87
			@Override
78
			public void onClick(ClickEvent event) {
88
			public void onClick(ClickEvent event) {
79
				surTentativeLogin();
89
				surTentativeLogin();
80
			}
90
			}
81
		});
91
		});
82
		
92
 
83
		vue.getSeDeconnecter().addClickHandler(new ClickHandler() {
93
		vue.getSeDeconnecter().addClickHandler(new ClickHandler() {
84
			@Override
94
			@Override
85
			public void onClick(ClickEvent event) {
95
			public void onClick(ClickEvent event) {
86
				deconnecterUtilisateur();	
96
				deconnecterUtilisateur();
87
			}
97
			}
88
		});
98
		});
89
		
99
 
90
		vue.getLoginHasKeyPressHandler().addKeyPressHandler(creerGestionnaireEvenementToucheEntree());
100
		vue.getLoginHasKeyPressHandler().addKeyPressHandler(creerGestionnaireEvenementToucheEntree());
91
		vue.getMotdepasseHasKeyPressHandler().addKeyPressHandler(creerGestionnaireEvenementToucheEntree());
101
		vue.getMotdepasseHasKeyPressHandler().addKeyPressHandler(creerGestionnaireEvenementToucheEntree());
92
	}
102
	}
93
	
103
 
94
	private void surTentativeLogin() {
104
	private void surTentativeLogin() {
95
		String login = vue.getLogin().getText(); 
105
		String login = vue.getLogin().getText();
96
		String motdepasse = vue.getMotdepasse().getText();
106
		String motdepasse = vue.getMotdepasse().getText();
97
		
107
 
98
		if (login.equals("") || motdepasse.equals("")) {
108
		if (login.equals("") || motdepasse.equals("")) {
99
			gererErreur("saisirLogin");
109
			gererErreur("saisirLogin");
100
		} else {
110
		} else {
101
			connecterUtilisateur(login, motdepasse);
111
			connecterUtilisateur(login, motdepasse);
102
		}
112
		}
103
	}
113
	}
104
	
114
 
105
	public KeyPressHandler creerGestionnaireEvenementToucheEntree() {
115
	public KeyPressHandler creerGestionnaireEvenementToucheEntree() {
106
		return new KeyPressHandler() {
116
		return new KeyPressHandler() {
107
			public void onKeyPress(KeyPressEvent event) {
117
			public void onKeyPress(KeyPressEvent event) {
108
				if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_ENTER) {
118
				if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_ENTER) {
109
					surTentativeLogin();
119
					surTentativeLogin();
110
				}
120
				}
111
			}
121
			}
112
		};
122
		};
113
	}
123
	}
114
	
124
 
115
	public void gererErreur(String erreur) {
125
	public void gererErreur(String erreur) {
116
		vue.setErreur(erreur);
126
		vue.setErreur(erreur);
117
		vue.afficherErreur();
127
		vue.afficherErreur();
118
	}
128
	}
119
	
129
 
Line 120... Line 130...
120
	public void connecterUtilisateur(String login, String motdepasse) {
130
	public void connecterUtilisateur(String login, String motdepasse) {
-
 
131
 
-
 
132
		utilisateurService.connecterUtilisateur(login, motdepasse, new UtilisateurCallback() {
-
 
133
 
-
 
134
			public void surErreur(String message) {
-
 
135
				vue.setErreur("identificationRefus");
-
 
136
				vue.afficherErreur();
121
 
137
			}
122
		utilisateurService.connecterUtilisateur(login, motdepasse, new UtilisateurCallback() {
138
 
123
			@Override
139
			@Override
124
			public void surRetourUtilisateur(Utilisateur utilisateur) {
140
			public void surRetour(Utilisateur objetRetour) {
125
				CacheClient.getInstance().setUtilisateur(utilisateur);
141
				CacheClient.getInstance().setUtilisateur(utilisateur);
126
				if (utilisateur.estIdentifie()) {
142
				if (utilisateur.estIdentifie()) {
127
					vue.masquerErreur();
143
					vue.masquerErreur();
128
					rafraichir();
144
					rafraichir();
129
					vue.basculerAffichageFormulaire();
145
					vue.basculerAffichageFormulaire();
130
					vue.viderFormulaire();
-
 
131
				} 
-
 
132
			}
-
 
133
			
-
 
134
			public void surErreurUtilisateur(String message) {
-
 
135
				vue.setErreur("identificationRefus");
146
					vue.viderFormulaire();
136
				vue.afficherErreur();
147
				}
137
			}
148
			}
138
		});
149
		});
139
	}
150
	}
140
	
151
 
-
 
152
	public void deconnecterUtilisateur() {
-
 
153
		utilisateurService.deconnecterUtilisateur(new UtilisateurCallback() {
-
 
154
 
-
 
155
			public void surErreur(String message) {
-
 
156
				vue.setErreur("identificationRefus");
-
 
157
				vue.afficherErreur();
141
	public void deconnecterUtilisateur() {
158
			}
142
		utilisateurService.deconnecterUtilisateur(new UtilisateurCallback() {
159
 
143
			@Override
160
			@Override
144
			public void surRetourUtilisateur(Utilisateur utilisateur) {
161
			public void surRetour(Utilisateur objetRetour) {
145
				CacheClient.getInstance().setUtilisateur(utilisateur);
162
				CacheClient.getInstance().setUtilisateur(utilisateur);
146
				rafraichir();
-
 
147
			}
-
 
148
			
-
 
149
			public void surErreurUtilisateur(String message) {
-
 
150
				vue.setErreur("identificationRefus");
-
 
151
				vue.afficherErreur();
163
				rafraichir();
152
			}
164
			}
153
		});
165
		});
154
	}
166
	}
155
	
167
 
156
	public void go(HasWidgets composite) {
168
	public void go(HasWidgets composite) {
157
		vue.ajouterVue(composite);
169
		vue.ajouterVue(composite);