Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 140 Rev 141
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.Configuration;
5
import org.tela_botanica.client.modeles.Configuration;
6
import org.tela_botanica.client.modeles.Utilisateur;
6
import org.tela_botanica.client.modeles.Utilisateur;
7
 
7
 
8
import org.tela_botanica.client.observation.ObservationMediateur;
8
import org.tela_botanica.client.observation.ObservationMediateur;
9
import org.tela_botanica.client.vues.EtatConnexionVue;
9
import org.tela_botanica.client.vues.EtatConnexionVue;
10
import org.tela_botanica.client.vues.FormulaireDeConnexionVue;
10
import org.tela_botanica.client.vues.FormulaireDeConnexionVue;
11
import org.tela_botanica.client.vues.ListeUtilisateurAdminVue;
11
import org.tela_botanica.client.vues.ListeUtilisateurAdminVue;
12
 
12
 
13
import com.google.gwt.core.client.JavaScriptObject;
13
import com.google.gwt.core.client.JavaScriptObject;
14
import com.google.gwt.user.client.DOM;
14
import com.google.gwt.user.client.DOM;
15
import com.google.gwt.user.client.Event;
15
import com.google.gwt.user.client.Event;
16
import com.google.gwt.user.client.Timer;
16
import com.google.gwt.user.client.Timer;
17
import com.google.gwt.user.client.Window;
17
import com.google.gwt.user.client.Window;
18
import com.google.gwt.user.client.ui.Image;
18
import com.google.gwt.user.client.ui.Image;
19
import com.gwtext.client.core.EventCallback;
19
import com.gwtext.client.core.EventCallback;
20
import com.gwtext.client.core.EventObject;
20
import com.gwtext.client.core.EventObject;
21
import com.gwtext.client.core.Ext;
21
import com.gwtext.client.core.Ext;
22
import com.gwtext.client.core.ExtElement;
22
import com.gwtext.client.core.ExtElement;
23
import com.gwtext.client.core.Function;
23
import com.gwtext.client.core.Function;
24
import com.gwtext.client.widgets.BoxComponent;
24
import com.gwtext.client.widgets.BoxComponent;
25
import com.gwtext.client.widgets.Component;
25
import com.gwtext.client.widgets.Component;
26
import com.gwtext.client.widgets.Container;
26
import com.gwtext.client.widgets.Container;
27
import com.gwtext.client.widgets.Panel;
27
import com.gwtext.client.widgets.Panel;
28
import com.gwtext.client.widgets.TabPanel;
28
import com.gwtext.client.widgets.TabPanel;
29
import com.gwtext.client.widgets.Tool;
29
import com.gwtext.client.widgets.Tool;
30
import com.gwtext.client.widgets.ToolTip;
30
import com.gwtext.client.widgets.ToolTip;
31
import com.gwtext.client.widgets.event.ContainerListener;
31
import com.gwtext.client.widgets.event.ContainerListener;
32
import com.gwtext.client.widgets.event.ContainerListenerAdapter;
32
import com.gwtext.client.widgets.event.ContainerListenerAdapter;
33
import com.gwtext.client.widgets.event.PanelListener;
33
import com.gwtext.client.widgets.event.PanelListener;
34
import com.gwtext.client.widgets.event.PanelListenerAdapter;
34
import com.gwtext.client.widgets.event.PanelListenerAdapter;
35
import com.gwtext.client.widgets.layout.FitLayout;
35
import com.gwtext.client.widgets.layout.FitLayout;
36
import com.gwtext.client.widgets.layout.RowLayout;
36
import com.gwtext.client.widgets.layout.RowLayout;
37
import com.gwtext.client.widgets.layout.RowLayoutData;
37
import com.gwtext.client.widgets.layout.RowLayoutData;
38
 
38
 
