Subversion Repositories eFlore/Applications.coel

Rev

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

Rev 223 Rev 226
1
package org.tela_botanica.client;
1
package org.tela_botanica.client;
2
 
2
 
3
import java.util.List;
3
import java.util.List;
4
 
4
 
5
import org.tela_botanica.client.composants.AideFenetre;
5
import org.tela_botanica.client.composants.AideFenetre;
6
import org.tela_botanica.client.composants.IdentificationFenetre;
6
import org.tela_botanica.client.composants.IdentificationFenetre;
7
import org.tela_botanica.client.composants.ParametreFenetre;
7
import org.tela_botanica.client.composants.ParametreFenetre;
8
import org.tela_botanica.client.interfaces.Rafraichissable;
8
import org.tela_botanica.client.interfaces.Rafraichissable;
9
import org.tela_botanica.client.modeles.Configuration;
9
import org.tela_botanica.client.modeles.Configuration;
10
import org.tela_botanica.client.modeles.Information;
10
import org.tela_botanica.client.modeles.Information;
11
import org.tela_botanica.client.modeles.Menu;
11
import org.tela_botanica.client.modeles.Menu;
12
import org.tela_botanica.client.modeles.Personne;
12
import org.tela_botanica.client.modeles.Personne;
13
import org.tela_botanica.client.modeles.PersonneListe;
13
import org.tela_botanica.client.modeles.PersonneListe;
14
import org.tela_botanica.client.modeles.ProjetsListe;
14
import org.tela_botanica.client.modeles.ProjetsListe;
15
import org.tela_botanica.client.modeles.Publication;
15
import org.tela_botanica.client.modeles.Publication;
16
import org.tela_botanica.client.modeles.PublicationListe;
16
import org.tela_botanica.client.modeles.PublicationListe;
17
import org.tela_botanica.client.modeles.Structure;
17
import org.tela_botanica.client.modeles.Structure;
18
import org.tela_botanica.client.modeles.StructureAPersonne;
18
import org.tela_botanica.client.modeles.StructureAPersonne;
19
import org.tela_botanica.client.modeles.StructureConservation;
19
import org.tela_botanica.client.modeles.StructureConservation;
20
import org.tela_botanica.client.modeles.StructureListe;
20
import org.tela_botanica.client.modeles.StructureListe;
21
import org.tela_botanica.client.modeles.StructureValorisation;
21
import org.tela_botanica.client.modeles.StructureValorisation;
22
import org.tela_botanica.client.modeles.Utilisateur;
22
import org.tela_botanica.client.modeles.Utilisateur;
23
import org.tela_botanica.client.modeles.ValeurListe;
23
import org.tela_botanica.client.modeles.ValeurListe;
24
import org.tela_botanica.client.vues.ContenuPanneauVue;
24
import org.tela_botanica.client.vues.ContenuPanneauVue;
25
import org.tela_botanica.client.vues.EntetePanneauVue;
25
import org.tela_botanica.client.vues.EntetePanneauVue;
26
import org.tela_botanica.client.vues.FormPersonneVue;
26
import org.tela_botanica.client.vues.FormPersonneVue;
27
import org.tela_botanica.client.vues.FormPublicationVue;
27
import org.tela_botanica.client.vues.FormPublicationVue;
28
import org.tela_botanica.client.vues.FormStructureVue;
28
import org.tela_botanica.client.vues.FormStructureVue;
29
import org.tela_botanica.client.vues.PersonneDetailPanneauVue;
29
import org.tela_botanica.client.vues.PersonneDetailPanneauVue;
30
import org.tela_botanica.client.vues.PersonneVue;
30
import org.tela_botanica.client.vues.PersonneVue;
31
import org.tela_botanica.client.vues.PublicationDetailPanneauVue;
31
import org.tela_botanica.client.vues.PublicationDetailPanneauVue;
32
import org.tela_botanica.client.vues.PublicationVue;
32
import org.tela_botanica.client.vues.PublicationVue;
33
import org.tela_botanica.client.vues.StructureDetailPanneauVue;
33
import org.tela_botanica.client.vues.StructureDetailPanneauVue;
34
import org.tela_botanica.client.vues.StructureListePanneauVue;
34
import org.tela_botanica.client.vues.StructureListePanneauVue;
35
import org.tela_botanica.client.vues.StructureVue;
35
import org.tela_botanica.client.vues.StructureVue;
36
import org.tela_botanica.client.vues.MenuPanneauVue;
36
import org.tela_botanica.client.vues.MenuPanneauVue;
37
 
37
 
