Subversion Repositories eFlore/Applications.cel

Rev

Rev 937 | Rev 1287 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 937 Rev 989
1
package org.tela_botanica.client;
1
package org.tela_botanica.client;
2
 
2
 
3
import org.tela_botanica.client.image.ImageMediateur;
3
import org.tela_botanica.client.image.ImageMediateur;
4
import org.tela_botanica.client.interfaces.Rafraichissable;
4
import org.tela_botanica.client.interfaces.Rafraichissable;
5
import org.tela_botanica.client.modeles.Utilisateur;
5
import org.tela_botanica.client.modeles.objets.Utilisateur;
6
import org.tela_botanica.client.modeles.UtilisateurAsynchroneDAO;
-
 
7
 
-
 
8
import org.tela_botanica.client.observation.ObservationMediateur;
6
import org.tela_botanica.client.observation.ObservationMediateur;
9
import org.tela_botanica.client.vues.EtatConnexionVue;
7
import org.tela_botanica.client.vues.EtatConnexionVue;
10
import org.tela_botanica.client.vues.FenetreLicenceVue;
8
import org.tela_botanica.client.vues.FenetreLicenceVue;
11
import org.tela_botanica.client.vues.FormulaireDeConnexionVue;
9
import org.tela_botanica.client.vues.FormulaireDeConnexionVue;
12
import org.tela_botanica.client.vues.ListeUtilisateurAdminVue;
10
import org.tela_botanica.client.vues.ListeUtilisateurAdminVue;
13
 
11
 
14
import com.google.gwt.core.client.GWT;
12
import com.google.gwt.core.client.GWT;
15
import com.google.gwt.core.client.JavaScriptObject;
-
 
16
import com.google.gwt.user.client.DOM;
-
 
17
import com.google.gwt.user.client.Event;
-
 
18
import com.google.gwt.user.client.Timer;
13
import com.google.gwt.user.client.Timer;
19
import com.google.gwt.user.client.Window;
14
import com.google.gwt.user.client.Window;
20
import com.google.gwt.user.client.ui.Image;
-
 
21
import com.gwtext.client.core.EventCallback;
15
import com.gwtext.client.core.EventCallback;
22
import com.gwtext.client.core.EventObject;
16
import com.gwtext.client.core.EventObject;
23
import com.gwtext.client.core.Ext;
17
import com.gwtext.client.core.Ext;
24
import com.gwtext.client.core.ExtElement;
18
import com.gwtext.client.core.ExtElement;
25
import com.gwtext.client.core.Function;
-
 
26
import com.gwtext.client.widgets.BoxComponent;
19
import com.gwtext.client.widgets.BoxComponent;
27
import com.gwtext.client.widgets.Component;
-
 
28
import com.gwtext.client.widgets.Container;
20
import com.gwtext.client.widgets.Container;
29
import com.gwtext.client.widgets.Panel;
21
import com.gwtext.client.widgets.Panel;
30
import com.gwtext.client.widgets.TabPanel;
22
import com.gwtext.client.widgets.TabPanel;
31
import com.gwtext.client.widgets.Tool;
23
import com.gwtext.client.widgets.Tool;
32
import com.gwtext.client.widgets.ToolTip;
-
 
33
import com.gwtext.client.widgets.event.ContainerListener;
-
 
34
import com.gwtext.client.widgets.event.ContainerListenerAdapter;
24
import com.gwtext.client.widgets.event.ContainerListenerAdapter;
35
import com.gwtext.client.widgets.event.TabPanelListener;
-
 
36
import com.gwtext.client.widgets.event.TabPanelListenerAdapter;
25
import com.gwtext.client.widgets.event.TabPanelListenerAdapter;
37
import com.gwtext.client.widgets.layout.FitLayout;
26
import com.gwtext.client.widgets.layout.FitLayout;
38
import com.gwtext.client.widgets.layout.RowLayout;
27
import com.gwtext.client.widgets.layout.RowLayout;
39
import com.gwtext.client.widgets.layout.RowLayoutData;
28
import com.gwtext.client.widgets.layout.RowLayoutData;
40
 
29
 
41
/**
30
/**
42
 * Mediateur gérant les interactions entre vues et les echanges de données
31
 * Mediateur gérant les interactions entre vues et les echanges de données
43
 * C'est un singleton. 
32
 * C'est un singleton. 
44
 * @author david delon 
33
 * @author david delon 
45
 *
34
 *
46
 */
35
 */
47
 
36
 
