Subversion Repositories eFlore/Applications.coel

Rev

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

Rev 907 Rev 910
1
package org.tela_botanica.client;
1
package org.tela_botanica.client;
2
 
2
 
3
import java.util.Iterator;
3
import java.util.Iterator;
4
import java.util.List;
4
import java.util.List;
5
 
5
 
6
import org.tela_botanica.client.composants.AideFenetre;
6
import org.tela_botanica.client.composants.AideFenetre;
7
import org.tela_botanica.client.composants.IdentificationFenetre;
7
import org.tela_botanica.client.composants.IdentificationFenetre;
8
import org.tela_botanica.client.composants.LicenceFenetre;
8
import org.tela_botanica.client.composants.LicenceFenetre;
9
import org.tela_botanica.client.composants.ParametreFenetre;
9
import org.tela_botanica.client.composants.ParametreFenetre;
10
import org.tela_botanica.client.configuration.APropos;
10
import org.tela_botanica.client.configuration.APropos;
11
import org.tela_botanica.client.configuration.Configuration;
11
import org.tela_botanica.client.configuration.Configuration;
12
import org.tela_botanica.client.i18n.Constantes;
12
import org.tela_botanica.client.i18n.Constantes;
13
import org.tela_botanica.client.i18n.ErrorMessages;
13
import org.tela_botanica.client.i18n.ErrorMessages;
14
import org.tela_botanica.client.interfaces.Rafraichissable;
14
import org.tela_botanica.client.interfaces.Rafraichissable;
15
import org.tela_botanica.client.modeles.Collection;
15
import org.tela_botanica.client.modeles.Collection;
16
import org.tela_botanica.client.modeles.CollectionAPersonne;
16
import org.tela_botanica.client.modeles.CollectionAPersonne;
17
import org.tela_botanica.client.modeles.CollectionAPublication;
17
import org.tela_botanica.client.modeles.CollectionAPublication;
18
import org.tela_botanica.client.modeles.CollectionAPublicationListe;
18
import org.tela_botanica.client.modeles.CollectionAPublicationListe;
19
import org.tela_botanica.client.modeles.CollectionListe;
19
import org.tela_botanica.client.modeles.CollectionListe;
20
import org.tela_botanica.client.modeles.Information;
20
import org.tela_botanica.client.modeles.Information;
21
import org.tela_botanica.client.modeles.MenuApplicationId;
21
import org.tela_botanica.client.modeles.MenuApplicationId;
22
import org.tela_botanica.client.modeles.Personne;
22
import org.tela_botanica.client.modeles.Personne;
23
import org.tela_botanica.client.modeles.PersonneListe;
23
import org.tela_botanica.client.modeles.PersonneListe;
24
import org.tela_botanica.client.modeles.Projet;
24
import org.tela_botanica.client.modeles.Projet;
25
import org.tela_botanica.client.modeles.ProjetListe;
25
import org.tela_botanica.client.modeles.ProjetListe;
26
import org.tela_botanica.client.modeles.Publication;
26
import org.tela_botanica.client.modeles.Publication;
27
import org.tela_botanica.client.modeles.PublicationAPersonne;
27
import org.tela_botanica.client.modeles.PublicationAPersonne;
28
import org.tela_botanica.client.modeles.PublicationAPersonneListe;
28
import org.tela_botanica.client.modeles.PublicationAPersonneListe;
29
import org.tela_botanica.client.modeles.PublicationListe;
29
import org.tela_botanica.client.modeles.PublicationListe;
30
import org.tela_botanica.client.modeles.Structure;
30
import org.tela_botanica.client.modeles.Structure;
31
import org.tela_botanica.client.modeles.StructureAPersonne;
31
import org.tela_botanica.client.modeles.StructureAPersonne;
32
import org.tela_botanica.client.modeles.CollectionAPersonneListe;
32
import org.tela_botanica.client.modeles.CollectionAPersonneListe;
33
import org.tela_botanica.client.modeles.StructureAPersonneListe;
33
import org.tela_botanica.client.modeles.StructureAPersonneListe;
34
import org.tela_botanica.client.modeles.StructureConservation;
34
import org.tela_botanica.client.modeles.StructureConservation;
35
import org.tela_botanica.client.modeles.StructureListe;
35
import org.tela_botanica.client.modeles.StructureListe;
36
import org.tela_botanica.client.modeles.StructureValorisation;
36
import org.tela_botanica.client.modeles.StructureValorisation;
37
import org.tela_botanica.client.modeles.Utilisateur;
37
import org.tela_botanica.client.modeles.Utilisateur;
38
import org.tela_botanica.client.modeles.ValeurListe;
38
import org.tela_botanica.client.modeles.ValeurListe;
-
 
39
import org.tela_botanica.client.vues.AccueilVue;
39
import org.tela_botanica.client.vues.CollectionForm;
40
import org.tela_botanica.client.vues.CollectionForm;
40
import org.tela_botanica.client.vues.CollectionListeVue;
41
import org.tela_botanica.client.vues.CollectionListeVue;
41
import org.tela_botanica.client.vues.CollectionVue;
42
import org.tela_botanica.client.vues.CollectionVue;
42
import org.tela_botanica.client.vues.ContenuVue;
43
import org.tela_botanica.client.vues.ContenuVue;
43
import org.tela_botanica.client.vues.EnteteVue;
44
import org.tela_botanica.client.vues.EnteteVue;
44
import org.tela_botanica.client.vues.Formulaire;
45
import org.tela_botanica.client.vues.Formulaire;
45
import org.tela_botanica.client.vues.PersonneForm;
46
import org.tela_botanica.client.vues.PersonneForm;
46
import org.tela_botanica.client.vues.ProjetForm;
47
import org.tela_botanica.client.vues.ProjetForm;
47
import org.tela_botanica.client.vues.ProjetVue;
48
import org.tela_botanica.client.vues.ProjetVue;
48
import org.tela_botanica.client.vues.PublicationForm;
49
import org.tela_botanica.client.vues.PublicationForm;
49
import org.tela_botanica.client.vues.StructureForm;
50
import org.tela_botanica.client.vues.StructureForm;
50
import org.tela_botanica.client.vues.PersonneVue;
51
import org.tela_botanica.client.vues.PersonneVue;
51
import org.tela_botanica.client.vues.PopupChargement;
52
import org.tela_botanica.client.vues.PopupChargement;
52
import org.tela_botanica.client.vues.PublicationVue;
53
import org.tela_botanica.client.vues.PublicationVue;
53
import org.tela_botanica.client.vues.StatutVue;
54
import org.tela_botanica.client.vues.StatutVue;
54
import org.tela_botanica.client.vues.StructureVue;
55
import org.tela_botanica.client.vues.StructureVue;
55
import org.tela_botanica.client.vues.MenuVue;
56
import org.tela_botanica.client.vues.MenuVue;
56
 
57
 
57
import com.extjs.gxt.ui.client.Registry;
58
import com.extjs.gxt.ui.client.Registry;
58
import com.extjs.gxt.ui.client.Style.LayoutRegion;
59
import com.extjs.gxt.ui.client.Style.LayoutRegion;
59
import com.extjs.gxt.ui.client.event.Listener;
60
import com.extjs.gxt.ui.client.event.Listener;
60
import com.extjs.gxt.ui.client.event.MessageBoxEvent;
61
import com.extjs.gxt.ui.client.event.MessageBoxEvent;
61
import com.extjs.gxt.ui.client.util.Margins;
62
import com.extjs.gxt.ui.client.util.Margins;
62
import com.extjs.gxt.ui.client.widget.Component;
63
import com.extjs.gxt.ui.client.widget.Component;
63
import com.extjs.gxt.ui.client.widget.Dialog;
64
import com.extjs.gxt.ui.client.widget.Dialog;
64
import com.extjs.gxt.ui.client.widget.Info;
65
import com.extjs.gxt.ui.client.widget.Info;
65
import com.extjs.gxt.ui.client.widget.MessageBox;
66
import com.extjs.gxt.ui.client.widget.MessageBox;
66
import com.extjs.gxt.ui.client.widget.Viewport;
67
import com.extjs.gxt.ui.client.widget.Viewport;
67
import com.extjs.gxt.ui.client.widget.button.Button;
68
import com.extjs.gxt.ui.client.widget.button.Button;
68
import com.extjs.gxt.ui.client.widget.layout.BorderLayout;
69
import com.extjs.gxt.ui.client.widget.layout.BorderLayout;
69
import com.extjs.gxt.ui.client.widget.layout.BorderLayoutData;
70
import com.extjs.gxt.ui.client.widget.layout.BorderLayoutData;
70
import com.google.gwt.core.client.GWT;
71
import com.google.gwt.core.client.GWT;
71
import com.google.gwt.i18n.client.Dictionary;
72
import com.google.gwt.i18n.client.Dictionary;
72
import com.google.gwt.user.client.Window;
73
import com.google.gwt.user.client.Window;
73
import com.google.gwt.user.client.ui.RootPanel;
74
import com.google.gwt.user.client.ui.RootPanel;
74
 
75
 