38
import com.extjs.gxt.ui.client.Registry;
38
import com.extjs.gxt.ui.client.Registry;
39
import com.extjs.gxt.ui.client.Style.LayoutRegion;
39
import com.extjs.gxt.ui.client.Style.LayoutRegion;
40
import com.extjs.gxt.ui.client.util.Margins;
40
import com.extjs.gxt.ui.client.util.Margins;
41
import com.extjs.gxt.ui.client.widget.Info;
41
import com.extjs.gxt.ui.client.widget.Info;
42
import com.extjs.gxt.ui.client.widget.LayoutContainer;
42
import com.extjs.gxt.ui.client.widget.LayoutContainer;
43
import com.extjs.gxt.ui.client.widget.Viewport;
43
import com.extjs.gxt.ui.client.widget.Viewport;
44
import com.extjs.gxt.ui.client.widget.layout.BorderLayout;
44
import com.extjs.gxt.ui.client.widget.layout.BorderLayout;
45
import com.extjs.gxt.ui.client.widget.layout.BorderLayoutData;
45
import com.extjs.gxt.ui.client.widget.layout.BorderLayoutData;
46
import com.google.gwt.core.client.GWT;
46
import com.google.gwt.core.client.GWT;
47
import com.google.gwt.dom.client.Element;
47
import com.google.gwt.dom.client.Element;
48
import com.google.gwt.user.client.Window;
48
import com.google.gwt.user.client.Window;
49
import com.google.gwt.user.client.ui.RootPanel;
49
import com.google.gwt.user.client.ui.RootPanel;
50
 
50
 