39
/**
39
/**
40
 * Mediateur gérant les interactions entre vues et les echanges de données
40
 * Mediateur gérant les interactions entre vues et les echanges de données
41
 * C'est un singleton. 
41
 * C'est un singleton. 
42
 * @author david delon 
42
 * @author david delon 
43
 *
43
 *
44
 */
44
 */
45
 
45
 
46
public class CarnetEnLigneMediateur implements Rafraichissable {
46
public class CarnetEnLigneMediateur implements Rafraichissable {
47
	
47
	
48
	
48
	
49
	/**
49
	/**
50
	 * booleen qui verifie l'unicite de l'instance
50
	 * booleen qui verifie l'unicite de l'instance
51
	 */
51
	 */
52
	private static boolean estInstancie = false ;
52
	private static boolean estInstancie = false ;
53
 
53
 
54
	/**
54
	/**
55
	 * pointeur vers le médiateur lui même (pour le pattern singleton)
55
	 * pointeur vers le médiateur lui même (pour le pattern singleton)
56
	 */
56
	 */
57
	private static CarnetEnLigneMediateur thisMediateur = null ;  
57
	private static CarnetEnLigneMediateur thisMediateur = null ;  
58
		
58
		
59
	/**
59
	/**
60
	 * modele de données
60
	 * modele de données
61
	 */
61
	 */
62
	
62
	
63
	private  CarnetEnLigneModele carnetEnLigneModele=null;
63
	private  CarnetEnLigneModele carnetEnLigneModele=null;
64
 
64
 
65
	
65
	
66
	/**
66
	/**
67
	 * panneau principal de l'application "Carnet en ligne"
67
	 * panneau principal de l'application "Carnet en ligne"
68
	 */
68
	 */
69
 
69
 
70
	private Panel panneauPrincipalCarnetEnLigne= null ;
70
	private Panel panneauPrincipalCarnetEnLigne= null ;
71
	
71
	
72
	
72
	
73
	
73
	
74
	/**
74
	/**
75
	 * panneau a onglet pour les observation et les images
75
	 * panneau a onglet pour les observation et les images
76
	 */ 
76
	 */ 
77
	
77
	
78
	
78
	
79
	private com.gwtext.client.widgets.TabPanel ongletsObservationsImages=null;
79
	private com.gwtext.client.widgets.TabPanel ongletsObservationsImages=null;
80
	
80
	
81
	
81
	
82
	/**
82
	/**
83
	 * Indicateur d'etat de la connexion utilisateur
83
	 * Indicateur d'etat de la connexion utilisateur
84
	 */
84
	 */
85
	
85
	
86
	private EtatConnexionVue etatConnexionVue=null;
86
	private EtatConnexionVue etatConnexionVue=null;
87
	
87
	
88
	
88
	
89
	/**
89
	/**
90
	 * Texte d'invite connexion  
90
	 * Texte d'invite connexion  
91
	 */
91
	 */
92
	private final String texteDeconnexion="Utilisez ce carnet en ligne pour saisir vos observations, <u>identifiez-vous</u> pour les transmettre à Tela Botanica"; 
92
	private final String texteDeconnexion="Utilisez ce carnet en ligne pour saisir vos observations, <u>identifiez-vous</u> pour les transmettre à Tela Botanica"; 
93
 
93
 
94
	/**
94
	/**
95
	 * Boolean indiquant un essai de connexion
95
	 * Boolean indiquant un essai de connexion
96
	 */
96
	 */
97
	
97
	
98
	private boolean tentativeConnection=false;
98
	private boolean tentativeConnection=false;
99
	
99
	
100
 
100
 
101
	/**
101
	/**
102
	 *  Formulaire de connexion (lazy instantiation)
102
	 *  Formulaire de connexion (lazy instantiation)
103
	 *  
103
	 *  
104
	 */
104
	 */
105
	
105
	
106
	private FormulaireDeConnexionVue formulaireDeConnexionVue=null;
106
	private FormulaireDeConnexionVue formulaireDeConnexionVue=null;
107
	
107
	
108
	/**
108
	/**
109
	 * 
109
	 * 
110
	 */
110
	 */
111
	private Panel bandeau = null ;
111
	private Panel bandeau = null ;
112
	
112
	
113
	private Panel panneauAdmin = null ;
113
	private Panel panneauAdmin = null ;
114
	
114
	
115
	Tool cacherPanneau = null ;
115
	Tool cacherPanneau = null ;
116
	
116
	
117
	/**
117
	/**
118
	 * Mediateur Gestion des images
118
	 * Mediateur Gestion des images
119
	 */
119
	 */
120
	
120
	
121
	private ImageMediateur imageMediateur=null;
121
	private ImageMediateur imageMediateur=null;
122
	
122
	
123
	/**
123
	/**
124
	 * Mediateur Gestion des observations
124
	 * Mediateur Gestion des observations
125
	 */
125
	 */
126
	
126
	
127
	private ObservationMediateur observationMediateur=null;
127
	private ObservationMediateur observationMediateur=null;
128
	
128
	
129
	/**
129
	/**
130
	 * Un tooltip pour l'aide
130
	 * Un tooltip pour l'aide
131
	 */
131
	 */
132
	private ToolTip tp = new ToolTip() ;
132
	private ToolTip tp = new ToolTip() ;
133
 
133
 
134
 
134
 
135
	/**
135
	/**
136
	 * Utilisateur en cours
136
	 * Utilisateur en cours
137
	 */
137
	 */
138
 
138
 
139
		
139
		
140
	private Utilisateur utilisateur=null; 
140
	private Utilisateur utilisateur=null; 
141
	
141
	
142
 
142
 
143
	
143
	
144
	public static CarnetEnLigneMediateur Instance()
144
	public static CarnetEnLigneMediateur Instance()
145
	{
145
	{
146
			if(!estInstancie || thisMediateur==null)
146
			if(!estInstancie || thisMediateur==null)
147
			{
147
			{
148
				estInstancie = true ;
148
				estInstancie = true ;
149
				thisMediateur = new CarnetEnLigneMediateur() ;
149
				thisMediateur = new CarnetEnLigneMediateur() ;
150
			}
150
			}
151
			
151
			
152
			return thisMediateur ;
152
			return thisMediateur ;
153
			
153
			
154
	}
154
	}
155
	
155
	
156
	
156
	
157
	/**
157
	/**
158
	 * constructeur privé (on accède a la classe par la méthode getInstance
158
	 * constructeur privé (on accède a la classe par la méthode getInstance
159
	 */
159
	 */
160
	
160
	
161
	private CarnetEnLigneMediateur() {
161
	private CarnetEnLigneMediateur() {
162
	
162
	
163
		
163
		
164
		panneauPrincipalCarnetEnLigne = new Panel("Carnet en ligne");
164
		panneauPrincipalCarnetEnLigne = new Panel("Carnet en ligne");
165
		
165
		
166
//		Disposition 
166
//		Disposition 
167
		
167
		
168
		panneauPrincipalCarnetEnLigne.setLayout(new RowLayout());
168
		panneauPrincipalCarnetEnLigne.setLayout(new RowLayout());
169
 
169
 
170
		
170
		
171
//		On crée un modèle d'acces aux donnnes 
171
//		On crée un modèle d'acces aux donnnes 
172
		
172
		
173
		carnetEnLigneModele=CarnetEnLigneModele.Instance();
173
		carnetEnLigneModele=CarnetEnLigneModele.Instance();
174
		
174
		
175
		
175
		
176
		//Image bandeau = new Image("Bandeau-haut.gif") ;
176
		//Image bandeau = new Image("Bandeau-haut.gif") ;
177
		bandeau = new Panel();
177
		bandeau = new Panel();
178
		Image logoND = new Image("logo_n_d.gif") ;
178
		Image logoND = new Image("logo_n_d.gif") ;
179
		logoND.setStylePrimaryName("x-img-logo_nd") ;
179
		logoND.setStylePrimaryName("x-img-logo_nd") ;
180
		final Image img = new Image("bandeau-haut.gif") {
180
		final Image img = new Image("bandeau-haut.gif") {
181
			public void onBrowserEvent(Event e) {
181
			public void onBrowserEvent(Event e) {
182
				
182
				
183
				if(DOM.eventGetType(e) == Event.ONCLICK)
183
				if(DOM.eventGetType(e) == Event.ONCLICK)
184
				{
184
				{
185
					bandeau.toggleCollapse(true);
185
					bandeau.toggleCollapse(true);
186
				}
186
				}
187
				if(DOM.eventGetType(e) == Event.ONMOUSEOVER) {
187
				if(DOM.eventGetType(e) == Event.ONMOUSEOVER) {
188
					tp.setHtml("<div class=\"x-tooltip-help\"> Cliquez sur l'image ou sur la flèche en haut à droite pour replier le panneau </div>");
188
					tp.setHtml("<div class=\"x-tooltip-help\"> Cliquez sur l'image ou sur la flèche en haut à droite pour replier le panneau </div>");
189
					tp.showAt(0,0);
189
					tp.showAt(0,0);
190
				}
190
				}
191
				
191
				
192
				
192
				
193
				if(DOM.eventGetType(e) == Event.ONMOUSEOUT) {
193
				if(DOM.eventGetType(e) == Event.ONMOUSEOUT) {
194
					if(tp.isVisible()) {
194
					if(tp.isVisible()) {
195
						tp.hide();
195
						tp.hide();
196
					}
196
					}
197
				}
197
				}
198
			}
198
			}
199
		};
199
		};
200
		bandeau.add(img) ;
200
		bandeau.add(img) ;
201
		img.setSize("50%", "100%");
201
		img.setSize("50%", "100%");
202
		bandeau.add(logoND) ;
202
		bandeau.add(logoND) ;
203
		logoND.setSize("10%", "100%");
203
		logoND.setSize("10%", "100%");
204
		bandeau.setId("x-up-bandeau") ;
204
		bandeau.setId("x-up-bandeau") ;
205
		bandeau.setBorder(false) ;
205
		bandeau.setBorder(false) ;
206
		// La vue affichant le statut de la connexion 
206
		// La vue affichant le statut de la connexion 
207
		bandeau.setSize("60%","80%") ;
207
		bandeau.setSize("60%","80%") ;
208
		etatConnexionVue=new EtatConnexionVue(this);
208
		etatConnexionVue=new EtatConnexionVue(this);
209
		etatConnexionVue.setLayout(new FitLayout()) ;
209
		etatConnexionVue.setLayout(new FitLayout()) ;
210
		
210
		
211
		// Le panneau à onglet qui contient les 2 applications Observation et Images 
211
		// Le panneau à onglet qui contient les 2 applications Observation et Images 
212
		
212
		
213
		ongletsObservationsImages = new TabPanel();
213
		ongletsObservationsImages = new TabPanel();
214
		
214
		
215
		panneauPrincipalCarnetEnLigne.add(etatConnexionVue,new RowLayoutData(20));
215
		panneauPrincipalCarnetEnLigne.add(etatConnexionVue,new RowLayoutData(20));
216
		panneauPrincipalCarnetEnLigne.add(bandeau, new RowLayoutData("10%")) ;
216
		panneauPrincipalCarnetEnLigne.add(bandeau, new RowLayoutData("10%")) ;
217
		
217
		
218
		img.sinkEvents(Event.ONCLICK);
218
		img.sinkEvents(Event.ONCLICK);
219
		img.sinkEvents(Event.ONMOUSEOVER);
219
		img.sinkEvents(Event.ONMOUSEOVER);
220
		img.sinkEvents(Event.ONMOUSEOUT);
220
		img.sinkEvents(Event.ONMOUSEOUT);
221
		
221
		
222
		//	on ajoute le panneau a onglet au panneau principal
222
		//	on ajoute le panneau a onglet au panneau principal
223
		cacherPanneau = new Tool(Tool.TOGGLE, new Function() {
223
		cacherPanneau = new Tool(Tool.TOGGLE, new Function() {
224
 
224
 
225
			public void execute() {
225
			public void execute() {
226
				
226
				
227
				if(!bandeau.isCollapsed()) {
227
				if(!bandeau.isCollapsed()) {
228
					bandeau.toggleCollapse(true) ;
228
					bandeau.toggleCollapse(true) ;
229
				}
229
				}
230
				else {
230
				else {
231
					bandeau.toggleCollapse(true) ;
231
					bandeau.toggleCollapse(true) ;
232
				}
232
				}
233
				
233
				
234
			}
234
			}
235
			
235
			
236
		}) ;
236
		}) ;
237
		
237
		
238
		panneauAdmin = new Panel();
238
		panneauAdmin = new Panel();
239
		panneauPrincipalCarnetEnLigne.add(panneauAdmin, new RowLayoutData(20));
239
		panneauPrincipalCarnetEnLigne.add(panneauAdmin, new RowLayoutData(20));
240
		panneauAdmin.setBorder(false);
240
		panneauAdmin.setBorder(false);
241
		panneauAdmin.hide();
241
		panneauAdmin.hide();
242
		
242
		
243
		panneauPrincipalCarnetEnLigne.add(ongletsObservationsImages);
243
		panneauPrincipalCarnetEnLigne.add(ongletsObservationsImages);
244
		panneauPrincipalCarnetEnLigne.addTool(cacherPanneau) ;
244
		panneauPrincipalCarnetEnLigne.addTool(cacherPanneau) ;
245
		
245
		
246
		panneauPrincipalCarnetEnLigne.setAutoScroll(true);
246
		panneauPrincipalCarnetEnLigne.setAutoScroll(true);
247
		
247
		
248
		// On ajoute les applications 		
248
		// On ajoute les applications 		
249
		observationMediateur = ObservationMediateur.Instance(this);
249
		observationMediateur = ObservationMediateur.Instance(this);
250
		imageMediateur= ImageMediateur.Instance(this);
250
		imageMediateur= ImageMediateur.Instance(this);
251
		
251
		
252
		//temp dd viewport desactive ajout de cette  ligne
252
		//temp dd viewport desactive ajout de cette  ligne
253
		getPanneauPrincipalCarnetEnLigne().setHeight(Window.getClientHeight()) ;
253
		getPanneauPrincipalCarnetEnLigne().setHeight(Window.getClientHeight()) ;
254
		
254
		
255
		//	on ajoute les panneaux  principaux des applications au panneau à onglets
255
		//	on ajoute les panneaux  principaux des applications au panneau à onglets
256
		ongletsObservationsImages.add(observationMediateur.getPanneauPrincipalObservation());
256
		ongletsObservationsImages.add(observationMediateur.getPanneauPrincipalObservation());
257
		ongletsObservationsImages.add(imageMediateur.getPanneauPrincipalImage());
257
		ongletsObservationsImages.add(imageMediateur.getPanneauPrincipalImage());
258
	}
258
	}
259
	
259
	
260
	
260
	
261
	public void getEtatUtilisateur() { 
261
	public void getEtatUtilisateur() { 
262
		
262
		
263
			
263
			
264
		carnetEnLigneModele.getEtatUtilisateur(this); 
264
		carnetEnLigneModele.getEtatUtilisateur(this); 
265
				
265
				
266
		
266
		
267
	}
267
	}
268
 
268
 
269
 
269
 
270
	// Methode publiques
270
	// Methode publiques
271
	
271
	
272
	
272
	
273
	
273
	
274
	/**
274
	/**
275
	 * Recherche Identifiant utilisateur en cours et etat de connection
275
	 * Recherche Identifiant utilisateur en cours et etat de connection
276
	 * @return Utilisateur
276
	 * @return Utilisateur
277
	 */
277
	 */
278
	
278
	
279
	
279
	
280
	public Utilisateur getUtilisateur() {
280
	public Utilisateur getUtilisateur() {
281
		return utilisateur;
281
		return utilisateur;
282
	}
282
	}
283
 
283
 
284
	/**
284
	/**
285
	 * Deconnecte l'utilisateur passe en parametre
285
	 * Deconnecte l'utilisateur passe en parametre
286
	 */
286
	 */
287
    public void deconnecterUtilisateur() {
287
    public void deconnecterUtilisateur() {
288
 
288
 
289
    	// TODO: vider proprement toutes les vues (méthode à voir)
289
    	// TODO: vider proprement toutes les vues (méthode à voir)
290
		carnetEnLigneModele.deconnecterUtilisateur(this, utilisateur.getIdentifiant());
290
		carnetEnLigneModele.deconnecterUtilisateur(this, utilisateur.getIdentifiant());
291
		
291
		
292
		observationMediateur.deconnecterUtilisateur() ;
292
		observationMediateur.deconnecterUtilisateur() ;
293
		imageMediateur.deconnecterUtilisateur();
293
		imageMediateur.deconnecterUtilisateur();
294
	}
294
	}
295
 
295
 
296
	public void connecterUtilisateur(String login, String password) {
296
	public void connecterUtilisateur(String login, String password) {
297
	
297
	
298
		tentativeConnection=true;
298
		tentativeConnection=true;
299
		carnetEnLigneModele.connecterUtilisateur(this, login, password); 
299
		carnetEnLigneModele.connecterUtilisateur(this, login, password); 
300
		
300
		
301
	}
301
	}
302
 
302
 
303
 
303
 
304
	
304
	
305
	/**
305
	/**
306
	 *  Affichage etat de la connexion
306
	 *  Affichage etat de la connexion
307
	 */
307
	 */
308
	
308
	
309
	
309
	
310
	private void afficheEtatConnexion() {
310
	private void afficheEtatConnexion() {
311
		 
311
		 
312
		
312
		
313
		if (!utilisateur.isIdentifie()) {
313
		if (!utilisateur.isIdentifie()) {
314
			   etatConnexionVue.setEtat("",false);
314
			   etatConnexionVue.setEtat("",false);
315
		}
315
		}
316
		else {
316
		else {
317
			if(utilisateur.isAdmin()) {
317
			if(utilisateur.isAdmin()) {
318
		    	  
-
 
319
		    	  afficherLienAdmin();
318
		    	  afficherLienAdmin();
320
		      }
319
		    }
-
 
320
			
-
 
321
			panneauAdmin.setVisible(utilisateur.isAdmin());
321
		      etatConnexionVue.setEtat(utilisateur.getIdentifiant(),true);
322
		    etatConnexionVue.setEtat(utilisateur.getIdentifiant(),true);
322
		      
323
		      
323
		}
324
		}
324
		
325
		
325
	}
326
	}
326
 
327
 
327
	
328
	
328
	/**
329
	/**
329
	 * 
330
	 * 
330
	 * Affichage boite de connexion
331
	 * Affichage boite de connexion
331
	 *
332
	 *
332
	 */
333
	 */
333
	
334
	
334
	
335
	
335
	public void afficherDialogueConnexion() {
336
	public void afficherDialogueConnexion() {
336
		
337
		
337
		  if (formulaireDeConnexionVue==null) { 
338
		  if (formulaireDeConnexionVue==null) { 
338
			  formulaireDeConnexionVue= new FormulaireDeConnexionVue(this);
339
			  formulaireDeConnexionVue= new FormulaireDeConnexionVue(this);
339
		  }
340
		  }
340
		  
341
		  
341
		  // On le positionne à peu près au milieu de l'écran
342
		  // On le positionne à peu près au milieu de l'écran
342
		  int left = (Window.getClientWidth() - 512) / 2;
343
		  int left = (Window.getClientWidth() - 512) / 2;
343
		  int top = (Window.getClientHeight() - 256) / 2;
344
		  int top = (Window.getClientHeight() - 256) / 2;
344
		  
345
		  
345
		  formulaireDeConnexionVue.setPopupPosition(left, top);
346
		  formulaireDeConnexionVue.setPopupPosition(left, top);
346
		  formulaireDeConnexionVue.show();
347
		  formulaireDeConnexionVue.show();
347
		
348
		
348
	}
349
	}
349
 
350
 
350
 
351
 
351
	
352
	
352
 
353
 
353
	public Panel getPanneauPrincipalCarnetEnLigne() {
354
	public Panel getPanneauPrincipalCarnetEnLigne() {
354
		return panneauPrincipalCarnetEnLigne;
355
		return panneauPrincipalCarnetEnLigne;
355
	}
356
	}
356
 
357
 
357
	
358
	
358
//	 TODO : repandre rafraichissement
359
//	 TODO : repandre rafraichissement
359
 
360
 
360
	public void rafraichir(Object nouvelleDonnees, boolean repandreRaffraichissement) {
361
	public void rafraichir(Object nouvelleDonnees, boolean repandreRaffraichissement) {
361
 
362
 
362
			if (nouvelleDonnees instanceof Utilisateur) {
363
			if (nouvelleDonnees instanceof Utilisateur) {
363
							      
364
							      
364
				utilisateur = (Utilisateur) nouvelleDonnees;
365
				utilisateur = (Utilisateur) nouvelleDonnees;
365
								
366
								
366
				afficheEtatConnexion();
367
				afficheEtatConnexion();
367
				
368
				
368
				if ((tentativeConnection) && !utilisateur.isIdentifie()) {
369
				if ((tentativeConnection) && !utilisateur.isIdentifie()) {
369
			
370
					
-
 
371
					panneauAdmin.setVisible(false);
370
					//formulaireDeConnexionVue.afficherMessageAlerte();
372
					//formulaireDeConnexionVue.afficherMessageAlerte();
371
				}
373
				}
372
				else {
374
				else {
373
					if ((tentativeConnection) && utilisateur.isIdentifie()) {						
375
					if ((tentativeConnection) && utilisateur.isIdentifie()) {						
374
						formulaireDeConnexionVue.hide();
376
						formulaireDeConnexionVue.hide();
375
					}
377
					}
376
				}
378
				}
377
 
379
 
378
			// On lance l'affichage des observations
380
			// On lance l'affichage des observations
379
				observationMediateur.connecterUtilisateur();
381
				observationMediateur.connecterUtilisateur();
380
				imageMediateur.connecterUtilisateur();
382
				imageMediateur.connecterUtilisateur();
381
 
383
 
382
			}
384
			}
383
 
385
 
384
	}
386
	}
385
 
387
 
386
 
388
 
387
	public void obtenirListeObservations(Rafraichissable r) {
389
	public void obtenirListeObservations(Rafraichissable r) {
388
		
390
		
389
		observationMediateur.obtenirCacheObservation(r) ;
391
		observationMediateur.obtenirCacheObservation(r) ;
390
		
392
		
391
	}
393
	}
392
 
394
 
393
 
395
 
394
	public void donneesRafraichies(Object nouvelleDonnees) {
396
	public void donneesRafraichies(Object nouvelleDonnees) {
395
		
397
		
396
		imageMediateur.donneesExterieures(nouvelleDonnees) ;
398
		imageMediateur.donneesExterieures(nouvelleDonnees) ;
397
		
399
		
398
	}
400
	}
399
 
401
 
400
 
402
 
401
	public void afficherListeUtilisateurs() {
403
	public void afficherListeUtilisateurs() {
402
		
404
		
403
		ListeUtilisateurAdminVue listeUtilisateur = new ListeUtilisateurAdminVue(this) ;
405
		ListeUtilisateurAdminVue listeUtilisateur = new ListeUtilisateurAdminVue(this) ;
404
		listeUtilisateur.show(Ext.get("LienChangerUtilisateur").getDOM());
406
		listeUtilisateur.show(Ext.get("LienChangerUtilisateur").getDOM());
405
		
407
		
406
	}
408
	}
407
	
409
	
408
	public void afficherLienAdmin() {
410
	public void afficherLienAdmin() {
409
 
411
 
410
		String labelAdmin = "<div id=\"lienAdmin\">Connecté en tant que : "+utilisateur.getIdentite()+"  <a id=\"LienChangerUtilisateur\" href=\"#\">Changer d'utilisateur</a></div>" ;
412
		String labelAdmin = "<div id=\"lienAdmin\">Vous consultez les données de "+utilisateur.getIdentite()+"  <a id=\"LienChangerUtilisateur\" href=\"#\">Changer d'utilisateur</a></div>" ;
411
		panneauAdmin.setHtml(labelAdmin);
413
		panneauAdmin.setHtml(labelAdmin);
412
		
414
		
413
		ExtElement lienChangerUt = Ext.get("LienChangerUtilisateur");
415
		ExtElement lienChangerUt = Ext.get("LienChangerUtilisateur");
414
		if(lienChangerUt != null) 
416
		if(lienChangerUt != null) 
415
		{	
417
		{	
-
 
418
			lienChangerUt.removeAllListeners();
416
			lienChangerUt.addListener("click", new EventCallback() {
419
			lienChangerUt.addListener("click", new EventCallback() {
417
 
420
 
418
				public void execute(EventObject e) {
421
				public void execute(EventObject e) {
419
					afficherListeUtilisateurs();
422
					afficherListeUtilisateurs();
420
				}
423
				}
421
				
424
				
422
			});
425
			});
423
		}
426
		}
424
		else
427
		else
425
		{
428
		{
426
			panneauAdmin.addListener(new ContainerListenerAdapter() 
429
			panneauAdmin.addListener(new ContainerListenerAdapter() 
427
			{
430
			{
428
				public void onAfterLayout(Container c) 
431
				public void onAfterLayout(Container c) 
429
				{
432
				{
430
					ExtElement lienChangerUt = Ext.get("LienChangerUtilisateur");
433
					ExtElement lienChangerUt = Ext.get("LienChangerUtilisateur");
431
					
-
 
-
 
434
					lienChangerUt.removeAllListeners();
432
					lienChangerUt.addListener("click", new EventCallback() {
435
					lienChangerUt.addListener("click", new EventCallback() {
433
 
436
 
434
						public void execute(EventObject e) {
437
						public void execute(EventObject e) {
435
							afficherListeUtilisateurs();
438
							afficherListeUtilisateurs();
436
						}
439
						}
437
						
440
						
438
					});
441
					});
439
				}
442
				}
440
			});
443
			});
441
		}
444
		}
442
		
-
 
443
		panneauAdmin.show();
-
 
444
	}
445
	}
445
	
446
	
446
	public void changerIdentite(String nouvelleIdentite) {
447
	public void changerIdentite(String nouvelleIdentite) {
447
		utilisateur.setIdentite(nouvelleIdentite);
448
		utilisateur.setIdentite(nouvelleIdentite);
448
		afficherLienAdmin();
449
		afficherLienAdmin();
449
		observationMediateur.connecterUtilisateur();
450
		observationMediateur.connecterUtilisateur();
450
		imageMediateur.connecterUtilisateur();
451
		imageMediateur.connecterUtilisateur();
451
	}
452
	}
-
 
453
 
-
 
454
 
-
 
455
	public void obtenirListeUtilisateurs(String rech, Rafraichissable r) {
-
 
456
		carnetEnLigneModele.obtenirListeUtilisateur(r,rech,utilisateur.getIdentifiant());
-
 
457
	}
452
 
458
 
453
}
459
}