Subversion Repositories eFlore/Applications.cel

Rev

Rev 989 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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