51
public class Mediateur {
51
public class Mediateur {
52
	
52
	
53
	private Modele modele = null;
53
	private Modele modele = null;
54
	private Utilisateur utilisateur = null;
54
	private Utilisateur utilisateur = null;
55
	
55
	
56
	private Viewport viewport;
56
	private Viewport viewport;
57
	private EntetePanneauVue panneauNord = null;
57
	private EntetePanneauVue panneauNord = null;
58
	private MenuPanneauVue panneauOuest = null;
58
	private MenuPanneauVue panneauOuest = null;
59
	private ContenuPanneauVue panneauCentre = null;
59
	private ContenuPanneauVue panneauCentre = null;
60
	private Rafraichissable contenuPanneauCentre = null;
60
	private Rafraichissable contenuPanneauCentre = null;
61
	
61
	
62
	
62
	
63
	
63
	
64
	public Mediateur() {
64
	public Mediateur() {
65
		// Enregistrement du Médiateur dans le Registre
65
		// Enregistrement du Médiateur dans le Registre
66
		Registry.register(RegistreId.MEDIATEUR, this);
66
		Registry.register(RegistreId.MEDIATEUR, this);
67
		// Création du Modèle qui s'enregistre lui même dans le Registre
67
		// Création du Modèle qui s'enregistre lui même dans le Registre
68
		modele = new Modele();
68
		modele = new Modele();
69
	    // Création de l'utilsateur courrant
69
	    // Création de l'utilsateur courrant
70
		utilisateur = new Utilisateur(null, false);
70
		utilisateur = new Utilisateur(null, false);
71
		Registry.register(RegistreId.UTILISATEUR, utilisateur);
71
		Registry.register(RegistreId.UTILISATEUR, utilisateur);
72
		this.connecterUtilisateur(null, null);
72
		this.connecterUtilisateur(null, null);
73
		
73
		
74
		// Création du Viewport qui contient la disposition globale de l'application
74
		// Création du Viewport qui contient la disposition globale de l'application
75
		viewport = new Viewport();
75
		viewport = new Viewport();
76
		viewport.setLayout(new BorderLayout());
76
		viewport.setLayout(new BorderLayout());
77
		
77
		
78
		// Création des différents panneaux
78
		// Création des différents panneaux
79
	    creerPanneauNord();
79
	    creerPanneauNord();
80
	    creerPanneauOuest();
80
	    creerPanneauOuest();
81
	    creerPanneauCentral();
81
	    creerPanneauCentral();
82
 
82
 
83
		// Registry utile car présent partout!
83
		// Registry utile car présent partout!
84
		Registry.register(RegistreId.VIEWPORT, viewport);
84
		Registry.register(RegistreId.VIEWPORT, viewport);
85
		Registry.register(RegistreId.PANNEAU_OUEST, panneauOuest);
85
		Registry.register(RegistreId.PANNEAU_OUEST, panneauOuest);
86
		Registry.register(RegistreId.PANNEAU_CENTRE, panneauCentre);
86
		Registry.register(RegistreId.PANNEAU_CENTRE, panneauCentre);
87
 
87
 
88
		// Chargement du menu
88
		// Chargement du menu
89
		chargeMenu(panneauOuest.listerMenu());
89
		chargeMenu(panneauOuest.listerMenu());
90
		
90
		
91
		// Retour à GWT du Viewport une fois constuit
91
		// Retour à GWT du Viewport une fois constuit
92
		RootPanel.get().add(viewport);
92
		RootPanel.get().add(viewport);
93
	}
93
	}
94
	
94
	
95
	//+----------------------------------------------------------------------------------------------------------------+
95
	//+----------------------------------------------------------------------------------------------------------------+
96
	//												GESTION des PANNEAUX PRINCIPAUX
96
	//												GESTION des PANNEAUX PRINCIPAUX
97
	//+----------------------------------------------------------------------------------------------------------------+
97
	//+----------------------------------------------------------------------------------------------------------------+
98
	
98
	
99
	private void creerPanneauNord() {
99
	private void creerPanneauNord() {
100
		panneauNord = new EntetePanneauVue(); 
100
		panneauNord = new EntetePanneauVue(); 
101
		
101
		
102
		BorderLayoutData regionNord = new BorderLayoutData(LayoutRegion.NORTH, 100);  
102
		BorderLayoutData regionNord = new BorderLayoutData(LayoutRegion.NORTH, 100);  
103
		regionNord.setCollapsible(true);
103
		regionNord.setCollapsible(true);
104
		regionNord.setFloatable(true);
104
		regionNord.setFloatable(true);
105
		regionNord.setSplit(false);
105
		regionNord.setSplit(false);
106
		regionNord.setMargins(new Margins(5, 5, 0, 5));
106
		regionNord.setMargins(new Margins(5, 5, 0, 5));
107
		
107
		
108
		viewport.add(panneauNord, regionNord);
108
		viewport.add(panneauNord, regionNord);
109
	}
109
	}
110
	
110
	
111
	private void creerPanneauOuest() {
111
	private void creerPanneauOuest() {
112
		panneauOuest = new MenuPanneauVue(); 
112
		panneauOuest = new MenuPanneauVue(); 
113
		
113
		
114
		BorderLayoutData regionOuest = new BorderLayoutData(LayoutRegion.WEST, 200);  
114
		BorderLayoutData regionOuest = new BorderLayoutData(LayoutRegion.WEST, 200);  
115
		regionOuest.setSplit(true);
115
		regionOuest.setSplit(true);
116
		regionOuest.setCollapsible(true);  
116
		regionOuest.setCollapsible(true);  
117
		regionOuest.setMargins(new Margins(5));
117
		regionOuest.setMargins(new Margins(5));
118
 
118
 
119
		viewport.add(panneauOuest, regionOuest);
119
		viewport.add(panneauOuest, regionOuest);
120
	}
120
	}
121
 
121
 
122
	private void creerPanneauCentral() {
122
	private void creerPanneauCentral() {
123
		panneauCentre = new ContenuPanneauVue();
123
		panneauCentre = new ContenuPanneauVue();
124
 
124
 
125
		BorderLayoutData regionCentre = new BorderLayoutData(LayoutRegion.CENTER);  
125
		BorderLayoutData regionCentre = new BorderLayoutData(LayoutRegion.CENTER);  
126
		regionCentre.setMargins(new Margins(5, 5, 5, 0));
126
		regionCentre.setMargins(new Margins(5, 5, 5, 0));
127
 
127
 
128
		viewport.add(panneauCentre, regionCentre);
128
		viewport.add(panneauCentre, regionCentre);
129
	}
129
	}
130
 
130
 
131
	//+----------------------------------------------------------------------------------------------------------------+
131
	//+----------------------------------------------------------------------------------------------------------------+
132
	//												GESTION du MENU
132
	//												GESTION du MENU
133
	//+----------------------------------------------------------------------------------------------------------------+
133
	//+----------------------------------------------------------------------------------------------------------------+
134
	
134
	
135
	public void chargeMenu(Menu menus) {
135
	public void chargeMenu(Menu menus) {
136
		((MenuPanneauVue) Registry.get(RegistreId.PANNEAU_OUEST)).rafraichir(menus);		
136
		((MenuPanneauVue) Registry.get(RegistreId.PANNEAU_OUEST)).rafraichir(menus);		
137
	}
137
	}
138
 
138
 
139
	public void clicMenu(String menuNom) {
139
	public void clicMenu(String menuNom) {
140
		panneauCentre.removeAll();
140
		panneauCentre.removeAll();
141
		if (menuNom.equals("Institutions")) {
141
		if (menuNom.equals("Institutions")) {
142
			((Modele) Registry.get(RegistreId.MODELE)).selectionnerStructures(getUtilisateurId());
142
			((Modele) Registry.get(RegistreId.MODELE)).selectionnerStructures(getUtilisateurId());
143
		} else if (menuNom.equals("Publications")) {
143
		} else if (menuNom.equals("Publications")) {
144
			((Modele) Registry.get(RegistreId.MODELE)).obtenirListePublications();
144
			((Modele) Registry.get(RegistreId.MODELE)).obtenirListePublications();
145
		} else if (menuNom.equals("Personnes")) { 
145
		} else if (menuNom.equals("Personnes")) { 
146
			((Modele) Registry.get(RegistreId.MODELE)).obtenirListePersonnes();
146
			((Modele) Registry.get(RegistreId.MODELE)).obtenirListePersonnes();
147
		}
147
		}
148
		else {
148
		else {
149
			GWT.log("Non implémenté! Menu id : "+menuNom, null);
149
			GWT.log("Non implémenté! Menu id : "+menuNom, null);
150
		}
150
		}
151
		panneauCentre.layout();
151
		panneauCentre.layout();
152
	}
152
	}
153
	
153
	
154
	//+----------------------------------------------------------------------------------------------------------------+
154
	//+----------------------------------------------------------------------------------------------------------------+
155
	//												GESTION DES FENÊTRES
155
	//												GESTION DES FENÊTRES
156
	//+----------------------------------------------------------------------------------------------------------------+
156
	//+----------------------------------------------------------------------------------------------------------------+
157
 
157
 
158
	public void ouvrirAide() {
158
	public void ouvrirAide() {
159
		AideFenetre aideFenetre = new AideFenetre();
159
		AideFenetre aideFenetre = new AideFenetre();
160
		aideFenetre.show();
160
		aideFenetre.show();
161
		// FIXME : apparament le fade In/Fade Out pose problème sur les navigateurs...
161
		// FIXME : apparament le fade In/Fade Out pose problème sur les navigateurs...
162
		//aideFenetre.el().fadeIn(FxConfig.NONE);
162
		//aideFenetre.el().fadeIn(FxConfig.NONE);
163
	}
163
	}
164
 
164
 
165
	public void ouvrirParametres() {
165
	public void ouvrirParametres() {
166
		ParametreFenetre parametresFenetre = new ParametreFenetre();
166
		ParametreFenetre parametresFenetre = new ParametreFenetre();
167
		parametresFenetre.show();
167
		parametresFenetre.show();
168
	}
168
	}
169
 
169
 
170
	public void ouvrirIdentification() {
170
	public void ouvrirIdentification() {
171
		IdentificationFenetre identifFenetre = new IdentificationFenetre();
171
		IdentificationFenetre identifFenetre = new IdentificationFenetre();
172
		identifFenetre.show();
172
		identifFenetre.show();
173
	}
173
	}
174
 
174
 
175
	public void ouvrirApplis(String id) {
175
	public void ouvrirApplis(String id) {
176
		if (id.equals(ComposantId.MENU_CEL)) {
176
		if (id.equals(ComposantId.MENU_CEL)) {
177
			Window.open(((Configuration) Registry.get(RegistreId.CONFIG)).getCelUrl(), "Carnet en ligne", "");
177
			Window.open(((Configuration) Registry.get(RegistreId.CONFIG)).getCelUrl(), "Carnet en ligne", "");
178
		} else if (id.equals(ComposantId.MENU_BEL)) {
178
		} else if (id.equals(ComposantId.MENU_BEL)) {
179
			Window.open(((Configuration) Registry.get(RegistreId.CONFIG)).getCelUrl(), "Biblio en ligne", "");
179
			Window.open(((Configuration) Registry.get(RegistreId.CONFIG)).getCelUrl(), "Biblio en ligne", "");
180
		}
180
		}
181
	}
181
	}
182
 
182
 
183
	//+----------------------------------------------------------------------------------------------------------------+
183
	//+----------------------------------------------------------------------------------------------------------------+
184
	//												GESTION de l'UTILISATEUR et de l'IDENTIFICATION
184
	//												GESTION de l'UTILISATEUR et de l'IDENTIFICATION
185
	//+----------------------------------------------------------------------------------------------------------------+
185
	//+----------------------------------------------------------------------------------------------------------------+
186
	
186
	
187
	public String getUtilisateurId() {
187
	public String getUtilisateurId() {
188
		return utilisateur.getId();
188
		return utilisateur.getId();
189
	}
189
	}
190
	
190
	
191
	public void clicIdentification() {
191
	public void clicIdentification() {
192
		// Gestion du login
192
		// Gestion du login
193
		IdentificationFenetre dialog = new IdentificationFenetre();
193
		IdentificationFenetre dialog = new IdentificationFenetre();
194
	    dialog.setClosable(false);
194
	    dialog.setClosable(false);
195
	    dialog.show();
195
	    dialog.show();
196
	}
196
	}
197
	
197
	
198
	public void connecterUtilisateur(String login, String mdp) {
198
	public void connecterUtilisateur(String login, String mdp) {
199
		((Modele) Registry.get(RegistreId.MODELE)).connecterUtilisateur(login, mdp);
199
		((Modele) Registry.get(RegistreId.MODELE)).connecterUtilisateur(login, mdp);
200
	}
200
	}
201
	
201
	
202
	public void deconnecterUtilisateur() {
202
	public void deconnecterUtilisateur() {
203
		((Modele) Registry.get(RegistreId.MODELE)).deconnecterUtilisateur();
203
		((Modele) Registry.get(RegistreId.MODELE)).deconnecterUtilisateur();
204
	}
204
	}
205
	
205
	
206
	public void mettreAJourEtatIdentification(Utilisateur utilisateur) {
206
	public void mettreAJourEtatIdentification(Utilisateur utilisateur) {
207
		// Mise à jour du registre
207
		// Mise à jour du registre
208
		Registry.register(RegistreId.UTILISATEUR, utilisateur);
208
		Registry.register(RegistreId.UTILISATEUR, utilisateur);
209
		
209
		
210
		// Création de l'information de mise à jour de l'utilisateur
210
		// Création de l'information de mise à jour de l'utilisateur
211
		Information info = new Information("maj_utilisateur");
211
		Information info = new Information("maj_utilisateur");
212
		
212
		
213
		// Rafraichissement du panneau Nord
213
		// Rafraichissement du panneau Nord
214
		panneauNord.rafraichir(info);
214
		panneauNord.rafraichir(info);
215
 
215
 
216
		// Rafraichissement du panneau Centre
216
		// Rafraichissement du panneau Centre
217
		if (contenuPanneauCentre != null) {
217
		if (contenuPanneauCentre != null) {
218
			contenuPanneauCentre.rafraichir(info);
218
			contenuPanneauCentre.rafraichir(info);
219
		}
219
		}
220
	}
220
	}
221
 
221
 
222
	//+----------------------------------------------------------------------------------------------------------------+
222
	//+----------------------------------------------------------------------------------------------------------------+
223
	//												GESTION DES PERSONNES
223
	//												GESTION DES PERSONNES
224
	//+----------------------------------------------------------------------------------------------------------------+
224
	//+----------------------------------------------------------------------------------------------------------------+
225
 
225
 
226
	public void clicListePersonne(Personne personne)	{
226
	public void clicListePersonne(Personne personne)	{
227
		((PersonneDetailPanneauVue) Registry.get(RegistreId.PANNEAU_PERSONNE_DETAIL)).rafraichir(personne);
227
		((PersonneDetailPanneauVue) Registry.get(RegistreId.PANNEAU_PERSONNE_DETAIL)).rafraichir(personne);
228
		
228
		
229
	}
229
	}
230
 
230
 
231
	public void afficherListePersonnes(PersonneListe nouvelleDonnees)	{
231
	public void afficherListePersonnes(PersonneListe nouvelleDonnees)	{
232
		
232
		
233
		PersonneVue personneVue = new PersonneVue();
233
		PersonneVue personneVue = new PersonneVue();
234
		contenuPanneauCentre = personneVue;
234
		contenuPanneauCentre = personneVue;
235
		panneauCentre.add(personneVue);
235
		panneauCentre.add(personneVue);
236
		personneVue.rafraichir(nouvelleDonnees);
236
		personneVue.rafraichir(nouvelleDonnees);
237
	}
237
	}
238
 
238
 
239
	public void clicAjouterPersonne()	{
239
	public void clicAjouterPersonne()	{
240
		FormPersonneVue fPersonneVue = new FormPersonneVue();
240
		FormPersonneVue fPersonneVue = new FormPersonneVue();
241
		contenuPanneauCentre = fPersonneVue;
241
		contenuPanneauCentre = fPersonneVue;
242
		panneauCentre.add(fPersonneVue);
242
		panneauCentre.add(fPersonneVue);
243
	}
243
	}
244
	
244
	
245
	//+----------------------------------------------------------------------------------------------------------------+
245
	//+----------------------------------------------------------------------------------------------------------------+
246
	//												GESTION DES VALEURS ET LISTES
246
	//												GESTION DES VALEURS ET LISTES
247
	//+----------------------------------------------------------------------------------------------------------------+
247
	//+----------------------------------------------------------------------------------------------------------------+
248
 
248
 
249
	public void afficherListeValeurs(ValeurListe nouvelleDonnees) {
249
	public void afficherListeValeurs(ValeurListe nouvelleDonnees) {
250
		if (panneauCentre.getId().equals(ComposantId.PANNEAU_STRUCTURE_FORM)) {
250
		if (panneauCentre.getId().equals(ComposantId.PANNEAU_STRUCTURE_FORM)) {
251
			((FormStructureVue) panneauCentre.getItem(0)).rafraichir(nouvelleDonnees);
251
			((FormStructureVue) panneauCentre.getItem(0)).rafraichir(nouvelleDonnees);
252
		} else {
252
		} else {
253
			GWT.log("Aucun panneau trouvé pour afficher la liste de valeur", null);
253
			GWT.log("Aucun panneau trouvé pour afficher la liste de valeur", null);
254
		}
254
		}
255
	}
255
	}
256
 
256
 
257
	//+----------------------------------------------------------------------------------------------------------------+
257
	//+----------------------------------------------------------------------------------------------------------------+
258
	//												GESTION DES PUBLICATIONS
258
	//												GESTION DES PUBLICATIONS
259
	//+----------------------------------------------------------------------------------------------------------------+
259
	//+----------------------------------------------------------------------------------------------------------------+
260
 
260
 
261
	public void afficherListePublication(PublicationListe nouvelleDonnees) {
261
	public void afficherListePublication(PublicationListe nouvelleDonnees) {
262
		
262
		
263
		PublicationVue publicationVue = new PublicationVue() ;
263
		PublicationVue publicationVue = new PublicationVue() ;
264
		panneauCentre.add(publicationVue);
264
		panneauCentre.add(publicationVue);
265
		contenuPanneauCentre = publicationVue;
265
		contenuPanneauCentre = publicationVue;
266
		publicationVue.rafraichir(nouvelleDonnees);
266
		publicationVue.rafraichir(nouvelleDonnees);
267
		
267
		
268
	}
268
	}
269
 
269
 
270
	public void clicListePublication(Publication publication) {
270
	public void clicListePublication(Publication publication) {
271
		
271
		
272
		((PublicationDetailPanneauVue) Registry.get(RegistreId.PANNEAU_PUBLICATION_DETAIL)).rafraichir(publication);	
272
		((PublicationDetailPanneauVue) Registry.get(RegistreId.PANNEAU_PUBLICATION_DETAIL)).rafraichir(publication);	
273
	}
273
	}
274
 
274
 
275
	public void clicAjouterPublication() {
275
	public void clicAjouterPublication() {
276
		panneauCentre.removeAll();
276
		panneauCentre.removeAll();
277
		FormPublicationVue formPublicationVue = new FormPublicationVue();
277
		FormPublicationVue formPublicationVue = new FormPublicationVue();
278
		panneauCentre.add(formPublicationVue);
278
		panneauCentre.add(formPublicationVue);
279
		panneauCentre.setId(ComposantId.PANNEAU_FORM_PUBLICATION);
279
		panneauCentre.setId(ComposantId.PANNEAU_FORM_PUBLICATION);
280
		panneauCentre.layout();
280
		panneauCentre.layout();
281
	}
281
	}
282
	
282
	
283
	//+----------------------------------------------------------------------------------------------------------------+
283
	//+----------------------------------------------------------------------------------------------------------------+
284
	//												GESTION DES STRUCTURES
284
	//												GESTION DES STRUCTURES
285
	//+----------------------------------------------------------------------------------------------------------------+
285
	//+----------------------------------------------------------------------------------------------------------------+
286
 
286
 
287
	public void clicListeInstitution(Structure institution) {
287
	public void clicListeInstitution(Structure institution) {
288
		((StructureDetailPanneauVue) Registry.get(RegistreId.PANNEAU_INSTITUTION_DETAIL)).rafraichir(institution);		
288
		((StructureDetailPanneauVue) Registry.get(RegistreId.PANNEAU_INSTITUTION_DETAIL)).rafraichir(institution);		
289
	}
289
	}
290
 
290
 
291
	public void afficherListeStructures(StructureListe nouvelleDonnees) {
291
	public void afficherListeStructures(StructureListe nouvelleDonnees) {
292
		// TODO : créer dès l'initialisation de l'application InsitutionVue et la cacher
292
		// TODO : créer dès l'initialisation de l'application InsitutionVue et la cacher
293
		StructureVue institutionVue = new StructureVue();
293
		StructureVue institutionVue = new StructureVue();
294
		panneauCentre.add(institutionVue);
294
		panneauCentre.add(institutionVue);
295
		panneauCentre.setId(ComposantId.PANNEAU_STRUCTURE_LISTE);
295
		panneauCentre.setId(ComposantId.PANNEAU_STRUCTURE_LISTE);
296
		contenuPanneauCentre = institutionVue;
296
		contenuPanneauCentre = institutionVue;
297
		institutionVue.rafraichir(nouvelleDonnees);
297
		institutionVue.rafraichir(nouvelleDonnees);
298
	}
298
	}
299
	
299
	
300
	public void clicAjouterStructure() {
300
	public void clicAjouterStructure() {
301
		panneauCentre.removeAll();
301
		panneauCentre.removeAll();
302
		FormStructureVue formStructureVue = new FormStructureVue();
302
		FormStructureVue formStructureVue = new FormStructureVue();
303
		panneauCentre.add(formStructureVue);
303
		panneauCentre.add(formStructureVue);
304
		panneauCentre.setId(ComposantId.PANNEAU_STRUCTURE_FORM);
304
		panneauCentre.setId(ComposantId.PANNEAU_STRUCTURE_FORM);
305
		panneauCentre.layout();
305
		panneauCentre.layout();
306
	}
306
	}
307
	
307
	
308
	/**
308
	/**
309
	 * TODO : afficher un message du type "Structure ajoutée".  
309
	 * TODO : afficher un message du type "Structure ajoutée".  
310
	 * Lance la creation d'une structure
310
	 * Lance la creation d'une structure
311
	 * @param les données de la structure saisie
311
	 * @param les données de la structure saisie
312
	 */
312
	 */
313
	public void ajouterStructure(Rafraichissable vue, Structure structure) {
313
	public void ajouterStructure(Rafraichissable vue, Structure structure) {
314
		modele.ajouterStructure(vue, getUtilisateurId(), structure);
314
		modele.ajouterStructure(vue, getUtilisateurId(), structure);
315
	}
315
	}
316
 
316
 
317
	public void clicSupprimerStructure(Rafraichissable vue, List<Structure> structureSelection) {
317
	public void clicSupprimerStructure(Rafraichissable vue, List<Structure> structureSelection) {
318
		if (structureSelection.size() == 0) {
318
		if (structureSelection.size() == 0) {
319
			Info.display("Information", "Veuillez sélectionner une structure.");
319
			Info.display("Information", "Veuillez sélectionner une structure.");
320
		} else if(structureSelection.size() > 0) {
320
		} else if(structureSelection.size() > 0) {
321
			String message = "Êtes vous sur de vouloir supprimer les structures sélectionnées ?";
321
			String message = "Êtes vous sur de vouloir supprimer les structures sélectionnées ?";
322
			if (structureSelection.size() == 1) {
322
			if (structureSelection.size() == 1) {
323
				message = "Êtes vous sur de vouloir supprimer la structure sélectionnée ?";
323
				message = "Êtes vous sur de vouloir supprimer la structure sélectionnée ?";
324
			}
324
			}
325
			if(Window.confirm(message)) { 
325
			if(Window.confirm(message)) { 
326
					String idStr = "" ;
326
					String idStr = "" ;
327
					for(int i = 0 ; i < structureSelection.size() ; i++) {
327
					for(int i = 0 ; i < structureSelection.size() ; i++) {
328
						idStr += structureSelection.get(i).getId()+"," ; 
328
						idStr += structureSelection.get(i).getId()+"," ; 
329
					}
329
					}
330
					modele.supprimerStructure(vue, getUtilisateurId(), idStr);
330
					modele.supprimerStructure(vue, getUtilisateurId(), idStr);
331
			}
331
			}
332
		} else {
332
		} else {
333
			Info.display("Erreur", "Une erreur est survenue dans la méthode clicSupprimerStructure() du Médiateur.");
333
			Info.display("Erreur", "Une erreur est survenue dans la méthode clicSupprimerStructure() du Médiateur.");
334
		}
334
		}
335
	}
335
	}
336
	
336
	
337
	public void clicModifierStructure(List<Structure> structureSelection) {
337
	public void clicModifierStructure(List<Structure> structureSelection) {
338
		if(structureSelection.size() == 0) {
338
		if(structureSelection.size() == 0) {
339
			Info.display("Information", "Veuillez sélectionner une structure.");
339
			Info.display("Information", "Veuillez sélectionner une structure.");
340
		} else if(structureSelection.size() > 1) {
340
		} else if(structureSelection.size() > 1) {
341
			Info.display("Information", "Veuillez sélectionner une seule structure à la fois.");
341
			Info.display("Information", "Veuillez sélectionner une seule structure à la fois.");
342
		} else if(structureSelection.size() == 1) {
342
		} else if(structureSelection.size() == 1) {
343
			panneauCentre.removeAll();
343
			panneauCentre.removeAll();
344
			FormStructureVue formStructureVue = new FormStructureVue();
344
			FormStructureVue formStructureVue = new FormStructureVue();
345
			panneauCentre.add(formStructureVue);
345
			panneauCentre.add(formStructureVue);
346
			panneauCentre.setId(ComposantId.PANNEAU_STRUCTURE_FORM);
346
			panneauCentre.setId(ComposantId.PANNEAU_STRUCTURE_FORM);
347
 
347
 
348
			String idStr = "" ;
348
			String idStr = "" ;
349
			for(int i = 0 ; i < structureSelection.size() ; i++) {
349
			for(int i = 0 ; i < structureSelection.size() ; i++) {
350
				idStr = structureSelection.get(i).getId(); 
350
				idStr = structureSelection.get(i).getId(); 
351
			}
351
			}
352
			modele.selectionnerStructure(formStructureVue, getUtilisateurId(), idStr, StructureAPersonne.ROLE_EQUIPE);
352
			modele.selectionnerStructure(formStructureVue, getUtilisateurId(), idStr, StructureAPersonne.ROLE_EQUIPE);
353
			
353
			
354
			panneauCentre.layout();
354
			panneauCentre.layout();
355
		} else {
355
		} else {
356
			Info.display("Erreur", "Une erreur est survenue dans la méthode clicModifierStructure() du Médiateur.");
356
			Info.display("Erreur", "Une erreur est survenue dans la méthode clicModifierStructure() du Médiateur.");
357
		}
357
		}
358
		
358
		
359
	}
359
	}
360
	
360
	
361
	public void modifierStructure(Rafraichissable vue, Structure structure, StructureConservation conservation, StructureValorisation valorisation) {
361
	public void modifierStructure(Rafraichissable vue, Structure structure, StructureConservation conservation, StructureValorisation valorisation) {
362
		modele.modifierStructure(vue, getUtilisateurId(), structure, conservation, valorisation);
362
		modele.modifierStructure(vue, getUtilisateurId(), structure, conservation, valorisation);
363
	}
363
	}
364
	
364
	
365
	//+----------------------------------------------------------------------------------------------------------------+
365
	//+----------------------------------------------------------------------------------------------------------------+
366
	//												GESTION des PROJETS
366
	//												GESTION des PROJETS
367
	//+----------------------------------------------------------------------------------------------------------------+
367
	//+----------------------------------------------------------------------------------------------------------------+
368
	
368
	
369
	//Greg : ajout d'un écouteur pour le changement liste projet
369
	//Greg : ajout d'un écouteur pour le changement liste projet
370
	public void rafraichirListeProjets()	{
370
	public void rafraichirListeProjets()	{
371
		((Modele) Registry.get(RegistreId.MODELE)).obtenirListeProjets();
371
		((Modele) Registry.get(RegistreId.MODELE)).obtenirListeProjets();
372
	}
372
	}
373
	
373
	
374
	public void afficherListeProjets(ProjetsListe projets)	{
374
	public void afficherListeProjets(ProjetsListe projets)	{
375
		((MenuPanneauVue) Registry.get(RegistreId.PANNEAU_OUEST)).rafraichir(projets);
375
		((MenuPanneauVue) Registry.get(RegistreId.PANNEAU_OUEST)).rafraichir(projets);
376
	}
376
	}
377
	
377
	
378
	public void selectionnerProjet(String selectedIndexValue) {
378
	public void selectionnerProjet(String selectedIndexValue) {
379
		Registry.register(RegistreId.PROJET, selectedIndexValue);
379
		Registry.register(RegistreId.PROJET, selectedIndexValue);
380
		if (contenuPanneauCentre instanceof PersonneVue)	{
380
		if (contenuPanneauCentre instanceof PersonneVue)	{
381
			((Modele) Registry.get(RegistreId.MODELE)).obtenirListePersonnes();
381
			((Modele) Registry.get(RegistreId.MODELE)).obtenirListePersonnes();
382
			//FIXME Le rafraichissement du panneau ne se fait pas!
382
			//FIXME Le rafraichissement du panneau ne se fait pas!
383
		}
383
		}
384
	}
384
	}
385
 
385
 
386
	public void clicSupprimerPersonne(Rafraichissable vue,List<Personne> personneSelection) {
386
	public void clicSupprimerPersonne(Rafraichissable vue,List<Personne> personneSelection) {
387
		
387
		
388
		String ids = "" ;
388
		String ids = "" ;
389
		
389
		
390
		if (personneSelection.size() == 0) {
390
		if (personneSelection.size() == 0) {
391
			Info.display("Information", "Veuillez sélectionner une personne.");
391
			Info.display("Information", "Veuillez sélectionner une personne.");
392
		} else if(personneSelection.size() > 0) {
392
		} else if(personneSelection.size() > 0) {
393
			String message = "Êtes vous sur de vouloir supprimer les personnes sélectionnées ?";
393
			String message = "Êtes vous sur de vouloir supprimer les personnes sélectionnées ?";
394
			if (personneSelection.size() == 1) {
394
			if (personneSelection.size() == 1) {
395
				message = "Êtes vous sur de vouloir supprimer la personne sélectionnée ?";
395
				message = "Êtes vous sur de vouloir supprimer la personne sélectionnée ?";
396
			}
396
			}
397
			if(Window.confirm(message)) { 
397
			if(Window.confirm(message)) { 
398
					String idStr = "" ;
398
					String idStr = "" ;
399
					for(int i = 0 ; i < personneSelection.size() ; i++) {
399
					for(int i = 0 ; i < personneSelection.size() ; i++) {
400
						idStr += personneSelection.get(i).getId()+"," ; 
400
						idStr += personneSelection.get(i).getId()+"," ; 
401
					}
401
					}
402
					modele.supprimerPersonne(vue, getUtilisateurId(), idStr);
402
					modele.supprimerPersonne(vue, getUtilisateurId(), idStr);
403
			}
403
			}
404
		} else {
404
		} else {
405
			Info.display("Erreur", "Une erreur est survenue dans la méthode clicSupprimerPersonne() du Médiateur.");
405
			Info.display("Erreur", "Une erreur est survenue dans la méthode clicSupprimerPersonne() du Médiateur.");
406
		}
406
		}
407
	}
407
	}
408
 
408
 
409
	public void clicModifierPublication(List<Publication> publicationListe) {
409
	public void clicModifierPublication(List<Publication> publicationListe) {
410
		if(publicationListe.size() <= 0) {
410
		if(publicationListe.size() <= 0) {
411
			Window.alert("Il faut selectionner une publication"); 
411
			Window.alert("Il faut selectionner une publication"); 
412
		}
412
		}
413
		else {
413
		else {
414
			Publication pubAModifier = publicationListe.get(publicationListe.size() -1);
414
			Publication pubAModifier = publicationListe.get(publicationListe.size() -1);
415
			panneauCentre.removeAll();
415
			panneauCentre.removeAll();
416
			FormPublicationVue formPublicationVue = new FormPublicationVue();
416
			FormPublicationVue formPublicationVue = new FormPublicationVue();
417
			panneauCentre.add(formPublicationVue);
417
			panneauCentre.add(formPublicationVue);
418
			panneauCentre.setId(ComposantId.PANNEAU_FORM_PUBLICATION);
418
			panneauCentre.setId(ComposantId.PANNEAU_FORM_PUBLICATION);
419
			panneauCentre.layout();
419
			panneauCentre.layout();
420
			formPublicationVue.rafraichir(pubAModifier);
420
			formPublicationVue.rafraichir(pubAModifier);
421
		}
421
		}
422
		
422
		
423
	}
423
	}
424
 
424
 
425
	public void ajouterPublication(FormPublicationVue formPublicationVue,
425
	public void ajouterPublication(FormPublicationVue formPublicationVue,
426
			Publication publi) {
426
			Publication publi) {
427
		// TODO: faire des trucs 
427
		// TODO: faire des trucs 
428
	}
428
	}
429
	
429
	
430
	public void modifierPublication(FormPublicationVue formPublicationVue,
430
	public void modifierPublication(FormPublicationVue formPublicationVue,
431
			Publication publi) {
431
			Publication publi) {
432
		// TODO: faire des trucs 
432
		// TODO: faire des trucs 
433
	}
433
	}
-
 
434
 
-
 
435
	public void clicObtenirListeEditeurs(Rafraichissable r) {
-
 
436
		modele.obtenirListeStructures(r,getUtilisateurId());
-
 
437
		
-
 
438
	}
434
	
439
	
435
}
440
}
436
 
441
 
437
 
442
 
438
 
443
 
439
 
444
 
440
 
445
 
441
 
446
 
442
 
447
 
443
 
448
 
444
 
449
 
445
 
450
 
446
 
451
 
447
 
452
 
448
 
453
 
449
 
454
 
450
 
455
 
451
 
456
 
452
 
457
 
453
 
458