75
public class Mediateur implements Rafraichissable {
76
public class Mediateur implements Rafraichissable {
76
	
77
	
77
	private Viewport viewport;
78
	private Viewport viewport;
78
	private Modele modele = null;
79
	private Modele modele = null;
79
	public static final Constantes i18nC = getI18nConstante();
80
	public static final Constantes i18nC = getI18nConstante();
80
	public static final ErrorMessages i18nM = getI18nMessage();
81
	public static final ErrorMessages i18nM = getI18nMessage();
81
	
82
	
82
	private EnteteVue panneauNord = null;
83
	private EnteteVue panneauNord = null;
83
	private MenuVue panneauOuest = null;
84
	private MenuVue panneauOuest = null;
84
	private ContenuVue panneauCentre = null;
85
	private ContenuVue panneauCentre = null;
85
	private StatutVue panneauSud = null;
86
	private StatutVue panneauSud = null;
86
	
87
	
87
	private IdentificationFenetre fenetreIdentification = null;
88
	private IdentificationFenetre fenetreIdentification = null;
88
	
89
	
89
	public Mediateur() {
90
	public Mediateur() {
90
		// Enregistrement du Médiateur dans le Registre
91
		// Enregistrement du Médiateur dans le Registre
91
		Registry.register(RegistreId.MEDIATEUR, this);
92
		Registry.register(RegistreId.MEDIATEUR, this);
92
 
93
 
93
		//Initialisation du Registre
94
		//Initialisation du Registre
94
		initialiserRegistre();
95
		initialiserRegistre();
95
		
96
		
96
		// Création du Modèle qui s'enregistre lui même dans le Registre
97
		// Création du Modèle qui s'enregistre lui même dans le Registre
97
		modele = new Modele();
98
		modele = new Modele();
98
 
99
 
99
		// Création du Viewport qui contient la disposition globale de l'application
100
		// Création du Viewport qui contient la disposition globale de l'application
100
		viewport = new Viewport();
101
		viewport = new Viewport();
101
		viewport.setLayout(new BorderLayout());
102
		viewport.setLayout(new BorderLayout());
102
 
103
 
103
		// Création des différents panneaux
104
		// Création des différents panneaux
104
	    creerPanneauNord();
105
	    creerPanneauNord();
105
	    creerPanneauOuest();
106
	    creerPanneauOuest();
106
	    creerPanneauCentral();
107
	    creerPanneauCentral();
107
	    creerPanneauSud();
108
	    creerPanneauSud();
108
		
109
		
109
		// Connection de l'utilisateur
110
		// Connection de l'utilisateur
110
		connecterUtilisateur(null, null);
111
		connecterUtilisateur(null, null);
111
		
112
		
112
		// Retour à GWT du Viewport une fois constuit
113
		// Retour à GWT du Viewport une fois constuit
113
		RootPanel.get().add(viewport);
114
		RootPanel.get().add(viewport);
114
	}
115
	}
115
	
116
	
116
	//+----------------------------------------------------------------------------------------------------------------+
117
	//+----------------------------------------------------------------------------------------------------------------+
117
	//												GESTION de l'I18N et du REGISTRE
118
	//												GESTION de l'I18N et du REGISTRE
118
	//+----------------------------------------------------------------------------------------------------------------+
119
	//+----------------------------------------------------------------------------------------------------------------+
119
	protected static Constantes getI18nConstante() {
120
	protected static Constantes getI18nConstante() {
120
		return GWT.create(Constantes.class);
121
		return GWT.create(Constantes.class);
121
	}
122
	}
122
	
123
	
123
	protected static ErrorMessages getI18nMessage() {
124
	protected static ErrorMessages getI18nMessage() {
124
		return GWT.create(ErrorMessages.class);
125
		return GWT.create(ErrorMessages.class);
125
	}
126
	}
126
	
127
	
127
	protected void initialiserRegistre() {
128
	protected void initialiserRegistre() {
128
		Registry.register(RegistreId.APPLI_NOM, i18nC.appliNom());
129
		Registry.register(RegistreId.APPLI_NOM, i18nC.appliNom());
129
		Registry.register(RegistreId.APPLI_CODE, i18nC.appliCode());
130
		Registry.register(RegistreId.APPLI_CODE, i18nC.appliCode());
130
		Registry.register(RegistreId.APPLI_VERSION, i18nC.appliVersionNumero());
131
		Registry.register(RegistreId.APPLI_VERSION, i18nC.appliVersionNumero());
131
		
132
		
132
		APropos apropos = new APropos();
133
		APropos apropos = new APropos();
133
		Registry.register(RegistreId.APPLI_REVISION, apropos.getRevisionGlobale());
134
		Registry.register(RegistreId.APPLI_REVISION, apropos.getRevisionGlobale());
134
		Registry.register(RegistreId.APPLI_COMPILATION_JAVA_VERSION, apropos.getVersionJavaCompilation());
135
		Registry.register(RegistreId.APPLI_COMPILATION_JAVA_VERSION, apropos.getVersionJavaCompilation());
135
		Registry.register(RegistreId.APPLI_COMPILATION_DATE_HEURE, apropos.getDateHeureCompilation());
136
		Registry.register(RegistreId.APPLI_COMPILATION_DATE_HEURE, apropos.getDateHeureCompilation());
136
 
137
 
137
		Registry.register(RegistreId.CONFIG, new Configuration());
138
		Registry.register(RegistreId.CONFIG, new Configuration());
138
		Registry.register(RegistreId.POPUP_CHARGEMENT, new PopupChargement(this));
139
		Registry.register(RegistreId.POPUP_CHARGEMENT, new PopupChargement(this));
139
		Registry.register(RegistreId.UTILISATEUR_COURANT, new Utilisateur());
140
		Registry.register(RegistreId.UTILISATEUR_COURANT, new Utilisateur());
140
		Registry.register(RegistreId.PROJET_COURANT, new Projet());
141
		Registry.register(RegistreId.PROJET_COURANT, new Projet());
141
	}
142
	}
142
	
143
	
143
	//+----------------------------------------------------------------------------------------------------------------+
144
	//+----------------------------------------------------------------------------------------------------------------+
144
	//												GESTION des PANNEAUX PRINCIPAUX
145
	//												GESTION des PANNEAUX PRINCIPAUX
145
	//+----------------------------------------------------------------------------------------------------------------+
146
	//+----------------------------------------------------------------------------------------------------------------+
146
	
147
	
147
	private void creerPanneauNord() {
148
	private void creerPanneauNord() {
148
		panneauNord = new EnteteVue(this);
149
		panneauNord = new EnteteVue(this);
149
		
150
		
150
		BorderLayoutData regionNord = new BorderLayoutData(LayoutRegion.NORTH, 100);  
151
		BorderLayoutData regionNord = new BorderLayoutData(LayoutRegion.NORTH, 100);  
151
		regionNord.setCollapsible(true);
152
		regionNord.setCollapsible(true);
152
		regionNord.setFloatable(true);
153
		regionNord.setFloatable(true);
153
		regionNord.setSplit(false);
154
		regionNord.setSplit(false);
154
		regionNord.setMargins(new Margins(5, 5, 0, 5));
155
		regionNord.setMargins(new Margins(5, 5, 0, 5));
155
		
156
		
156
		viewport.add(panneauNord, regionNord);
157
		viewport.add(panneauNord, regionNord);
157
	}
158
	}
158
	
159
	
159
	private void creerPanneauOuest() {
160
	private void creerPanneauOuest() {
160
		panneauOuest = new MenuVue(this); 
161
		panneauOuest = new MenuVue(this); 
161
		
162
		
162
		BorderLayoutData regionOuest = new BorderLayoutData(LayoutRegion.WEST, 200);  
163
		BorderLayoutData regionOuest = new BorderLayoutData(LayoutRegion.WEST, 200);  
163
		regionOuest.setSplit(true);
164
		regionOuest.setSplit(true);
164
		regionOuest.setCollapsible(true);  
165
		regionOuest.setCollapsible(true);  
165
		regionOuest.setMargins(new Margins(5));
166
		regionOuest.setMargins(new Margins(5));
166
 
167
 
167
		viewport.add(panneauOuest, regionOuest);
168
		viewport.add(panneauOuest, regionOuest);
168
	}
169
	}
169
 
170
 
170
	private void creerPanneauCentral() {
171
	private void creerPanneauCentral() {
171
		panneauCentre = new ContenuVue(this);
172
		panneauCentre = new ContenuVue(this);
172
 
173
 
173
		BorderLayoutData regionCentre = new BorderLayoutData(LayoutRegion.CENTER);  
174
		BorderLayoutData regionCentre = new BorderLayoutData(LayoutRegion.CENTER);  
174
		regionCentre.setMargins(new Margins(5, 5, 5, 0));
175
		regionCentre.setMargins(new Margins(5, 5, 5, 0));
175
 
176
 
176
		viewport.add(panneauCentre, regionCentre);
177
		viewport.add(panneauCentre, regionCentre);
177
	}
178
	}
178
	
179
	
179
	private void creerPanneauSud() {
180
	private void creerPanneauSud() {
180
		panneauSud = new StatutVue();
181
		panneauSud = new StatutVue();
181
		
182
		
182
		BorderLayoutData regionSud = new BorderLayoutData(LayoutRegion.SOUTH, 20); 
183
		BorderLayoutData regionSud = new BorderLayoutData(LayoutRegion.SOUTH, 20); 
183
		regionSud.setCollapsible(true);
184
		regionSud.setCollapsible(true);
184
		regionSud.setFloatable(true);
185
		regionSud.setFloatable(true);
185
		regionSud.setSplit(false);
186
		regionSud.setSplit(false);
186
		regionSud.setMargins(new Margins(0));
187
		regionSud.setMargins(new Margins(0));
187
		
188
		
188
		viewport.add(panneauSud, regionSud);
189
		viewport.add(panneauSud, regionSud);
189
	}
190
	}
190
 
191
 
191
	public void actualiserPanneauCentral() {
192
	public void actualiserPanneauCentral() {
192
		panneauCentre.layout();
193
		panneauCentre.layout();
193
	}
194
	}
194
	
195
	
195
	//+----------------------------------------------------------------------------------------------------------------+
196
	//+----------------------------------------------------------------------------------------------------------------+
196
	//												GESTION du MENU
197
	//												GESTION du MENU
197
	//+----------------------------------------------------------------------------------------------------------------+
198
	//+----------------------------------------------------------------------------------------------------------------+
198
	
199
	
199
	public void clicMenu(String codeMenuClique) {
200
	public void clicMenu(String codeMenuClique) {
200
		activerChargement(codeMenuClique);
201
		activerChargement(codeMenuClique);
201
		panneauOuest.selectionMenu(codeMenuClique);
202
		panneauOuest.selectionMenu(codeMenuClique);
-
 
203
		if (codeMenuClique.equals(MenuApplicationId.ACCUEIL)) {
-
 
204
			afficherAccueil();
-
 
205
		} else if (codeMenuClique.equals(MenuApplicationId.PROJET)) {
-
 
206
			selectionnerProjets(panneauCentre); 
202
		if (codeMenuClique.equals(MenuApplicationId.STRUCTURE)) {
207
		} else if (codeMenuClique.equals(MenuApplicationId.STRUCTURE)) {
203
			selectionnerStructure(panneauCentre, null);
208
			selectionnerStructure(panneauCentre, null);
204
		} else if (codeMenuClique.equals(MenuApplicationId.COLLECTION)) { 
209
		} else if (codeMenuClique.equals(MenuApplicationId.COLLECTION)) { 
205
			selectionnerCollection(panneauCentre, null);
210
			selectionnerCollection(panneauCentre, null);
206
		} else if (codeMenuClique.equals(MenuApplicationId.PERSONNE)) { 
211
		} else if (codeMenuClique.equals(MenuApplicationId.PERSONNE)) { 
207
			selectionnerPersonne(panneauCentre, null, null);
212
			selectionnerPersonne(panneauCentre, null, null);
208
		} else if (codeMenuClique.equals(MenuApplicationId.PUBLICATION)) {
213
		} else if (codeMenuClique.equals(MenuApplicationId.PUBLICATION)) {
209
			selectionnerPublication(panneauCentre,null);
214
			selectionnerPublication(panneauCentre,null);
210
		} else if (codeMenuClique.equals(MenuApplicationId.PROJET)) {
-
 
211
			selectionnerProjets(panneauCentre); 
-
 
212
		} else {
215
		} else {
213
			GWT.log(i18nM.nonImplemente(codeMenuClique), null);
216
			GWT.log(i18nM.nonImplemente(codeMenuClique), null);
214
		}
217
		}
215
		panneauCentre.layout();
218
		panneauCentre.layout();
216
	}
219
	}
217
 
220
 
218
	public void activerChargement(String message) {
221
	public void activerChargement(String message) {
219
		afficherPopinChargement(); 
222
		afficherPopinChargement(); 
220
		panneauSud.showBusy(i18nC.chargement()+" "+message);
223
		panneauSud.showBusy(i18nC.chargement()+" "+message);
221
	}
224
	}
222
	
225
	
223
	public void desactiverChargement() {
226
	public void desactiverChargement() {
224
		masquerPopinChargement();
227
		masquerPopinChargement();
225
		panneauSud.clear();
228
		panneauSud.clear();
226
	}
229
	}
227
		
230
		
228
	//+----------------------------------------------------------------------------------------------------------------+
231
	//+----------------------------------------------------------------------------------------------------------------+
229
	//												GESTION DES FENÊTRES
232
	//												GESTION DES FENÊTRES
230
	//+----------------------------------------------------------------------------------------------------------------+
233
	//+----------------------------------------------------------------------------------------------------------------+
231
 
234
 
232
	public void ouvrirAide() {
235
	public void ouvrirAide() {
233
		AideFenetre aideFenetre = new AideFenetre();
236
		AideFenetre aideFenetre = new AideFenetre();
234
		aideFenetre.show();
237
		aideFenetre.show();
235
		// FIXME : apparament le fade In/Fade Out pose problème sur les navigateurs...
238
		// FIXME : apparament le fade In/Fade Out pose problème sur les navigateurs...
236
		//aideFenetre.el().fadeIn(FxConfig.NONE);
239
		//aideFenetre.el().fadeIn(FxConfig.NONE);
237
	}
240
	}
238
 
241
 
239
	public void ouvrirParametres() {
242
	public void ouvrirParametres() {
240
		ParametreFenetre parametresFenetre = new ParametreFenetre();
243
		ParametreFenetre parametresFenetre = new ParametreFenetre();
241
		parametresFenetre.show();
244
		parametresFenetre.show();
242
	}
245
	}
243
 
246
 
244
	public void ouvrirIdentification() {
247
	public void ouvrirIdentification() {
245
		fenetreIdentification = new IdentificationFenetre();
248
		fenetreIdentification = new IdentificationFenetre();
246
		fenetreIdentification.show();
249
		fenetreIdentification.show();
247
	}
250
	}
248
 
251
 
249
	public void ouvrirApplis(String id) {
252
	public void ouvrirApplis(String id) {
250
		if (id.equals(ComposantId.MENU_CEL)) {
253
		if (id.equals(ComposantId.MENU_CEL)) {
251
			Window.open(((Configuration) Registry.get(RegistreId.CONFIG)).getCelUrl(), "Carnet en ligne", "");
254
			Window.open(((Configuration) Registry.get(RegistreId.CONFIG)).getCelUrl(), "Carnet en ligne", "");
252
		} else if (id.equals(ComposantId.MENU_BEL)) {
255
		} else if (id.equals(ComposantId.MENU_BEL)) {
253
			Window.open(((Configuration) Registry.get(RegistreId.CONFIG)).getCelUrl(), "Biblio en ligne", "");
256
			Window.open(((Configuration) Registry.get(RegistreId.CONFIG)).getCelUrl(), "Biblio en ligne", "");
254
		}
257
		}
255
	}
258
	}
256
 
259
 
257
	public void afficherFenetreLicence(IdentificationFenetre vue)	{
260
	public void afficherFenetreLicence(IdentificationFenetre vue)	{
258
		LicenceFenetre lf = new LicenceFenetre(vue);
261
		LicenceFenetre lf = new LicenceFenetre(vue);
259
	}
262
	}
260
	
263
	
261
	public void accepterLicence(Rafraichissable vue)	{
264
	public void accepterLicence(Rafraichissable vue)	{
262
		modele.accepterLicence(vue);		
265
		modele.accepterLicence(vue);		
263
	}
266
	}
264
	//+----------------------------------------------------------------------------------------------------------------+
267
	//+----------------------------------------------------------------------------------------------------------------+
265
	//												GESTION de l'UTILISATEUR et de l'IDENTIFICATION
268
	//												GESTION de l'UTILISATEUR et de l'IDENTIFICATION
266
	//+----------------------------------------------------------------------------------------------------------------+
269
	//+----------------------------------------------------------------------------------------------------------------+
267
	/**
270
	/**
268
	 * Retourne l'identifiant de l'utilisateur courrant de l'application.
271
	 * Retourne l'identifiant de l'utilisateur courrant de l'application.
269
	 */
272
	 */
270
	public String getUtilisateurId() {
273
	public String getUtilisateurId() {
271
		String id = null;
274
		String id = null;
272
		Utilisateur utilisateurCourant = (Utilisateur) Registry.get(RegistreId.UTILISATEUR_COURANT);
275
		Utilisateur utilisateurCourant = (Utilisateur) Registry.get(RegistreId.UTILISATEUR_COURANT);
273
		if (!utilisateurCourant.getId().equals("")) {
276
		if (!utilisateurCourant.getId().equals("")) {
274
			id = utilisateurCourant.getId();
277
			id = utilisateurCourant.getId();
275
		}
278
		}
276
		return id;
279
		return id;
277
	}
280
	}
278
	
281
	
279
	public void connecterUtilisateur(String login, String mdp) {
282
	public void connecterUtilisateur(String login, String mdp) {
280
		modele.connecterUtilisateur(this, login, mdp);
283
		modele.connecterUtilisateur(this, login, mdp);
281
	}
284
	}
282
	
285
	
283
	public void deconnecterUtilisateur() {
286
	public void deconnecterUtilisateur() {
284
		modele.deconnecterUtilisateur(this);
287
		modele.deconnecterUtilisateur(this);
285
	}
288
	}
286
	
289
	
287
	public void mettreAJourEtatIdentification(Utilisateur utilisateur) {
290
	public void mettreAJourEtatIdentification(Utilisateur utilisateur) {
288
		
291
		
289
		// Mise à jour du registre
292
		// Mise à jour du registre
290
		Registry.register(RegistreId.UTILISATEUR_COURANT, utilisateur);
293
		Registry.register(RegistreId.UTILISATEUR_COURANT, utilisateur);
291
		
294
		
292
			// Création de l'information de mise à jour de l'utilisateur
295
			// Création de l'information de mise à jour de l'utilisateur
293
		
296
		
294
			Information info = new Information("maj_utilisateur");
297
			Information info = new Information("maj_utilisateur");
295
	
298
	
296
			// Rafraichissement de la fenêtre d'Identification
299
			// Rafraichissement de la fenêtre d'Identification
297
			if (fenetreIdentification != null) {
300
			if (fenetreIdentification != null) {
298
				fenetreIdentification.rafraichir(info);
301
				fenetreIdentification.rafraichir(info);
299
			}
302
			}
300
			
303
			
301
			// Rafraichissement du panneau Nord
304
			// Rafraichissement du panneau Nord
302
			panneauNord.rafraichir(info);
305
			panneauNord.rafraichir(info);
303
	
306
	
304
			// Rafraichissement du panneau Centre
307
			// Rafraichissement du panneau Centre
305
			if (panneauCentre != null) {
308
			if (panneauCentre != null) {
306
				panneauCentre.rafraichir(info);
309
				panneauCentre.rafraichir(info);
307
			}
310
			}
308
		
311
		
309
	}
312
	}
310
	
313
	
311
	public void mettreAJourPersonneAnnuaire(Utilisateur utilisateur)	{
314
	public void mettreAJourPersonneAnnuaire(Utilisateur utilisateur)	{
312
		panneauNord.rafraichir(utilisateur);
315
		panneauNord.rafraichir(utilisateur);
313
		modele.mettreAJourPersonneAnnuaire(this, utilisateur);
316
		modele.mettreAJourPersonneAnnuaire(this, utilisateur);
314
	}
317
	}
315
 
318
 
316
	//+----------------------------------------------------------------------------------------------------------------+
319
	//+----------------------------------------------------------------------------------------------------------------+
317
	//												GESTION DES VALEURS ET LISTES
320
	//												GESTION DES VALEURS ET LISTES
318
	//+----------------------------------------------------------------------------------------------------------------+
321
	//+----------------------------------------------------------------------------------------------------------------+
319
 
322
 
320
	public void obtenirListeValeurEtRafraichir(Rafraichissable vueARafraichir, String listeId)	{
323
	public void obtenirListeValeurEtRafraichir(Rafraichissable vueARafraichir, String listeId)	{
321
		modele.obtenirListeValeurs(vueARafraichir, ((Configuration) Registry.get(RegistreId.CONFIG)).getListeId(listeId));
324
		modele.obtenirListeValeurs(vueARafraichir, ((Configuration) Registry.get(RegistreId.CONFIG)).getListeId(listeId));
322
	}
325
	}
323
	
326
	
324
	public void obtenirValeurEtRafraichir(Rafraichissable vue, String listeId, String identifiantValeur)	{
327
	public void obtenirValeurEtRafraichir(Rafraichissable vue, String listeId, String identifiantValeur)	{
325
		modele.obtenirValeur(vue, "abv", ((Configuration) Registry.get(RegistreId.CONFIG)).getListeId(listeId), identifiantValeur);
328
		modele.obtenirValeur(vue, "abv", ((Configuration) Registry.get(RegistreId.CONFIG)).getListeId(listeId), identifiantValeur);
326
	}
329
	}
327
	
330
	
328
	public void obtenirListeRegionsEtRafraichir(Rafraichissable vue, String strListeId, String strPays)	{
331
	public void obtenirListeRegionsEtRafraichir(Rafraichissable vue, String strListeId, String strPays)	{
329
		modele.obtenirListeRegion(vue, ((Configuration) Registry.get(RegistreId.CONFIG)).getListeId(strListeId), strPays+".__");
332
		modele.obtenirListeRegion(vue, ((Configuration) Registry.get(RegistreId.CONFIG)).getListeId(strListeId), strPays+".__");
330
	}
333
	}
-
 
334
	
-
 
335
	//+----------------------------------------------------------------------------------------------------------------+
-
 
336
	//												GESTION des APPLETS de l'ACCUEIL
-
 
337
	//+----------------------------------------------------------------------------------------------------------------+
-
 
338
	
-
 
339
	public void afficherAccueil() {
-
 
340
		if (!(panneauCentre.getContenu() instanceof AccueilVue)) {
-
 
341
			panneauCentre.removeAll();
-
 
342
			panneauCentre.add(new AccueilVue(this));
-
 
343
		}
-
 
344
	}
331
	
345
	
332
	//+----------------------------------------------------------------------------------------------------------------+
346
	//+----------------------------------------------------------------------------------------------------------------+
333
	//												GESTION des PROJETS
347
	//												GESTION des PROJETS
334
	//+----------------------------------------------------------------------------------------------------------------+
348
	//+----------------------------------------------------------------------------------------------------------------+
335
	
349
	
336
	/**
350
	/**
337
	 * Retourne l'identifiant du projet courrant de l'application.
351
	 * Retourne l'identifiant du projet courrant de l'application.
338
	 */
352
	 */
339
	public String getProjetId() {
353
	public String getProjetId() {
340
		String id = null;
354
		String id = null;
341
		Projet projetCourant = (Projet) Registry.get(RegistreId.PROJET_COURANT);
355
		Projet projetCourant = (Projet) Registry.get(RegistreId.PROJET_COURANT);
342
		if (projetCourant != null && !projetCourant.getId().equals("")) {
356
		if (projetCourant != null && !projetCourant.getId().equals("")) {
343
			id = projetCourant.getId();
357
			id = projetCourant.getId();
344
		}
358
		}
345
		return id;
359
		return id;
346
	}
360
	}
347
	
361
	
348
	//Greg : ajout d'un écouteur pour le changement liste projet
362
	//Greg : ajout d'un écouteur pour le changement liste projet
349
	public void selectionnerProjets(Rafraichissable vueARafraichir)	{
363
	public void selectionnerProjets(Rafraichissable vueARafraichir)	{
350
		modele.selectionnerProjets(vueARafraichir);
364
		modele.selectionnerProjets(vueARafraichir);
351
	}
365
	}
352
	
366
	
353
	public void selectionnerProjetCourant(Projet projetSelectionne) {
367
	public void selectionnerProjetCourant(Projet projetSelectionne) {
354
		Registry.register(RegistreId.PROJET_COURANT, projetSelectionne);
368
		Registry.register(RegistreId.PROJET_COURANT, projetSelectionne);
355
		if (panneauCentre.getContenu() instanceof PersonneVue) {
369
		if (panneauCentre.getContenu() instanceof PersonneVue) {
356
			//modele.selectionnerPersonne(contenuPanneauCentre, null, getProjetId(), null);
370
			//modele.selectionnerPersonne(contenuPanneauCentre, null, getProjetId(), null);
357
			selectionnerPersonne(panneauCentre, null, getProjetId());
371
			selectionnerPersonne(panneauCentre, null, getProjetId());
358
			//FIXME Le rafraichissement du panneau ne se fait pas!
372
			//FIXME Le rafraichissement du panneau ne se fait pas!
359
		} else if (panneauCentre.getContenu() instanceof StructureVue)	{
373
		} else if (panneauCentre.getContenu() instanceof StructureVue)	{
360
			modele.selectionnerStructure(panneauCentre.getContenu(), getProjetId(), null);
374
			modele.selectionnerStructure(panneauCentre.getContenu(), getProjetId(), null);
361
		} else if (panneauCentre.getContenu() instanceof CollectionVue)	{
375
		} else if (panneauCentre.getContenu() instanceof CollectionVue)	{
362
			modele.selectionnerCollection(panneauCentre.getContenu(), getProjetId(), null);
376
			modele.selectionnerCollection(panneauCentre.getContenu(), getProjetId(), null);
363
		}
377
		}
364
	}
378
	}
365
	
379
	
366
	//+----------------------------------------------------------------------------------------------------------------+
380
	//+----------------------------------------------------------------------------------------------------------------+
367
	//												GESTION DES STRUCTURES
381
	//												GESTION DES STRUCTURES
368
	//+----------------------------------------------------------------------------------------------------------------+
382
	//+----------------------------------------------------------------------------------------------------------------+
369
 
383
 
370
	public void afficherListeStructures(StructureListe structuresACharger) {
384
	public void afficherListeStructures(StructureListe structuresACharger) {
371
		if (!(panneauCentre.getContenu() instanceof StructureVue))	{	
385
		if (!(panneauCentre.getContenu() instanceof StructureVue))	{	
372
			panneauCentre.removeAll();
386
			panneauCentre.removeAll();
373
			panneauCentre.add(new StructureVue(this));
387
			panneauCentre.add(new StructureVue(this));
374
		}
388
		}
375
		panneauCentre.getContenu().rafraichir(structuresACharger);
389
		panneauCentre.getContenu().rafraichir(structuresACharger);
376
	}
390
	}
377
	
391
	
378
	public void afficherFormStructure(String structureId) {
392
	public void afficherFormStructure(String structureId) {
379
		String mode = Formulaire.MODE_AJOUTER;
393
		String mode = Formulaire.MODE_AJOUTER;
380
		if (structureId != null) {
394
		if (structureId != null) {
381
			mode = Formulaire.MODE_MODIFIER;
395
			mode = Formulaire.MODE_MODIFIER;
382
		}
396
		}
383
		
397
		
384
		panneauCentre.removeAll();
398
		panneauCentre.removeAll();
385
		StructureForm structureForm = new StructureForm(this, mode);
399
		StructureForm structureForm = new StructureForm(this, mode);
386
		panneauCentre.add(structureForm);
400
		panneauCentre.add(structureForm);
387
		
401
		
388
		if (mode.equals(Formulaire.MODE_MODIFIER)) {
402
		if (mode.equals(Formulaire.MODE_MODIFIER)) {
389
			selectionnerStructure(structureForm, structureId);
403
			selectionnerStructure(structureForm, structureId);
390
			selectionnerStructureAPersonne(structureForm, structureId, StructureAPersonne.ROLE_EQUIPE);
404
			selectionnerStructureAPersonne(structureForm, structureId, StructureAPersonne.ROLE_EQUIPE);
391
		}
405
		}
392
		
406
		
393
		panneauCentre.layout();
407
		panneauCentre.layout();
394
	}
408
	}
395
	
409
	
396
	public void clicListeStructure(Structure structure) {
410
	public void clicListeStructure(Structure structure) {
397
		panneauCentre.getContenu().rafraichir(structure);
411
		panneauCentre.getContenu().rafraichir(structure);
398
		if (structure != null && structure.getPersonnel() == null) {
412
		if (structure != null && structure.getPersonnel() == null) {
399
			selectionnerStructureAPersonne(panneauCentre.getContenu(), structure.getId(), StructureAPersonne.ROLE_EQUIPE);
413
			selectionnerStructureAPersonne(panneauCentre.getContenu(), structure.getId(), StructureAPersonne.ROLE_EQUIPE);
400
		} 
414
		} 
401
	}
415
	}
402
 
416
 
403
	public void clicAjouterStructure() {
417
	public void clicAjouterStructure() {
404
		afficherFormStructure(null);
418
		afficherFormStructure(null);
405
	}
419
	}
406
	
420
	
407
	public void clicModifierStructure(List<Structure> structureSelection) {
421
	public void clicModifierStructure(List<Structure> structureSelection) {
408
		if (structureSelection.size() == 0) {
422
		if (structureSelection.size() == 0) {
409
			Info.display("Information", "Veuillez sélectionner une structure.");
423
			Info.display("Information", "Veuillez sélectionner une structure.");
410
		} else if (structureSelection.size() > 1) {
424
		} else if (structureSelection.size() > 1) {
411
			Info.display("Information", "Veuillez sélectionner une seule structure à la fois.");
425
			Info.display("Information", "Veuillez sélectionner une seule structure à la fois.");
412
		} else if (structureSelection.size() == 1) {
426
		} else if (structureSelection.size() == 1) {
413
			afficherFormStructure(structureSelection.get(0).getId());
427
			afficherFormStructure(structureSelection.get(0).getId());
414
		} else {
428
		} else {
415
			Info.display("Erreur", "Une erreur est survenue dans la méthode clicModifierStructure() du Médiateur.");
429
			Info.display("Erreur", "Une erreur est survenue dans la méthode clicModifierStructure() du Médiateur.");
416
		}
430
		}
417
	}
431
	}
418
	
432
	
419
	public void clicSupprimerStructure(final Rafraichissable vue, final List<Structure> structureSelection) {
433
	public void clicSupprimerStructure(final Rafraichissable vue, final List<Structure> structureSelection) {
420
		if (structureSelection.size() == 0) {
434
		if (structureSelection.size() == 0) {
421
			Info.display("Information", "Veuillez sélectionner une structure.");
435
			Info.display("Information", "Veuillez sélectionner une structure.");
422
		} else if(structureSelection.size() > 0) {
436
		} else if(structureSelection.size() > 0) {
423
			String titre = "Supprimer des structures";
437
			String titre = "Supprimer des structures";
424
			String message = "Êtes vous sur de vouloir supprimer les structures sélectionnées ?";
438
			String message = "Êtes vous sur de vouloir supprimer les structures sélectionnées ?";
425
			if (structureSelection.size() == 1) {
439
			if (structureSelection.size() == 1) {
426
				titre = "Supprimer une structure";
440
				titre = "Supprimer une structure";
427
				message = "Êtes vous sur de vouloir supprimer la structure sélectionnée ?";
441
				message = "Êtes vous sur de vouloir supprimer la structure sélectionnée ?";
428
			}
442
			}
429
			
443
			
430
			final Listener<MessageBoxEvent> suppressionEcouteur = new Listener<MessageBoxEvent>() { 
444
			final Listener<MessageBoxEvent> suppressionEcouteur = new Listener<MessageBoxEvent>() { 
431
				public void handleEvent(MessageBoxEvent ce) {  
445
				public void handleEvent(MessageBoxEvent ce) {  
432
					Dialog dialog = (Dialog) ce.getComponent();
446
					Dialog dialog = (Dialog) ce.getComponent();
433
					Button btn = ce.getButtonClicked();  
447
					Button btn = ce.getButtonClicked();  
434
 
448
 
435
					if (btn.getText().equals(dialog.yesText))	{
449
					if (btn.getText().equals(dialog.yesText))	{
436
						String idStr = "" ;
450
						String idStr = "" ;
437
						for(int i = 0 ; i < structureSelection.size() ; i++) {
451
						for(int i = 0 ; i < structureSelection.size() ; i++) {
438
							idStr += structureSelection.get(i).getId()+","; 
452
							idStr += structureSelection.get(i).getId()+","; 
439
						}
453
						}
440
						supprimerStructure(vue, idStr); 
454
						supprimerStructure(vue, idStr); 
441
					}
455
					}
442
				}
456
				}
443
			};
457
			};
444
			
458
			
445
			MessageBox.confirm(titre, message, suppressionEcouteur);
459
			MessageBox.confirm(titre, message, suppressionEcouteur);
446
		} else {
460
		} else {
447
			Info.display("Erreur", "Une erreur est survenue dans la méthode clicSupprimerStructure() du Médiateur.");
461
			Info.display("Erreur", "Une erreur est survenue dans la méthode clicSupprimerStructure() du Médiateur.");
448
		}
462
		}
449
	}
463
	}
450
	
464
	
451
	public void selectionnerStructure(Rafraichissable vueARafraichir, String structureId) {
465
	public void selectionnerStructure(Rafraichissable vueARafraichir, String structureId) {
452
		modele.selectionnerStructure(vueARafraichir, getProjetId(), structureId);
466
		modele.selectionnerStructure(vueARafraichir, getProjetId(), structureId);
453
	}
467
	}
454
	
468
	
455
	public void selectionnerStructureParProjet(Rafraichissable vueARafraichir, String projetId) {
469
	public void selectionnerStructureParProjet(Rafraichissable vueARafraichir, String projetId) {
456
		modele.selectionnerStructure(vueARafraichir, projetId, null);
470
		modele.selectionnerStructure(vueARafraichir, projetId, null);
457
	}
471
	}
458
	
472
	
459
	public void ajouterStructure(Rafraichissable vueARafraichir, Structure structure, StructureConservation conservation, StructureValorisation valorisation) {
473
	public void ajouterStructure(Rafraichissable vueARafraichir, Structure structure, StructureConservation conservation, StructureValorisation valorisation) {
460
		modele.ajouterStructure(vueARafraichir, structure, conservation, valorisation);
474
		modele.ajouterStructure(vueARafraichir, structure, conservation, valorisation);
461
	}
475
	}
462
	
476
	
463
	public void modifierStructure(Rafraichissable vueARafraichir, String structureId, Structure structure, StructureConservation conservation, StructureValorisation valorisation) {
477
	public void modifierStructure(Rafraichissable vueARafraichir, String structureId, Structure structure, StructureConservation conservation, StructureValorisation valorisation) {
464
		modele.modifierStructure(vueARafraichir, structureId, structure, conservation, valorisation);
478
		modele.modifierStructure(vueARafraichir, structureId, structure, conservation, valorisation);
465
	}
479
	}
466
	
480
	
467
	public void supprimerStructure(Rafraichissable vueARafraichir, String IdentifiantsStructureSepareParVirgule) {
481
	public void supprimerStructure(Rafraichissable vueARafraichir, String IdentifiantsStructureSepareParVirgule) {
468
		modele.supprimerStructure(vueARafraichir, IdentifiantsStructureSepareParVirgule);
482
		modele.supprimerStructure(vueARafraichir, IdentifiantsStructureSepareParVirgule);
469
	}
483
	}
470
	
484
	
471
	//+----------------------------------------------------------------------------------------------------------------+
485
	//+----------------------------------------------------------------------------------------------------------------+
472
	// GESTION de la relation STRUCTURE A PERSONNE
486
	// GESTION de la relation STRUCTURE A PERSONNE
473
	public void selectionnerStructureAPersonne(Rafraichissable vueARafraichir, String structureId, String roleId) {
487
	public void selectionnerStructureAPersonne(Rafraichissable vueARafraichir, String structureId, String roleId) {
474
		modele.selectionnerStructureAPersonne(vueARafraichir, structureId, roleId);
488
		modele.selectionnerStructureAPersonne(vueARafraichir, structureId, roleId);
475
	}
489
	}
476
	
490
	
477
	public void ajouterStructureAPersonne(Rafraichissable vueARafraichir, String structureId, StructureAPersonneListe personnelAjoute) {
491
	public void ajouterStructureAPersonne(Rafraichissable vueARafraichir, String structureId, StructureAPersonneListe personnelAjoute) {
478
		if (personnelAjoute != null && personnelAjoute.size() > 0) {
492
		if (personnelAjoute != null && personnelAjoute.size() > 0) {
479
			for (Iterator<String> it = personnelAjoute.keySet().iterator(); it.hasNext();) {
493
			for (Iterator<String> it = personnelAjoute.keySet().iterator(); it.hasNext();) {
480
				modele.ajouterStructureAPersonne(vueARafraichir, structureId, (StructureAPersonne) personnelAjoute.get(it.next()));
494
				modele.ajouterStructureAPersonne(vueARafraichir, structureId, (StructureAPersonne) personnelAjoute.get(it.next()));
481
			}
495
			}
482
		}
496
		}
483
	}
497
	}
484
	
498
	
485
	public void modifierStructureAPersonne(Rafraichissable vueARafraichir, StructureAPersonneListe personnelModifie) {
499
	public void modifierStructureAPersonne(Rafraichissable vueARafraichir, StructureAPersonneListe personnelModifie) {
486
		if (personnelModifie != null && personnelModifie.size() > 0) {
500
		if (personnelModifie != null && personnelModifie.size() > 0) {
487
			for (Iterator<String> it = personnelModifie.keySet().iterator(); it.hasNext();) {
501
			for (Iterator<String> it = personnelModifie.keySet().iterator(); it.hasNext();) {
488
				modele.modifierStructureAPersonne(vueARafraichir, (StructureAPersonne) personnelModifie.get(it.next()));
502
				modele.modifierStructureAPersonne(vueARafraichir, (StructureAPersonne) personnelModifie.get(it.next()));
489
			}
503
			}
490
		}
504
		}
491
	}
505
	}
492
	
506
	
493
	public void supprimerStructureAPersonne(Rafraichissable vueARafraichir, StructureAPersonneListe personnelSupprime) {
507
	public void supprimerStructureAPersonne(Rafraichissable vueARafraichir, StructureAPersonneListe personnelSupprime) {
494
		if (personnelSupprime != null && personnelSupprime.size() > 0) {
508
		if (personnelSupprime != null && personnelSupprime.size() > 0) {
495
			String idStructureAPersonneSepareParVirgule = "" ;
509
			String idStructureAPersonneSepareParVirgule = "" ;
496
			for (Iterator<String> it = personnelSupprime.keySet().iterator(); it.hasNext();) {
510
			for (Iterator<String> it = personnelSupprime.keySet().iterator(); it.hasNext();) {
497
				idStructureAPersonneSepareParVirgule += personnelSupprime.get(it.next()).getId();
511
				idStructureAPersonneSepareParVirgule += personnelSupprime.get(it.next()).getId();
498
				if (it.hasNext()) {
512
				if (it.hasNext()) {
499
					idStructureAPersonneSepareParVirgule += ",";
513
					idStructureAPersonneSepareParVirgule += ",";
500
				}
514
				}
501
			}
515
			}
502
			modele.supprimerStructureAPersonne(vueARafraichir, idStructureAPersonneSepareParVirgule);
516
			modele.supprimerStructureAPersonne(vueARafraichir, idStructureAPersonneSepareParVirgule);
503
		}
517
		}
504
	}
518
	}
505
 
519
 
506
	//+----------------------------------------------------------------------------------------------------------------+
520
	//+----------------------------------------------------------------------------------------------------------------+
507
	//												GESTION des COLLECTIONS
521
	//												GESTION des COLLECTIONS
508
	//+----------------------------------------------------------------------------------------------------------------+
522
	//+----------------------------------------------------------------------------------------------------------------+
509
	
523
	
510
	public void afficherListeCollections(CollectionListe collectionsACharger) {
524
	public void afficherListeCollections(CollectionListe collectionsACharger) {
511
		if (!(panneauCentre.getContenu() instanceof CollectionVue)) {
525
		if (!(panneauCentre.getContenu() instanceof CollectionVue)) {
512
			panneauCentre.removeAll();
526
			panneauCentre.removeAll();
513
			panneauCentre.add(new CollectionVue(this));
527
			panneauCentre.add(new CollectionVue(this));
514
		}
528
		}
515
		
529
		
516
		panneauCentre.getContenu().rafraichir(collectionsACharger);
530
		panneauCentre.getContenu().rafraichir(collectionsACharger);
517
	}
531
	}
518
	
532
	
519
	public void afficherFormCollection(String collectionId) {
533
	public void afficherFormCollection(String collectionId) {
520
		panneauCentre.removeAll();
534
		panneauCentre.removeAll();
521
		CollectionForm collectionForm = new CollectionForm(this, collectionId);
535
		CollectionForm collectionForm = new CollectionForm(this, collectionId);
522
		panneauCentre.add(collectionForm);
536
		panneauCentre.add(collectionForm);
523
		
537
		
524
		panneauCentre.layout();
538
		panneauCentre.layout();
525
	}
539
	}
526
	
540
	
527
	public void clicListeCollection(Collection collectionCliquee) {
541
	public void clicListeCollection(Collection collectionCliquee) {
528
		panneauCentre.getContenu().rafraichir(collectionCliquee);
542
		panneauCentre.getContenu().rafraichir(collectionCliquee);
529
		if (collectionCliquee != null) {
543
		if (collectionCliquee != null) {
530
			selectionnerCollectionAPersonne(panneauCentre.getContenu(), collectionCliquee.getId(), null);
544
			selectionnerCollectionAPersonne(panneauCentre.getContenu(), collectionCliquee.getId(), null);
531
			selectionnerCollectionAPublication(panneauCentre.getContenu(), collectionCliquee.getId());
545
			selectionnerCollectionAPublication(panneauCentre.getContenu(), collectionCliquee.getId());
532
		} 
546
		} 
533
	}
547
	}
534
	
548
	
535
	public void clicAjouterCollection() {
549
	public void clicAjouterCollection() {
536
		afficherFormCollection(null);
550
		afficherFormCollection(null);
537
	}
551
	}
538
 
552
 
539
	public void clicModifierCollection(List<Collection> selection) {
553
	public void clicModifierCollection(List<Collection> selection) {
540
		if (selection.size() == 0) {
554
		if (selection.size() == 0) {
541
			Info.display("Information", "Veuillez sélectionner une collection.");
555
			Info.display("Information", "Veuillez sélectionner une collection.");
542
		} else if (selection.size() > 1) {
556
		} else if (selection.size() > 1) {
543
			Info.display("Information", "Veuillez sélectionner une seule collection à la fois.");
557
			Info.display("Information", "Veuillez sélectionner une seule collection à la fois.");
544
		} else if (selection.size() == 1) {
558
		} else if (selection.size() == 1) {
545
			afficherFormCollection(selection.get(0).getId());
559
			afficherFormCollection(selection.get(0).getId());
546
		} else {
560
		} else {
547
			Info.display("Erreur", "Une erreur est survenue dans la méthode clicModifierCollection() du Médiateur.");
561
			Info.display("Erreur", "Une erreur est survenue dans la méthode clicModifierCollection() du Médiateur.");
548
		}
562
		}
549
	}
563
	}
550
 
564
 
551
	public void clicSupprimerCollection(CollectionListeVue collectionListeVue, List<Collection> collectionsASupprimer) {
565
	public void clicSupprimerCollection(CollectionListeVue collectionListeVue, List<Collection> collectionsASupprimer) {
552
		// TODO Auto-generated method stub	
566
		// TODO Auto-generated method stub	
553
	}
567
	}
554
 
568
 
555
	public void selectionnerCollection(Rafraichissable vueARafraichir, String collectionId) {
569
	public void selectionnerCollection(Rafraichissable vueARafraichir, String collectionId) {
556
		modele.selectionnerCollection(vueARafraichir, getProjetId(), collectionId);
570
		modele.selectionnerCollection(vueARafraichir, getProjetId(), collectionId);
557
	}
571
	}
558
	
572
	
559
	public void selectionnerCollectionParProjet(Rafraichissable vueARafraichir, String projetId) {
573
	public void selectionnerCollectionParProjet(Rafraichissable vueARafraichir, String projetId) {
560
		modele.selectionnerCollection(vueARafraichir, projetId, null);
574
		modele.selectionnerCollection(vueARafraichir, projetId, null);
561
	}
575
	}
562
	
576
	
563
	public void ajouterCollection(Rafraichissable vueARafraichir, Collection collection) {
577
	public void ajouterCollection(Rafraichissable vueARafraichir, Collection collection) {
564
		modele.ajouterCollection(vueARafraichir, getUtilisateurId(), collection);
578
		modele.ajouterCollection(vueARafraichir, getUtilisateurId(), collection);
565
	}
579
	}
566
	
580
	
567
	public void modifierCollection(Rafraichissable vueARafraichir, Collection collection) {
581
	public void modifierCollection(Rafraichissable vueARafraichir, Collection collection) {
568
		modele.modifierCollection(vueARafraichir, collection);
582
		modele.modifierCollection(vueARafraichir, collection);
569
	}
583
	}
570
	
584
	
571
	public void supprimerCollection(Rafraichissable vueARafraichir, String IdentifiantsCollectionSepareParVirgule) {
585
	public void supprimerCollection(Rafraichissable vueARafraichir, String IdentifiantsCollectionSepareParVirgule) {
572
		modele.supprimerCollection(vueARafraichir, getUtilisateurId(), IdentifiantsCollectionSepareParVirgule);
586
		modele.supprimerCollection(vueARafraichir, getUtilisateurId(), IdentifiantsCollectionSepareParVirgule);
573
	}
587
	}
574
	
588
	
575
	//+----------------------------------------------------------------------------------------------------------------+
589
	//+----------------------------------------------------------------------------------------------------------------+
576
	// GESTION de la relation COLLECTION A PERSONNE
590
	// GESTION de la relation COLLECTION A PERSONNE
577
	
591
	
578
	public void selectionnerCollectionAPersonne(Rafraichissable vueARafraichir, String collectionId, String roleId) {
592
	public void selectionnerCollectionAPersonne(Rafraichissable vueARafraichir, String collectionId, String roleId) {
579
		modele.selectionnerCollectionAPersonne(vueARafraichir, collectionId, roleId);
593
		modele.selectionnerCollectionAPersonne(vueARafraichir, collectionId, roleId);
580
	}
594
	}
581
	
595
	
582
	public void ajouterCollectionAPersonne(Rafraichissable vueARafraichir, String collectionId, CollectionAPersonneListe personnesAjoutees) {
596
	public void ajouterCollectionAPersonne(Rafraichissable vueARafraichir, String collectionId, CollectionAPersonneListe personnesAjoutees) {
583
		if (personnesAjoutees != null && personnesAjoutees.size() > 0) {
597
		if (personnesAjoutees != null && personnesAjoutees.size() > 0) {
584
			for (Iterator<String> it = personnesAjoutees.keySet().iterator(); it.hasNext();) {
598
			for (Iterator<String> it = personnesAjoutees.keySet().iterator(); it.hasNext();) {
585
				modele.ajouterCollectionAPersonne(vueARafraichir, collectionId, (CollectionAPersonne) personnesAjoutees.get(it.next()));
599
				modele.ajouterCollectionAPersonne(vueARafraichir, collectionId, (CollectionAPersonne) personnesAjoutees.get(it.next()));
586
			}
600
			}
587
		}
601
		}
588
	}
602
	}
589
	
603
	
590
	public void modifierCollectionAPersonne(Rafraichissable vueARafraichir, CollectionAPersonneListe personnesModifiees) {
604
	public void modifierCollectionAPersonne(Rafraichissable vueARafraichir, CollectionAPersonneListe personnesModifiees) {
591
		if (personnesModifiees != null && personnesModifiees.size() > 0) {
605
		if (personnesModifiees != null && personnesModifiees.size() > 0) {
592
			for (Iterator<String> it = personnesModifiees.keySet().iterator(); it.hasNext();) {
606
			for (Iterator<String> it = personnesModifiees.keySet().iterator(); it.hasNext();) {
593
				modele.modifierCollectionAPersonne(vueARafraichir, (CollectionAPersonne) personnesModifiees.get(it.next()));
607
				modele.modifierCollectionAPersonne(vueARafraichir, (CollectionAPersonne) personnesModifiees.get(it.next()));
594
			}
608
			}
595
		}
609
		}
596
	}
610
	}
597
	
611
	
598
	public void supprimerCollectionAPersonne(Rafraichissable vueARafraichir, CollectionAPersonneListe personnesSupprimees) {
612
	public void supprimerCollectionAPersonne(Rafraichissable vueARafraichir, CollectionAPersonneListe personnesSupprimees) {
599
		if (personnesSupprimees != null && personnesSupprimees.size() > 0) {
613
		if (personnesSupprimees != null && personnesSupprimees.size() > 0) {
600
			String idCollectionAPersonneSeparesParVirgule = "" ;
614
			String idCollectionAPersonneSeparesParVirgule = "" ;
601
			for (Iterator<String> it = personnesSupprimees.keySet().iterator(); it.hasNext();) {
615
			for (Iterator<String> it = personnesSupprimees.keySet().iterator(); it.hasNext();) {
602
				idCollectionAPersonneSeparesParVirgule += personnesSupprimees.get(it.next()).getId();
616
				idCollectionAPersonneSeparesParVirgule += personnesSupprimees.get(it.next()).getId();
603
				if (it.hasNext()) {
617
				if (it.hasNext()) {
604
					idCollectionAPersonneSeparesParVirgule += ",";
618
					idCollectionAPersonneSeparesParVirgule += ",";
605
				}
619
				}
606
			}
620
			}
607
			modele.supprimerCollectionAPersonne(vueARafraichir, idCollectionAPersonneSeparesParVirgule);
621
			modele.supprimerCollectionAPersonne(vueARafraichir, idCollectionAPersonneSeparesParVirgule);
608
		}
622
		}
609
	}
623
	}
610
	
624
	
611
	//+----------------------------------------------------------------------------------------------------------------+
625
	//+----------------------------------------------------------------------------------------------------------------+
612
	// GESTION de la relation COLLECTION A PUBLICATION
626
	// GESTION de la relation COLLECTION A PUBLICATION
613
	
627
	
614
	public void selectionnerCollectionAPublication(Rafraichissable vueARafraichir, String collectionId) {
628
	public void selectionnerCollectionAPublication(Rafraichissable vueARafraichir, String collectionId) {
615
		modele.selectionnerCollectionAPublication(vueARafraichir, collectionId);
629
		modele.selectionnerCollectionAPublication(vueARafraichir, collectionId);
616
	}
630
	}
617
	
631
	
618
	public void ajouterCollectionAPublication(Rafraichissable vueARafraichir, String collectionId, CollectionAPublicationListe publicationsAjoutees) {
632
	public void ajouterCollectionAPublication(Rafraichissable vueARafraichir, String collectionId, CollectionAPublicationListe publicationsAjoutees) {
619
		if (publicationsAjoutees != null && publicationsAjoutees.size() > 0) {
633
		if (publicationsAjoutees != null && publicationsAjoutees.size() > 0) {
620
			for (Iterator<String> it = publicationsAjoutees.keySet().iterator(); it.hasNext();) {
634
			for (Iterator<String> it = publicationsAjoutees.keySet().iterator(); it.hasNext();) {
621
				modele.ajouterCollectionAPublication(vueARafraichir, collectionId, (CollectionAPublication) publicationsAjoutees.get(it.next()));
635
				modele.ajouterCollectionAPublication(vueARafraichir, collectionId, (CollectionAPublication) publicationsAjoutees.get(it.next()));
622
			}
636
			}
623
		}
637
		}
624
	}
638
	}
625
	
639
	
626
	public void modifierCollectionAPublication(Rafraichissable vueARafraichir, CollectionAPublicationListe publicationsModifiees) {
640
	public void modifierCollectionAPublication(Rafraichissable vueARafraichir, CollectionAPublicationListe publicationsModifiees) {
627
		if (publicationsModifiees != null && publicationsModifiees.size() > 0) {
641
		if (publicationsModifiees != null && publicationsModifiees.size() > 0) {
628
			for (Iterator<String> it = publicationsModifiees.keySet().iterator(); it.hasNext();) {
642
			for (Iterator<String> it = publicationsModifiees.keySet().iterator(); it.hasNext();) {
629
				modele.modifierCollectionAPublication(vueARafraichir, (CollectionAPublication) publicationsModifiees.get(it.next()));
643
				modele.modifierCollectionAPublication(vueARafraichir, (CollectionAPublication) publicationsModifiees.get(it.next()));
630
			}
644
			}
631
		}
645
		}
632
	}
646
	}
633
	
647
	
634
	public void supprimerCollectionAPublication(Rafraichissable vueARafraichir, CollectionAPublicationListe publicationsSupprimees) {
648
	public void supprimerCollectionAPublication(Rafraichissable vueARafraichir, CollectionAPublicationListe publicationsSupprimees) {
635
		if (publicationsSupprimees != null && publicationsSupprimees.size() > 0) {
649
		if (publicationsSupprimees != null && publicationsSupprimees.size() > 0) {
636
			String idCollectionAPublicationSeparesParVirgule = "" ;
650
			String idCollectionAPublicationSeparesParVirgule = "" ;
637
			for (Iterator<String> it = publicationsSupprimees.keySet().iterator(); it.hasNext();) {
651
			for (Iterator<String> it = publicationsSupprimees.keySet().iterator(); it.hasNext();) {
638
				idCollectionAPublicationSeparesParVirgule += publicationsSupprimees.get(it.next()).getId();
652
				idCollectionAPublicationSeparesParVirgule += publicationsSupprimees.get(it.next()).getId();
639
				if (it.hasNext()) {
653
				if (it.hasNext()) {
640
					idCollectionAPublicationSeparesParVirgule += ",";
654
					idCollectionAPublicationSeparesParVirgule += ",";
641
				}
655
				}
642
			}
656
			}
643
			modele.supprimerCollectionAPublication(vueARafraichir, idCollectionAPublicationSeparesParVirgule);
657
			modele.supprimerCollectionAPublication(vueARafraichir, idCollectionAPublicationSeparesParVirgule);
644
		}
658
		}
645
	}
659
	}
646
	
660
	
647
	//+----------------------------------------------------------------------------------------------------------------+
661
	//+----------------------------------------------------------------------------------------------------------------+
648
	// GESTION de la relation COLLECTION A PUBLICATION
662
	// GESTION de la relation COLLECTION A PUBLICATION
649
	
663
	
650
	//+----------------------------------------------------------------------------------------------------------------+
664
	//+----------------------------------------------------------------------------------------------------------------+
651
	// GESTION de la relation COLLECTION A COMMENTAIRE
665
	// GESTION de la relation COLLECTION A COMMENTAIRE
652
	
666
	
653
	//+----------------------------------------------------------------------------------------------------------------+
667
	//+----------------------------------------------------------------------------------------------------------------+
654
	//												GESTION DES PERSONNES
668
	//												GESTION DES PERSONNES
655
	//+----------------------------------------------------------------------------------------------------------------+
669
	//+----------------------------------------------------------------------------------------------------------------+
656
 
670
 
657
	public void clicListePersonne(Personne personne)	{
671
	public void clicListePersonne(Personne personne)	{
658
		panneauCentre.getContenu().rafraichir(personne);
672
		panneauCentre.getContenu().rafraichir(personne);
659
	}
673
	}
660
 
674
 
661
	public void afficherListePersonnes(PersonneListe personnesACharger)	{
675
	public void afficherListePersonnes(PersonneListe personnesACharger)	{
662
		if (!(panneauCentre.getContenu() instanceof PersonneVue))	{
676
		if (!(panneauCentre.getContenu() instanceof PersonneVue))	{
663
			panneauCentre.removeAll();
677
			panneauCentre.removeAll();
664
			panneauCentre.add(new PersonneVue(this));
678
			panneauCentre.add(new PersonneVue(this));
665
			panneauCentre.setId(ComposantId.PANNEAU_PERSONNE_LISTES);
679
			panneauCentre.setId(ComposantId.PANNEAU_PERSONNE_LISTES);
666
		}	
680
		}	
667
		
681
		
668
		panneauCentre.getContenu().rafraichir(personnesACharger);
682
		panneauCentre.getContenu().rafraichir(personnesACharger);
669
	}
683
	}
670
 
684
 
671
	public void clicAjouterPersonne()	{
685
	public void clicAjouterPersonne()	{
672
		afficherPersonneForm(null);
686
		afficherPersonneForm(null);
673
	}
687
	}
674
	
688
	
675
	public void clicModifierPersonne(Personne personne)	{
689
	public void clicModifierPersonne(Personne personne)	{
676
		afficherPersonneForm(personne);			
690
		afficherPersonneForm(personne);			
677
	}
691
	}
678
	
692
	
679
	public void afficherPersonneForm(Personne personne)	{
693
	public void afficherPersonneForm(Personne personne)	{
680
		String personneId = null;
694
		String personneId = null;
681
		if (personne != null)	{
695
		if (personne != null)	{
682
			personneId = personne.getId();
696
			personneId = personne.getId();
683
		}
697
		}
684
		
698
		
685
		panneauCentre.removeAll();
699
		panneauCentre.removeAll();
686
		PublicationForm publicationForm = new PublicationForm(this, personneId);
700
		PublicationForm publicationForm = new PublicationForm(this, personneId);
687
		panneauCentre.add(publicationForm);
701
		panneauCentre.add(publicationForm);
688
		
702
		
689
		panneauCentre.layout();
703
		panneauCentre.layout();
690
	}
704
	}
691
	
705
	
692
	public void clicSupprimerPersonne(final Rafraichissable vue,final List<Personne> personneSelection) {
706
	public void clicSupprimerPersonne(final Rafraichissable vue,final List<Personne> personneSelection) {
693
		
707
		
694
		//Empecher suppression utilisateur
708
		//Empecher suppression utilisateur
695
		for (int i=0; i < personneSelection.size(); i++)	{
709
		for (int i=0; i < personneSelection.size(); i++)	{
696
			Personne courante = personneSelection.get(i);
710
			Personne courante = personneSelection.get(i);
697
			if (courante.getId().equals(getUtilisateurId()))	{
711
			if (courante.getId().equals(getUtilisateurId()))	{
698
				Info.display("Information", "Vous ne pouvez pas supprimer votre compte");
712
				Info.display("Information", "Vous ne pouvez pas supprimer votre compte");
699
				personneSelection.remove(courante);
713
				personneSelection.remove(courante);
700
			}
714
			}
701
		}
715
		}
702
		
716
		
703
		if (personneSelection.size() == 0) {
717
		if (personneSelection.size() == 0) {
704
			Info.display("Information", "Veuillez sélectionner une personne.");
718
			Info.display("Information", "Veuillez sélectionner une personne.");
705
		} else if(personneSelection.size() > 0) {
719
		} else if(personneSelection.size() > 0) {
706
			String message = "Êtes vous sur de vouloir supprimer les personnes sélectionnées ?";
720
			String message = "Êtes vous sur de vouloir supprimer les personnes sélectionnées ?";
707
			if (personneSelection.size() == 1) {
721
			if (personneSelection.size() == 1) {
708
				message = "Êtes vous sur de vouloir supprimer la personne sélectionnée ?";
722
				message = "Êtes vous sur de vouloir supprimer la personne sélectionnée ?";
709
			}
723
			}
710
			
724
			
711
			final Listener<MessageBoxEvent> listenerSuppression = new Listener<MessageBoxEvent>() { 
725
			final Listener<MessageBoxEvent> listenerSuppression = new Listener<MessageBoxEvent>() { 
712
				public void handleEvent(MessageBoxEvent ce) {
726
				public void handleEvent(MessageBoxEvent ce) {
713
					Dialog dialog = (Dialog) ce.getComponent();
727
					Dialog dialog = (Dialog) ce.getComponent();
714
					Button btn = ce.getButtonClicked();
728
					Button btn = ce.getButtonClicked();
715
 
729
 
716
					if (btn.getText().equals(dialog.yesText)) {
730
					if (btn.getText().equals(dialog.yesText)) {
717
						String idPersonneSepareParVirgule = "" ;
731
						String idPersonneSepareParVirgule = "" ;
718
						Iterator<Personne> itPersonne = personneSelection.iterator();
732
						Iterator<Personne> itPersonne = personneSelection.iterator();
719
						while (itPersonne.hasNext()) {
733
						while (itPersonne.hasNext()) {
720
							Personne personneCourante = itPersonne.next();
734
							Personne personneCourante = itPersonne.next();
721
							idPersonneSepareParVirgule += personneCourante.getId();
735
							idPersonneSepareParVirgule += personneCourante.getId();
722
							idPersonneSepareParVirgule +=",";
736
							idPersonneSepareParVirgule +=",";
723
						}
737
						}
724
						modele.supprimerPersonne(vue, idPersonneSepareParVirgule);  
738
						modele.supprimerPersonne(vue, idPersonneSepareParVirgule);  
725
					}
739
					}
726
				}
740
				}
727
			};
741
			};
728
			
742
			
729
			MessageBox.confirm("Supprimer une personne", message, listenerSuppression);
743
			MessageBox.confirm("Supprimer une personne", message, listenerSuppression);
730
		} else {
744
		} else {
731
			Info.display("Erreur", "Une erreur est survenue dans la méthode clicSupprimerPersonne() du Médiateur.");
745
			Info.display("Erreur", "Une erreur est survenue dans la méthode clicSupprimerPersonne() du Médiateur.");
732
		}
746
		}
733
	}
747
	}
734
 
748
 
735
	public void selectionnerPersonne(Rafraichissable vue, Personne personne, String projetId)	{
749
	public void selectionnerPersonne(Rafraichissable vue, Personne personne, String projetId)	{
736
		int nbElements = Integer.valueOf(((Dictionary) Dictionary.getDictionary("configuration")).get("nbElementsPage")); 
750
		int nbElements = Integer.valueOf(((Dictionary) Dictionary.getDictionary("configuration")).get("nbElementsPage")); 
737
		selectionnerPersonne(vue, personne, projetId, 0, nbElements);
751
		selectionnerPersonne(vue, personne, projetId, 0, nbElements);
738
	}
752
	}
739
	
753
	
740
	public void selectionnerPersonne(Rafraichissable vue, Personne personne, String projetId, int start, int nbElements)	{
754
	public void selectionnerPersonne(Rafraichissable vue, Personne personne, String projetId, int start, int nbElements)	{
741
		String personneId = null;
755
		String personneId = null;
742
		if (personne != null)	{
756
		if (personne != null)	{
743
			personneId = personne.getId();
757
			personneId = personne.getId();
744
		}
758
		}
745
		modele.selectionnerPersonne(vue, personneId, projetId, null, start, nbElements);
759
		modele.selectionnerPersonne(vue, personneId, projetId, null, start, nbElements);
746
	}
760
	}
747
	
761
	
748
	public void selectionnerPersonneParNomComplet(Rafraichissable vueARafraichir, String projetId, String nomComplet) {
762
	public void selectionnerPersonneParNomComplet(Rafraichissable vueARafraichir, String projetId, String nomComplet) {
749
		modele.selectionnerPersonne(vueARafraichir, null, projetId, nomComplet, 0, -1);		
763
		modele.selectionnerPersonne(vueARafraichir, null, projetId, nomComplet, 0, -1);		
750
	}
764
	}
751
	
765
	
752
	public void selectionnerPersonneParProjet(Rafraichissable vueARafraichir, String projetId) {
766
	public void selectionnerPersonneParProjet(Rafraichissable vueARafraichir, String projetId) {
753
		modele.selectionnerPersonne(vueARafraichir, null, projetId, null, 0, -1);		
767
		modele.selectionnerPersonne(vueARafraichir, null, projetId, null, 0, -1);		
754
	}
768
	}
755
	
769
	
756
	public void enregistrerPersonne(Rafraichissable vue, Personne personne){
770
	public void enregistrerPersonne(Rafraichissable vue, Personne personne){
757
		if (personne.getId() != null && !personne.getId().trim().equals("")) {	
771
		if (personne.getId() != null && !personne.getId().trim().equals("")) {	
758
			modele.modifierPersonne(vue, personne);
772
			modele.modifierPersonne(vue, personne);
759
		}	else {
773
		}	else {
760
			modele.ajouterPersonne(vue, personne);
774
			modele.ajouterPersonne(vue, personne);
761
		}
775
		}
762
	}
776
	}
763
	
777
	
764
	//+----------------------------------------------------------------------------------------------------------------+
778
	//+----------------------------------------------------------------------------------------------------------------+
765
	//												GESTION DES PUBLICATIONS
779
	//												GESTION DES PUBLICATIONS
766
	//+----------------------------------------------------------------------------------------------------------------+
780
	//+----------------------------------------------------------------------------------------------------------------+
767
 
781
 
768
	public void afficherListePublication(PublicationListe nouvelleDonnees) {
782
	public void afficherListePublication(PublicationListe nouvelleDonnees) {
769
		if (!(panneauCentre.getContenu() instanceof PublicationVue))	{
783
		if (!(panneauCentre.getContenu() instanceof PublicationVue))	{
770
			panneauCentre.removeAll();
784
			panneauCentre.removeAll();
771
			PublicationVue publicationVue = new PublicationVue(this) ;
785
			PublicationVue publicationVue = new PublicationVue(this) ;
772
			panneauCentre.setId(ComposantId.PANNEAU_PUBLICATION_LISTE);
786
			panneauCentre.setId(ComposantId.PANNEAU_PUBLICATION_LISTE);
773
			panneauCentre.add(publicationVue);
787
			panneauCentre.add(publicationVue);
774
			panneauCentre.layout(true);
788
			panneauCentre.layout(true);
775
		}	
789
		}	
776
		
790
		
777
		masquerPopinChargement();
791
		masquerPopinChargement();
778
		
792
		
779
		panneauCentre.getContenu().rafraichir(nouvelleDonnees);	
793
		panneauCentre.getContenu().rafraichir(nouvelleDonnees);	
780
	}
794
	}
781
	
795
	
782
	public void afficherFormPublication(String publicationId) {
796
	public void afficherFormPublication(String publicationId) {
783
		panneauCentre.removeAll();
797
		panneauCentre.removeAll();
784
		PublicationForm publicationForm = new PublicationForm(this, publicationId);
798
		PublicationForm publicationForm = new PublicationForm(this, publicationId);
785
		panneauCentre.add(publicationForm);
799
		panneauCentre.add(publicationForm);
786
		
800
		
787
		panneauCentre.layout();
801
		panneauCentre.layout();
788
	}
802
	}
789
	
803
	
790
	public void clicListePublication(Publication publication) {
804
	public void clicListePublication(Publication publication) {
791
		if (publication != null) {
805
		if (publication != null) {
792
			panneauCentre.getContenu().rafraichir(publication);	
806
			panneauCentre.getContenu().rafraichir(publication);	
793
		}
807
		}
794
	}
808
	}
795
 
809
 
796
	public void clicAjouterPublication() {
810
	public void clicAjouterPublication() {
797
		afficherFormPublication(null);
811
		afficherFormPublication(null);
798
	}
812
	}
799
	
813
	
800
	public void clicModifierPublication(List<Publication> selection) {
814
	public void clicModifierPublication(List<Publication> selection) {
801
		if (selection.size() == 0) {
815
		if (selection.size() == 0) {
802
			Info.display("Information", "Veuillez sélectionner une publication.");
816
			Info.display("Information", "Veuillez sélectionner une publication.");
803
		} else if (selection.size() > 1) {
817
		} else if (selection.size() > 1) {
804
			Info.display("Information", "Veuillez sélectionner une seule publication à la fois.");
818
			Info.display("Information", "Veuillez sélectionner une seule publication à la fois.");
805
		} else if (selection.size() == 1) {
819
		} else if (selection.size() == 1) {
806
			afficherFormPublication(selection.get(0).getId());
820
			afficherFormPublication(selection.get(0).getId());
807
		} else {
821
		} else {
808
			Info.display("Erreur", "Une erreur est survenue dans la méthode clicModifierPublication() du Médiateur.");
822
			Info.display("Erreur", "Une erreur est survenue dans la méthode clicModifierPublication() du Médiateur.");
809
		}
823
		}
810
	}
824
	}
811
	
825
	
812
	public void clicSupprimerPublication(final List<Publication> publicationListe) {
826
	public void clicSupprimerPublication(final List<Publication> publicationListe) {
813
		if (publicationListe.size() <= 0) {
827
		if (publicationListe.size() <= 0) {
814
			MessageBox.alert("Attention", "Vous devez sélectionner une publication", null); 
828
			MessageBox.alert("Attention", "Vous devez sélectionner une publication", null); 
815
		} else {
829
		} else {
816
			String message = "Voulez-vous vraiment supprimer ces publications ?";
830
			String message = "Voulez-vous vraiment supprimer ces publications ?";
817
			if (publicationListe.size() == 1) {
831
			if (publicationListe.size() == 1) {
818
				message = "Voulez-vous vraiment supprimer cette publication ?";
832
				message = "Voulez-vous vraiment supprimer cette publication ?";
819
			}
833
			}
820
			
834
			
821
			final Listener<MessageBoxEvent> listenerSuppression = new Listener<MessageBoxEvent>() { 
835
			final Listener<MessageBoxEvent> listenerSuppression = new Listener<MessageBoxEvent>() { 
822
				public void handleEvent(MessageBoxEvent ce) {  
836
				public void handleEvent(MessageBoxEvent ce) {  
823
					Dialog dialog = (Dialog) ce.getComponent();
837
					Dialog dialog = (Dialog) ce.getComponent();
824
				    Button btn = ce.getButtonClicked();  
838
				    Button btn = ce.getButtonClicked();  
825
				    	   
839
				    	   
826
				    if (btn.getText().equals(dialog.yesText)) {
840
				    if (btn.getText().equals(dialog.yesText)) {
827
				    	modele.supprimerPublication(panneauCentre.getContenu(), publicationListe);  
841
				    	modele.supprimerPublication(panneauCentre.getContenu(), publicationListe);  
828
				    }
842
				    }
829
				}
843
				}
830
			};
844
			};
831
				     
845
				     
832
			MessageBox.confirm("Supprimer une publication", message, listenerSuppression);
846
			MessageBox.confirm("Supprimer une publication", message, listenerSuppression);
833
		}
847
		}
834
	}
848
	}
835
	
849
	
836
	public void selectionnerPublication(Rafraichissable vueARafraichir, String publicationId) {
850
	public void selectionnerPublication(Rafraichissable vueARafraichir, String publicationId) {
837
		modele.selectionnerPublication(vueARafraichir, publicationId, getProjetId(), null);
851
		modele.selectionnerPublication(vueARafraichir, publicationId, getProjetId(), null);
838
	}
852
	}
839
	
853
	
840
	public void selectionnerPublicationParNomComplet(Rafraichissable vueARafraichir, String projetId, String nomComplet) {
854
	public void selectionnerPublicationParNomComplet(Rafraichissable vueARafraichir, String projetId, String nomComplet) {
841
		modele.selectionnerPublication(vueARafraichir, null, projetId, nomComplet);		
855
		modele.selectionnerPublication(vueARafraichir, null, projetId, nomComplet);		
842
	}
856
	}
843
	
857
	
844
	public void ajouterPublication(Rafraichissable vueARafraichir, Publication publication) {
858
	public void ajouterPublication(Rafraichissable vueARafraichir, Publication publication) {
845
		modele.ajouterPublication(vueARafraichir, publication);
859
		modele.ajouterPublication(vueARafraichir, publication);
846
	}
860
	}
847
	
861
	
848
	public void modifierPublication(Rafraichissable vueARafraichir, Publication publication) {
862
	public void modifierPublication(Rafraichissable vueARafraichir, Publication publication) {
849
		modele.modifierPublication(vueARafraichir, publication);
863
		modele.modifierPublication(vueARafraichir, publication);
850
	}
864
	}
851
 
865
 
852
	public void clicObtenirListeEditeurs(Rafraichissable vueARafraichir) {
866
	public void clicObtenirListeEditeurs(Rafraichissable vueARafraichir) {
853
		selectionnerStructureParProjet(vueARafraichir, null);
867
		selectionnerStructureParProjet(vueARafraichir, null);
854
	}
868
	}
855
 
869
 
856
	public void clicObtenirListeAuteurs(Rafraichissable vueARafraichir) {
870
	public void clicObtenirListeAuteurs(Rafraichissable vueARafraichir) {
857
		selectionnerPersonneParProjet(vueARafraichir, null);
871
		selectionnerPersonneParProjet(vueARafraichir, null);
858
	}
872
	}
859
	
873
	
860
	//+----------------------------------------------------------------------------------------------------------------+
874
	//+----------------------------------------------------------------------------------------------------------------+
861
	// GESTION de la relation PUBLICATION A PERSONNE
875
	// GESTION de la relation PUBLICATION A PERSONNE
862
 
876
 
863
	public void selectionnerPublicationAPersonne(Rafraichissable vueARafraichir, String publicationId, String personnesId, String roleId) {
877
	public void selectionnerPublicationAPersonne(Rafraichissable vueARafraichir, String publicationId, String personnesId, String roleId) {
864
		modele.selectionPublicationAPersonne(vueARafraichir, publicationId, personnesId, roleId);
878
		modele.selectionPublicationAPersonne(vueARafraichir, publicationId, personnesId, roleId);
865
	}
879
	}
866
	
880
	
867
	public void ajouterPublicationAPersonne(Rafraichissable vueARafraichir, String publicationId, PublicationAPersonneListe personnesAjoutees, String roleId) {
881
	public void ajouterPublicationAPersonne(Rafraichissable vueARafraichir, String publicationId, PublicationAPersonneListe personnesAjoutees, String roleId) {
868
		if (personnesAjoutees != null && personnesAjoutees.size() > 0) {
882
		if (personnesAjoutees != null && personnesAjoutees.size() > 0) {
869
			String idPublicationAPersonneSepareParVirgule = "" ;
883
			String idPublicationAPersonneSepareParVirgule = "" ;
870
			for (Iterator<String> it = personnesAjoutees.keySet().iterator(); it.hasNext();) {
884
			for (Iterator<String> it = personnesAjoutees.keySet().iterator(); it.hasNext();) {
871
				idPublicationAPersonneSepareParVirgule += personnesAjoutees.get(it.next()).getIdPersonne();
885
				idPublicationAPersonneSepareParVirgule += personnesAjoutees.get(it.next()).getIdPersonne();
872
				if (it.hasNext()) {
886
				if (it.hasNext()) {
873
					idPublicationAPersonneSepareParVirgule += ",";
887
					idPublicationAPersonneSepareParVirgule += ",";
874
				}
888
				}
875
			}
889
			}
876
			modele.ajouterPublicationAPersonne(vueARafraichir, publicationId, idPublicationAPersonneSepareParVirgule, roleId);
890
			modele.ajouterPublicationAPersonne(vueARafraichir, publicationId, idPublicationAPersonneSepareParVirgule, roleId);
877
		}
891
		}
878
	}
892
	}
879
	
893
	
880
	public void supprimerPublicationAPersonne(Rafraichissable vueARafraichir, PublicationAPersonneListe personnesSupprimees) {
894
	public void supprimerPublicationAPersonne(Rafraichissable vueARafraichir, PublicationAPersonneListe personnesSupprimees) {
881
		if (personnesSupprimees != null && personnesSupprimees.size() > 0) {
895
		if (personnesSupprimees != null && personnesSupprimees.size() > 0) {
882
			String idPublicationAPersonneSepareParVirgule = "" ;
896
			String idPublicationAPersonneSepareParVirgule = "" ;
883
			for (Iterator<String> it = personnesSupprimees.keySet().iterator(); it.hasNext();) {
897
			for (Iterator<String> it = personnesSupprimees.keySet().iterator(); it.hasNext();) {
884
				idPublicationAPersonneSepareParVirgule += personnesSupprimees.get(it.next()).getId();
898
				idPublicationAPersonneSepareParVirgule += personnesSupprimees.get(it.next()).getId();
885
				if (it.hasNext()) {
899
				if (it.hasNext()) {
886
					idPublicationAPersonneSepareParVirgule += ",";
900
					idPublicationAPersonneSepareParVirgule += ",";
887
				}
901
				}
888
			}
902
			}
889
			modele.supprimerPublicationAPersonne(vueARafraichir, idPublicationAPersonneSepareParVirgule);
903
			modele.supprimerPublicationAPersonne(vueARafraichir, idPublicationAPersonneSepareParVirgule);
890
		}
904
		}
891
	}
905
	}
892
	
906
	
893
	//+----------------------------------------------------------------------------------------------------------------+
907
	//+----------------------------------------------------------------------------------------------------------------+
894
	//												RAFRAICHISSEMENT
908
	//												RAFRAICHISSEMENT
895
	//+----------------------------------------------------------------------------------------------------------------+
909
	//+----------------------------------------------------------------------------------------------------------------+
896
	
910
	
897
	public void rafraichir(Object nouvellesDonnees) {
911
	public void rafraichir(Object nouvellesDonnees) {
898
		if (nouvellesDonnees instanceof Utilisateur) {
912
		if (nouvellesDonnees instanceof Utilisateur) {
899
			mettreAJourEtatIdentification((Utilisateur) nouvellesDonnees);
913
			mettreAJourEtatIdentification((Utilisateur) nouvellesDonnees);
900
		} else if (nouvellesDonnees instanceof Information) {
914
		} else if (nouvellesDonnees instanceof Information) {
901
			Information info = (Information) nouvellesDonnees;
915
			Information info = (Information) nouvellesDonnees;
902
		} else	{
916
		} else	{
903
			GWT.log(i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null);
917
			GWT.log(i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null);
904
		}
918
		}
905
	}
919
	}
906
	
920
	
907
	//+----------------------------------------------------------------------------------------------------------------+
921
	//+----------------------------------------------------------------------------------------------------------------+
908
	//												GESTION du STATUT
922
	//												GESTION du STATUT
909
	//+----------------------------------------------------------------------------------------------------------------+
923
	//+----------------------------------------------------------------------------------------------------------------+
910
	
924
	
911
	public void afficherPopinChargement()	{
925
	public void afficherPopinChargement()	{
912
		((PopupChargement) Registry.get(RegistreId.POPUP_CHARGEMENT)).center();
926
		((PopupChargement) Registry.get(RegistreId.POPUP_CHARGEMENT)).center();
913
	}
927
	}
914
		
928
		
915
	public void masquerPopinChargement()	{		
929
	public void masquerPopinChargement()	{		
916
		((PopupChargement) Registry.get(RegistreId.POPUP_CHARGEMENT)).hide();
930
		((PopupChargement) Registry.get(RegistreId.POPUP_CHARGEMENT)).hide();
917
	}
931
	}
918
	
932
	
919
	public void afficherFormProjet(String projetId) {
933
	public void afficherFormProjet(String projetId) {
920
		panneauCentre.removeAll();
934
		panneauCentre.removeAll();
921
		ProjetForm projetForm = new ProjetForm(this, projetId);
935
		ProjetForm projetForm = new ProjetForm(this, projetId);
922
		panneauCentre.add(projetForm);
936
		panneauCentre.add(projetForm);
923
		
937
		
924
		panneauCentre.layout();
938
		panneauCentre.layout();
925
	}
939
	}
926
	
940
	
927
	public void afficherListeProjets(ProjetListe projetsACharger)	{
941
	public void afficherListeProjets(ProjetListe projetsACharger)	{
928
		if (!(panneauCentre.getContenu() instanceof ProjetVue))	{
942
		if (!(panneauCentre.getContenu() instanceof ProjetVue))	{
929
			panneauCentre.removeAll();
943
			panneauCentre.removeAll();
930
			panneauCentre.add(new ProjetVue(this));
944
			panneauCentre.add(new ProjetVue(this));
931
			panneauCentre.setId(ComposantId.PANNEAU_PROJET_LISTE);
945
			panneauCentre.setId(ComposantId.PANNEAU_PROJET_LISTE);
932
			panneauCentre.layout();
946
			panneauCentre.layout();
933
		}	
947
		}	
934
		
948
		
935
		panneauCentre.getContenu().rafraichir(projetsACharger);
949
		panneauCentre.getContenu().rafraichir(projetsACharger);
936
	}
950
	}
937
 
951
 
938
	
952
	
939
	//+----------------------------------------------------------------------------------------------------------------+
953
	//+----------------------------------------------------------------------------------------------------------------+
940
	//												GESTION des projets
954
	//												GESTION des projets
941
	//+----------------------------------------------------------------------------------------------------------------+
955
	//+----------------------------------------------------------------------------------------------------------------+
942
	public void clicListeProjet(Projet projet) {
956
	public void clicListeProjet(Projet projet) {
943
		panneauCentre.getContenu().rafraichir(projet);
957
		panneauCentre.getContenu().rafraichir(projet);
944
	}
958
	}
945
 
959
 
946
	public void clicSupprimerProjet(final List<Projet> projetListe) {
960
	public void clicSupprimerProjet(final List<Projet> projetListe) {
947
		if (projetListe.size() <= 0) {
961
		if (projetListe.size() <= 0) {
948
			MessageBox.alert("Attention", "Vous devez sélectionner un projet", null); 
962
			MessageBox.alert("Attention", "Vous devez sélectionner un projet", null); 
949
		} else {
963
		} else {
950
			String message = "Voulez-vous vraiment supprimer ces projets ?";
964
			String message = "Voulez-vous vraiment supprimer ces projets ?";
951
			if (projetListe.size() == 1) {
965
			if (projetListe.size() == 1) {
952
				message = "Voulez-vous vraiment supprimer ce projet ?";
966
				message = "Voulez-vous vraiment supprimer ce projet ?";
953
			}
967
			}
954
			
968
			
955
			final Listener<MessageBoxEvent> listenerSuppression = new Listener<MessageBoxEvent>() { 
969
			final Listener<MessageBoxEvent> listenerSuppression = new Listener<MessageBoxEvent>() { 
956
				public void handleEvent(MessageBoxEvent ce) {  
970
				public void handleEvent(MessageBoxEvent ce) {  
957
					Dialog dialog = (Dialog) ce.getComponent();
971
					Dialog dialog = (Dialog) ce.getComponent();
958
				    Button btn = ce.getButtonClicked();  
972
				    Button btn = ce.getButtonClicked();  
959
				    	   
973
				    	   
960
				    if (btn.getText().equals(dialog.yesText)) {
974
				    if (btn.getText().equals(dialog.yesText)) {
961
				    	modele.supprimerProjet(panneauCentre.getContenu(), projetListe);  
975
				    	modele.supprimerProjet(panneauCentre.getContenu(), projetListe);  
962
				    }
976
				    }
963
				}
977
				}
964
			};
978
			};
965
				     
979
				     
966
			MessageBox.confirm("Supprimer un projet", message, listenerSuppression);
980
			MessageBox.confirm("Supprimer un projet", message, listenerSuppression);
967
		}
981
		}
968
		
982
		
969
	}
983
	}
970
 
984
 
971
	public void clicModifierProjet(List<Projet> selectedItems) {
985
	public void clicModifierProjet(List<Projet> selectedItems) {
972
		afficherFormProjet(selectedItems.get(0).getId());
986
		afficherFormProjet(selectedItems.get(0).getId());
973
	}
987
	}
974
 
988
 
975
	public void clicAjouterProjet() {
989
	public void clicAjouterProjet() {
976
		afficherFormProjet(null);
990
		afficherFormProjet(null);
977
	}
991
	}
978
 
992
 
979
	public void selectionnerProjet(Rafraichissable vueARafraichir, String projetId) {
993
	public void selectionnerProjet(Rafraichissable vueARafraichir, String projetId) {
980
		modele.selectionnerProjet(vueARafraichir, projetId);
994
		modele.selectionnerProjet(vueARafraichir, projetId);
981
	}
995
	}
982
 
996
 
983
	public void ajouterProjet(Rafraichissable vueARafraichir, Projet projetCollecte) {
997
	public void ajouterProjet(Rafraichissable vueARafraichir, Projet projetCollecte) {
984
		modele.ajouterProjet(vueARafraichir, projetCollecte);
998
		modele.ajouterProjet(vueARafraichir, projetCollecte);
985
	}
999
	}
986
 
1000
 
987
	public void modifierProjet(Rafraichissable vueARafraichir, Projet projetCollecte) {
1001
	public void modifierProjet(Rafraichissable vueARafraichir, Projet projetCollecte) {
988
		modele.modifierProjet(vueARafraichir, projetCollecte);	
1002
		modele.modifierProjet(vueARafraichir, projetCollecte);	
989
	}
1003
	}
990
 
1004
 
991
}
1005
}