48
public class CarnetEnLigneMediateur implements Rafraichissable {
37
public class CarnetEnLigneMediateur implements Rafraichissable {
49
	
38
	
50
	
39
	
51
	/**
40
	/**
52
	 * booleen qui verifie l'unicite de l'instance
41
	 * booleen qui verifie l'unicite de l'instance
53
	 */
42
	 */
54
	private static boolean estInstancie = false ;
43
	private static boolean estInstancie = false ;
55
 
44
 
56
	/**
45
	/**
57
	 * pointeur vers le médiateur lui même (pour le pattern singleton)
46
	 * pointeur vers le médiateur lui même (pour le pattern singleton)
58
	 */
47
	 */
59
	private static CarnetEnLigneMediateur thisMediateur = null ;  
48
	private static CarnetEnLigneMediateur thisMediateur = null ;  
60
		
49
		
61
	/**
50
	/**
62
	 * modele de données
51
	 * modele de données
63
	 */
52
	 */
64
	
53
	
65
	private  CarnetEnLigneModele carnetEnLigneModele=null;
54
	private  CarnetEnLigneModele carnetEnLigneModele=null;
66
 
55
 
67
	
56
	
68
	/**
57
	/**
69
	 * panneau principal de l'application "Carnet en ligne"
58
	 * panneau principal de l'application "Carnet en ligne"
70
	 */
59
	 */
71
 
60
 
72
	private Panel panneauPrincipalCarnetEnLigne= null ;
61
	private Panel panneauPrincipalCarnetEnLigne= null ;
73
	
62
	
74
	
63
	
75
	
64
	
76
	/**
65
	/**
77
	 * panneau a onglet pour les observation et les images
66
	 * panneau a onglet pour les observation et les images
78
	 */ 
67
	 */ 
79
	
68
	
80
	
69
	
81
	private com.gwtext.client.widgets.TabPanel ongletsObservationsImages=null;
70
	private com.gwtext.client.widgets.TabPanel ongletsObservationsImages=null;
82
	
71
	
83
	
72
	
84
	/**
73
	/**
85
	 * Indicateur d'etat de la connexion utilisateur
74
	 * Indicateur d'etat de la connexion utilisateur
86
	 */
75
	 */
87
	
76
	
88
	private EtatConnexionVue etatConnexionVue=null;
77
	private EtatConnexionVue etatConnexionVue=null;
89
	
78
	
90
	
79
	
91
	/**
80
	/**
92
	 * Texte d'invite connexion  
81
	 * Texte d'invite connexion  
93
	 */
82
	 */
94
	private final String texteDeconnexion="Utilisez ce carnet en ligne pour saisir vos observations, <u>identifiez-vous</u> pour les transmettre à Tela Botanica"; 
83
	private final String texteDeconnexion="Utilisez ce carnet en ligne pour saisir vos observations, <u>identifiez-vous</u> pour les transmettre à Tela Botanica"; 
95
 
84
 
96
	/**
85
	/**
97
	 * Boolean indiquant un essai de connexion
86
	 * Boolean indiquant un essai de connexion
98
	 */
87
	 */
99
	
88
	
100
	private boolean tentativeConnection=false;
89
	private boolean tentativeConnection=false;
101
	
90
	
102
	/**
91
	/**
103
	 * Booleen indique que la licence a été acceptée
92
	 * Booleen indique que la licence a été acceptée
104
	 */
93
	 */
105
	private boolean licenceUtilisateurAcceptee = false;
94
	private boolean licenceUtilisateurAcceptee = false;
106
	
95
	
107
 
96
 
108
	/**
97
	/**
109
	 *  Formulaire de connexion (lazy instantiation)
98
	 *  Formulaire de connexion (lazy instantiation)
110
	 *  
99
	 *  
111
	 */
100
	 */
112
	
101
	
113
	private FormulaireDeConnexionVue formulaireDeConnexionVue=null;
102
	private FormulaireDeConnexionVue formulaireDeConnexionVue=null;
114
	
103
	
115
	/**
104
	/**
116
	 * 
105
	 * 
117
	 */
106
	 */
118
	private Panel bandeau = null ;
107
	private Panel bandeau = null ;
119
	
108
	
120
	private Panel panneauAdmin = null ;
109
	private Panel panneauAdmin = null ;
121
	
110
	
122
	Tool cacherPanneau = null ;
111
	Tool cacherPanneau = null ;
123
	
112
	
124
	private FenetreLicenceVue fenetreAcceptationLicence = null;
113
	private FenetreLicenceVue fenetreAcceptationLicence = null;
125
	
114
	
126
	/**
115
	/**
127
	 * Mediateur Gestion des images
116
	 * Mediateur Gestion des images
128
	 */
117
	 */
129
	
118
	
130
	private ImageMediateur imageMediateur=null;
119
	private ImageMediateur imageMediateur=null;
131
	
120
	
132
	/**
121
	/**
133
	 * Mediateur Gestion des observations
122
	 * Mediateur Gestion des observations
134
	 */
123
	 */
135
	
124
	
136
	private ObservationMediateur observationMediateur=null;
125
	private ObservationMediateur observationMediateur=null;
137
	
126
	
138
	/**
127
	/**
139
	 * Utilisateur en cours
128
	 * Utilisateur en cours
140
	 */
129
	 */
141
 
130
 
142
		
131
		
143
	private Utilisateur utilisateur=null; 
132
	private Utilisateur utilisateur=null; 
144
	
133
	
145
 
134
 
146
	
135
	
147
	public static CarnetEnLigneMediateur Instance()
136
	public static CarnetEnLigneMediateur Instance()
148
	{
137
	{
149
			if(!estInstancie || thisMediateur==null)
138
			if(!estInstancie || thisMediateur==null)
150
			{
139
			{
151
				estInstancie = true ;
140
				estInstancie = true ;
152
				thisMediateur = new CarnetEnLigneMediateur() ;
141
				thisMediateur = new CarnetEnLigneMediateur() ;
153
			}
142
			}
154
			
143
			
155
			return thisMediateur ;
144
			return thisMediateur ;
156
			
145
			
157
	}
146
	}
158
	
147
	
159
	
148
	
160
	/**
149
	/**
161
	 * constructeur privé (on accède a la classe par la méthode getInstance
150
	 * constructeur privé (on accède a la classe par la méthode getInstance
162
	 */
151
	 */
163
	
152
	
164
	private CarnetEnLigneMediateur() {
153
	private CarnetEnLigneMediateur() {
165
	
154
	
166
		
155
		
167
		panneauPrincipalCarnetEnLigne = new Panel("Carnet en ligne");
156
		panneauPrincipalCarnetEnLigne = new Panel("Carnet en ligne");
168
		
157
		
169
//		Disposition 
158
//		Disposition 
170
		
159
		
171
		panneauPrincipalCarnetEnLigne.setLayout(new RowLayout());
160
		panneauPrincipalCarnetEnLigne.setLayout(new RowLayout());
172
 
161
 
173
		
162
		
174
		// Pourrait etre fait plus loin ... 
163
		// Pourrait etre fait plus loin ... 
175
		carnetEnLigneModele=CarnetEnLigneModele.Instance();
164
		carnetEnLigneModele=CarnetEnLigneModele.Instance();
176
		
165
		
177
		
166
		
178
		bandeau = new Panel();
167
		bandeau = new Panel();
179
		bandeau.setId("x-up-bandeau") ;
168
		bandeau.setId("x-up-bandeau") ;
180
		etatConnexionVue=new EtatConnexionVue(this);
169
		etatConnexionVue=new EtatConnexionVue(this);
181
		etatConnexionVue.setLayout(new FitLayout()) ;
170
		etatConnexionVue.setLayout(new FitLayout()) ;
182
		
171
		
183
		// Le panneau à onglet qui contient les 2 applications Observation et Images 
172
		// Le panneau à onglet qui contient les 2 applications Observation et Images 
184
		
173
		
185
		ongletsObservationsImages = new TabPanel();
174
		ongletsObservationsImages = new TabPanel();
186
		
175
		
187
		panneauPrincipalCarnetEnLigne.add(etatConnexionVue,new RowLayoutData(16));
176
		panneauPrincipalCarnetEnLigne.add(etatConnexionVue,new RowLayoutData(16));
188
		
177
		
189
		panneauAdmin = new Panel();
178
		panneauAdmin = new Panel();
190
		panneauAdmin.setId("panneau_admin");
179
		panneauAdmin.setId("panneau_admin");
191
		panneauPrincipalCarnetEnLigne.add(panneauAdmin, new RowLayoutData(16));
180
		panneauPrincipalCarnetEnLigne.add(panneauAdmin, new RowLayoutData(16));
192
		panneauAdmin.setBorder(false);
181
		panneauAdmin.setBorder(false);
193
		panneauAdmin.hide();
182
		panneauAdmin.hide();
194
		
183
		
195
		panneauPrincipalCarnetEnLigne.add(ongletsObservationsImages,new RowLayoutData());
184
		panneauPrincipalCarnetEnLigne.add(ongletsObservationsImages,new RowLayoutData());
196
		//panneauPrincipalCarnetEnLigne.addTool(cacherPanneau) ;
185
		//panneauPrincipalCarnetEnLigne.addTool(cacherPanneau) ;
197
		
186
		
198
	
187
	
199
		
188
		
200
		// On ajoute les applications 		
189
		// On ajoute les applications 		
201
		observationMediateur = ObservationMediateur.Instance(this);
190
		observationMediateur = ObservationMediateur.Instance(this);
202
		imageMediateur= ImageMediateur.Instance(this);
191
		imageMediateur= ImageMediateur.Instance(this);
203
		
192
		
204
		if(!GWT.isScript()) {
193
		if(!GWT.isScript()) {
205
			//temp dd viewport desactive ajout de cette  ligne
194
			//temp dd viewport desactive ajout de cette  ligne
206
			getPanneauPrincipalCarnetEnLigne().setHeight(Window.getClientHeight()) ;
195
			getPanneauPrincipalCarnetEnLigne().setHeight(Window.getClientHeight()) ;
207
		}
196
		}
208
		
197
		
209
		panneauPrincipalCarnetEnLigne.addListener(new ContainerListenerAdapter() {
198
		panneauPrincipalCarnetEnLigne.addListener(new ContainerListenerAdapter() {
210
 
199
 
211
			@Override
200
			@Override
212
			public void onResize(BoxComponent component, int adjWidth,
201
			public void onResize(BoxComponent component, int adjWidth,
213
					int adjHeight, int rawWidth, int rawHeight) {
202
					int adjHeight, int rawWidth, int rawHeight) {
214
				CarnetEnLigneMediateur.fireResize();
203
				CarnetEnLigneMediateur.fireResize();
215
				observationMediateur.redimensionnerPanneaux(adjHeight, adjWidth);
204
				observationMediateur.redimensionnerPanneaux(adjHeight, adjWidth);
216
				
205
				
217
			}
206
			}
218
		});
207
		});
219
		
208
		
220
		ongletsObservationsImages.addListener(new TabPanelListenerAdapter() {
209
		ongletsObservationsImages.addListener(new TabPanelListenerAdapter() {
221
									
210
									
222
			public void onTabChange(TabPanel source, Panel tab) {
211
			public void onTabChange(TabPanel source, Panel tab) {
223
				if(tab.equals(imageMediateur.getPanneauPrincipalImage())) {
212
				if(tab.equals(imageMediateur.getPanneauPrincipalImage())) {
224
					
213
					
225
					Timer t = new Timer() {
214
					Timer t = new Timer() {
226
						
215
						
227
						public void run() {
216
						public void run() {
228
							imageMediateur.obtenirNombreMiniListeObservations();
217
							imageMediateur.obtenirNombreMiniListeObservations();
229
							imageMediateur.rafraichirToutesVues();
218
							imageMediateur.rafraichirToutesVues();
230
						}
219
						}
231
					};
220
					};
232
					
221
					
233
					t.schedule(150);
222
					t.schedule(150);
234
				}
223
				}
235
			}
224
			}
236
		});
225
		});
237
		
226
		
238
		//	on ajoute les panneaux  principaux des applications au panneau à onglets
227
		//	on ajoute les panneaux  principaux des applications au panneau à onglets
239
		ongletsObservationsImages.add(observationMediateur.getPanneauPrincipalObservation());
228
		ongletsObservationsImages.add(observationMediateur.getPanneauPrincipalObservation());
240
		ongletsObservationsImages.add(imageMediateur.getPanneauPrincipalImage());
229
		ongletsObservationsImages.add(imageMediateur.getPanneauPrincipalImage());
241
	}
230
	}
242
	
231
	
243
	
232
	
244
	public void getEtatUtilisateur() { 
233
	public void getEtatUtilisateur() { 
245
							
234
							
246
		
235
		
247
		carnetEnLigneModele.getEtatUtilisateur(this); 
236
		carnetEnLigneModele.getEtatUtilisateur(this); 
248
				
237
				
249
		
238
		
250
	}
239
	}
251
 
240
 
252
 
241
 
253
	// Methode publiques
242
	// Methode publiques
254
	
243
	
255
	
244
	
256
	
245
	
257
	/**
246
	/**
258
	 * Recherche Identifiant utilisateur en cours et etat de connection
247
	 * Recherche Identifiant utilisateur en cours et etat de connection
259
	 * @return Utilisateur
248
	 * @return Utilisateur
260
	 */
249
	 */
261
	
250
	
262
	
251
	
263
	public Utilisateur getUtilisateur() {
252
	public Utilisateur getUtilisateur() {
264
		return utilisateur;
253
		return utilisateur;
265
	}
254
	}
266
 
255
 
267
	/**
256
	/**
268
	 * Deconnecte l'utilisateur passe en parametre
257
	 * Deconnecte l'utilisateur passe en parametre
269
	 */
258
	 */
270
    public void deconnecterUtilisateur() {
259
    public void deconnecterUtilisateur() {
271
    	
260
    	
272
    	licenceUtilisateurAcceptee = false;
261
    	licenceUtilisateurAcceptee = false;
273
    	
262
    	
274
    	// TODO: vider proprement toutes les vues (méthode à voir)
263
    	// TODO: vider proprement toutes les vues (méthode à voir)
275
		carnetEnLigneModele.deconnecterUtilisateur(this, Utilisateur.getInstance().getIdentifiantUtilisateurConsulte());
264
		carnetEnLigneModele.deconnecterUtilisateur(this, Utilisateur.getInstance().getIdentifiantUtilisateurConsulte());
276
		
265
		
277
		observationMediateur.deconnecterUtilisateur() ;
266
		observationMediateur.deconnecterUtilisateur() ;
278
		imageMediateur.deconnecterUtilisateur();
267
		imageMediateur.deconnecterUtilisateur();
279
		
268
		
280
		panneauAdmin.setVisible(false);
269
		panneauAdmin.setVisible(false);
281
	}
270
	}
282
 
271
 
283
	public void connecterUtilisateur(String login, String password) {
272
	public void connecterUtilisateur(String login, String password) {
284
	
273
	
285
		tentativeConnection=true;
274
		tentativeConnection=true;
286
		carnetEnLigneModele.connecterUtilisateur(this, login, password); 
275
		carnetEnLigneModele.connecterUtilisateur(this, login, password); 
287
		
276
		
288
	}
277
	}
289
 
278
 
290
 
279
 
291
	
280
	
292
	/**
281
	/**
293
	 *  Affichage etat de la connexion
282
	 *  Affichage etat de la connexion
294
	 */
283
	 */
295
	
284
	
296
	
285
	
297
	private void afficheEtatConnexion() {
286
	private void afficheEtatConnexion() {
298
		
287
		
299
		if (!utilisateur.isIdentifie()) {
288
		if (!utilisateur.isIdentifie()) {
300
			   etatConnexionVue.setEtat("",false);
289
			   etatConnexionVue.setEtat("",false);
301
		}
290
		}
302
		else {
291
		else {
303
			if(utilisateur.isAdmin()) {
292
			if(utilisateur.isAdmin()) {
304
		    	afficherLienAdmin();
293
		    	afficherLienAdmin();
305
				panneauAdmin.setVisible(true);
294
				panneauAdmin.setVisible(true);
306
		    } else {
295
		    } else {
307
		    	cacherLienAdmin();
296
		    	cacherLienAdmin();
308
		    }
297
		    }
309
			
298
			
310
		    etatConnexionVue.setEtat(Utilisateur.getInstance().getLoginUtilisateurConsulte(),true);
299
		    etatConnexionVue.setEtat(Utilisateur.getInstance().getLoginUtilisateurConsulte(),true);
311
		      
300
		      
312
		}
301
		}
313
		
302
		
314
	}
303
	}
315
	
304
	
316
	private void afficherFenetreAcceptationLicence()  {
305
	private void afficherFenetreAcceptationLicence()  {
317
		
306
		
318
		fenetreAcceptationLicence = new FenetreLicenceVue(this);
307
		fenetreAcceptationLicence = new FenetreLicenceVue(this);
319
		
308
		
320
		// On le positionne à peu près au milieu de l'écran
309
		// On le positionne à peu près au milieu de l'écran
321
		int left = (Window.getClientWidth() - 512) / 2;
310
		int left = (Window.getClientWidth() - 512) / 2;
322
		int top = (Window.getClientHeight() - 256) / 5;
311
		int top = (Window.getClientHeight() - 256) / 5;
323
		  
312
		  
324
		fenetreAcceptationLicence.setPosition(left, top);
313
		fenetreAcceptationLicence.setPosition(left, top);
325
		fenetreAcceptationLicence.setHeight(350);
314
		fenetreAcceptationLicence.setHeight(350);
326
		fenetreAcceptationLicence.setWidth(550);
315
		fenetreAcceptationLicence.setWidth(550);
327
		fenetreAcceptationLicence.setModal(true);
316
		fenetreAcceptationLicence.setModal(true);
328
		fenetreAcceptationLicence.show();
317
		fenetreAcceptationLicence.show();
329
	}
318
	}
330
 
319
 
331
	
320
	
332
	/**
321
	/**
333
	 * 
322
	 * 
334
	 * Affichage boite de connexion
323
	 * Affichage boite de connexion
335
	 *
324
	 *
336
	 */
325
	 */
337
	
326
	
338
	
327
	
339
	public void afficherDialogueConnexion() {
328
	public void afficherDialogueConnexion() {
340
		
329
		
341
		  if (formulaireDeConnexionVue==null) { 
330
		  if (formulaireDeConnexionVue==null) { 
342
			  formulaireDeConnexionVue= new FormulaireDeConnexionVue(this);
331
			  formulaireDeConnexionVue= new FormulaireDeConnexionVue(this);
343
		  }
332
		  }
344
		  
333
		  
345
		  // On le positionne à peu près au milieu de l'écran
334
		  // On le positionne à peu près au milieu de l'écran
346
		  int left = (Window.getClientWidth() - 512) / 2;
335
		  int left = (Window.getClientWidth() - 512) / 2;
347
		  int top = (Window.getClientHeight() - 256) / 2;
336
		  int top = (Window.getClientHeight() - 256) / 2;
348
		  
337
		  
349
		  formulaireDeConnexionVue.setPopupPosition(left, top);
338
		  formulaireDeConnexionVue.setPopupPosition(left, top);
350
		  formulaireDeConnexionVue.show();
339
		  formulaireDeConnexionVue.show();
351
		
340
		
352
	}
341
	}
353
 
342
 
354
	public Panel getPanneauPrincipalCarnetEnLigne() {
343
	public Panel getPanneauPrincipalCarnetEnLigne() {
355
		return panneauPrincipalCarnetEnLigne;
344
		return panneauPrincipalCarnetEnLigne;
356
	}
345
	}
357
 
346
 
358
	
347
	
359
//	 TODO : repandre rafraichissement
348
//	 TODO : repandre rafraichissement
360
 
349
 
361
	public void rafraichir(Object nouvelleDonnees, boolean repandreRaffraichissement) {
350
	public void rafraichir(Object nouvelleDonnees, boolean repandreRaffraichissement) {
362
 
351
 
363
			if (nouvelleDonnees instanceof Utilisateur) {
352
			if (nouvelleDonnees instanceof Utilisateur) {
364
							      
353
							      
365
				utilisateur = (Utilisateur) nouvelleDonnees;
354
				utilisateur = (Utilisateur) nouvelleDonnees;
366
				
355
				
367
				if ((tentativeConnection) && !utilisateur.isIdentifie()) {
356
				if ((tentativeConnection) && !utilisateur.isIdentifie()) {
368
					
357
					
369
					panneauAdmin.setVisible(false);
358
					panneauAdmin.setVisible(false);
370
					formulaireDeConnexionVue.afficherMessageAlerte();
359
					formulaireDeConnexionVue.afficherMessageAlerte();
371
				}
360
				}
372
				else {
361
				else {
373
					if ((tentativeConnection) && utilisateur.isIdentifie()) {
362
					if ((tentativeConnection) && utilisateur.isIdentifie()) {
374
						afficherLienAdmin();
363
						afficherLienAdmin();
375
						formulaireDeConnexionVue.cacher();
364
						formulaireDeConnexionVue.cacher();
376
					}
365
					}
377
				}
366
				}
378
				
367
				
379
				if(utilisateur.isIdentifie() && !utilisateur.getLicenceAcceptee()) {
368
				if(utilisateur.isIdentifie() && !utilisateur.getLicenceAcceptee()) {
380
					afficherFenetreAcceptationLicence();
369
					afficherFenetreAcceptationLicence();
381
				} else {
370
				} else {
382
					
371
					
383
				  if(tentativeConnection && utilisateur.isIdentifie() && observationMediateur.listeAvoirObservations() && !utilisateur.isAdmin()) {
372
				  if(tentativeConnection && utilisateur.isIdentifie() && observationMediateur.listeAvoirObservations() && !utilisateur.isAdmin()) {
384
					  if(Window.confirm("Voulez vous importer vos observations déjà saisies dans votre compte une fois connecté ?")) {
373
					  if(Window.confirm("Voulez vous importer vos observations déjà saisies dans votre compte une fois connecté ?")) {
385
						  observationMediateur.setImporterObservationsAnonymes(true);
374
						  observationMediateur.setImporterObservationsAnonymes(true);
386
					  }
375
					  }
387
				  }
376
				  }
388
				
377
				
389
				  afficheEtatConnexion();
378
				  afficheEtatConnexion();
390
				  // On lance l'affichage des observations
379
				  // On lance l'affichage des observations
391
				  observationMediateur.connecterUtilisateur();
380
				  observationMediateur.connecterUtilisateur();
392
				  imageMediateur.connecterUtilisateur();
381
				  imageMediateur.connecterUtilisateur();
393
					
382
					
394
				}
383
				}
395
			}
384
			}
396
			
385
			
397
			if(nouvelleDonnees instanceof String) {
386
			if(nouvelleDonnees instanceof String) {
398
				
387
				
399
				String evenement = (String)nouvelleDonnees;
388
				String evenement = (String)nouvelleDonnees;
400
				
389
				
401
				if(evenement.equals("licence_acceptee")) {
390
				if(evenement.equals("licence_acceptee")) {
402
					licenceUtilisateurAcceptee = true;
391
					licenceUtilisateurAcceptee = true;
403
					accepterLicenceUtilisateur();
392
					accepterLicenceUtilisateur();
404
				} else {
393
				} else {
405
					if(utilisateur.isIdentifie()) {
394
					if(utilisateur.isIdentifie()) {
406
						deconnecterUtilisateur();
395
						deconnecterUtilisateur();
407
						return;
396
						return;
408
					}
397
					}
409
				}
398
				}
410
				
399
				
411
				if(observationMediateur.listeAvoirObservations() && !utilisateur.isAdmin()) {
400
				if(observationMediateur.listeAvoirObservations() && !utilisateur.isAdmin()) {
412
					if(Window.confirm("Voulez vous importer vos observations déjà saisies dans votre compte une fois connecté ?")) {
401
					if(Window.confirm("Voulez vous importer vos observations déjà saisies dans votre compte une fois connecté ?")) {
413
					  observationMediateur.setImporterObservationsAnonymes(true);
402
					  observationMediateur.setImporterObservationsAnonymes(true);
414
					}
403
					}
415
				}
404
				}
416
				
405
				
417
				afficheEtatConnexion();
406
				afficheEtatConnexion();
418
				observationMediateur.connecterUtilisateur();
407
				observationMediateur.connecterUtilisateur();
419
				imageMediateur.connecterUtilisateur();
408
				imageMediateur.connecterUtilisateur();
420
				
409
				
421
				fenetreAcceptationLicence.close();
410
				fenetreAcceptationLicence.close();
422
			}
411
			}
423
	}
412
	}
424
	
413
	
425
	private void accepterLicenceUtilisateur() {
414
	private void accepterLicenceUtilisateur() {
426
		utilisateur.setLicenceAcceptee(true);
415
		utilisateur.setLicenceAcceptee(true);
427
		carnetEnLigneModele.accepterLicenceUtilisateur(Utilisateur.getInstance().getIdentifiantUtilisateurConsulte());
416
		carnetEnLigneModele.accepterLicenceUtilisateur(Utilisateur.getInstance().getIdentifiantUtilisateurConsulte());
428
	}
417
	}
429
 
418
 
430
	public void afficherListeUtilisateurs() {
419
	public void afficherListeUtilisateurs() {
431
		
420
		
432
		ListeUtilisateurAdminVue listeUtilisateur = new ListeUtilisateurAdminVue(this) ;
421
		ListeUtilisateurAdminVue listeUtilisateur = new ListeUtilisateurAdminVue(this) ;
433
		listeUtilisateur.show(Ext.get("LienChangerUtilisateur").getDOM());
422
		listeUtilisateur.show(Ext.get("LienChangerUtilisateur").getDOM());
434
		listeUtilisateur.focusChampUtilisateur();
423
		listeUtilisateur.focusChampUtilisateur();
435
		
424
		
436
	}
425
	}
437
	
426
	
438
	public void afficherLienAdmin() {
427
	public void afficherLienAdmin() {
439
 
428
 
440
		String labelAdmin = "<div id=\"lienAdmin\">Vous consultez les données de "+Utilisateur.getInstance().getLoginUtilisateurConsulte()+"  <a id=\"LienChangerUtilisateur\" href=\"#\">Changer d'utilisateur</a></div>" ;
429
		String labelAdmin = "<div id=\"lienAdmin\">Vous consultez les données de "+Utilisateur.getInstance().getLoginUtilisateurConsulte()+"  <a id=\"LienChangerUtilisateur\" href=\"#\">Changer d'utilisateur</a></div>" ;
441
		panneauAdmin.setHtml(labelAdmin);
430
		panneauAdmin.setHtml(labelAdmin);
442
		
431
		
443
		ExtElement lienChangerUt = Ext.get("LienChangerUtilisateur");
432
		ExtElement lienChangerUt = Ext.get("LienChangerUtilisateur");
444
		if(lienChangerUt != null) 
433
		if(lienChangerUt != null) 
445
		{	
434
		{	
446
			lienChangerUt.removeAllListeners();
435
			lienChangerUt.removeAllListeners();
447
			lienChangerUt.addListener("click", new EventCallback() {
436
			lienChangerUt.addListener("click", new EventCallback() {
448
 
437
 
449
				public void execute(EventObject e) {
438
				public void execute(EventObject e) {
450
					afficherListeUtilisateurs();
439
					afficherListeUtilisateurs();
451
				}
440
				}
452
				
441
				
453
			});
442
			});
454
		}
443
		}
455
		else
444
		else
456
		{
445
		{
457
			panneauAdmin.addListener(new ContainerListenerAdapter() 
446
			panneauAdmin.addListener(new ContainerListenerAdapter() 
458
			{
447
			{
459
				public void onAfterLayout(Container c) 
448
				public void onAfterLayout(Container c) 
460
				{
449
				{
461
					ExtElement lienChangerUt = Ext.get("LienChangerUtilisateur");
450
					ExtElement lienChangerUt = Ext.get("LienChangerUtilisateur");
462
					lienChangerUt.removeAllListeners();
451
					lienChangerUt.removeAllListeners();
463
					lienChangerUt.addListener("click", new EventCallback() {
452
					lienChangerUt.addListener("click", new EventCallback() {
464
 
453
 
465
						public void execute(EventObject e) {
454
						public void execute(EventObject e) {
466
							afficherListeUtilisateurs();
455
							afficherListeUtilisateurs();
467
						}
456
						}
468
						
457
						
469
					});
458
					});
470
				}
459
				}
471
			});
460
			});
472
		}
461
		}
473
	}
462
	}
474
	
463
	
475
	public void cacherLienAdmin() { 
464
	public void cacherLienAdmin() { 
476
		panneauAdmin.hide();
465
		panneauAdmin.hide();
477
	}
466
	}
478
	
467
	
479
	public void changerIdentite(String idNouvelleIdentite, String loginNouvelleIdentite) {
468
	public void changerIdentite(String idNouvelleIdentite, String loginNouvelleIdentite) {
480
		Utilisateur.getInstance().setUtilisateurConsulte(idNouvelleIdentite, loginNouvelleIdentite);
469
		Utilisateur.getInstance().setUtilisateurConsulte(idNouvelleIdentite, loginNouvelleIdentite);
481
		afficherLienAdmin();
470
		afficherLienAdmin();
482
		observationMediateur.connecterUtilisateur();
471
		observationMediateur.connecterUtilisateur();
483
		imageMediateur.connecterUtilisateur();
472
		imageMediateur.connecterUtilisateur();
484
	}
473
	}
485
 
474
 
486
	public void obtenirListeUtilisateurs(String rech, Rafraichissable r) {
475
	public void obtenirListeUtilisateurs(String rech, Rafraichissable r) {
487
		carnetEnLigneModele.obtenirListeUtilisateur(r,rech,Utilisateur.getInstance().getIdentifiantUtilisateurConnecte());
476
		carnetEnLigneModele.obtenirListeUtilisateur(r,rech,Utilisateur.getInstance().getIdentifiantUtilisateurConnecte());
488
	}
477
	}
489
 
478
 
490
	public void donneesImagesVersObs(Object o) {
479
	public void donneesImagesVersObs(Object o) {
491
		observationMediateur.donneesExterieures(o);
480
		observationMediateur.donneesExterieures(o);
492
	}
481
	}
493
	
482
	
494
	public void donneesObsVersImages(Object o) {
483
	public void donneesObsVersImages(Object o) {
495
		imageMediateur.donneesExterieures(o);
484
		imageMediateur.donneesExterieures(o);
496
	}
485
	}
497
	
486
	
498
	public void obtenirListeObservations(Rafraichissable r) {
487
	public void obtenirListeObservations(Rafraichissable r) {
499
		observationMediateur.obtenirCacheObservation(r) ;
488
		observationMediateur.obtenirCacheObservation(r) ;
500
	}
489
	}
501
 
490
 
502
 
491
 
503
	public static native void fireResize() /*-{
492
	public static native void fireResize() /*-{
504
		 $wnd.Ext.EventManager.fireResize();
493
		 $wnd.Ext.EventManager.fireResize();
505
	}-*/;
494
	}-*/;
506
 
495
 
507
}
496
}