Subversion Repositories eFlore/Applications.cel

Rev

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

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