Subversion Repositories eFlore/Applications.coel

Rev

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

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