Subversion Repositories eFlore/Applications.coel

Rev

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

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