Subversion Repositories eFlore/Applications.coel

Rev

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

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