Subversion Repositories eFlore/Applications.coel

Rev

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

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