Subversion Repositories eFlore/Applications.coel

Rev

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

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