Subversion Repositories eFlore/Applications.coel

Rev

Rev 244 | Rev 265 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

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