Subversion Repositories eFlore/Applications.coel

Rev

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

Rev 128 Rev 134
1
package org.tela_botanica.client;
1
package org.tela_botanica.client;
-
 
2
 
-
 
3
import java.util.List;
2
 
4
 
3
import org.tela_botanica.client.composants.AideFenetre;
5
import org.tela_botanica.client.composants.AideFenetre;
4
import org.tela_botanica.client.composants.IdentificationFenetre;
6
import org.tela_botanica.client.composants.IdentificationFenetre;
5
import org.tela_botanica.client.composants.ParametreFenetre;
7
import org.tela_botanica.client.composants.ParametreFenetre;
6
import org.tela_botanica.client.interfaces.Rafraichissable;
8
import org.tela_botanica.client.interfaces.Rafraichissable;
7
import org.tela_botanica.client.modeles.Configuration;
9
import org.tela_botanica.client.modeles.Configuration;
8
import org.tela_botanica.client.modeles.Menu;
10
import org.tela_botanica.client.modeles.Menu;
9
import org.tela_botanica.client.modeles.PersonneListe;
11
import org.tela_botanica.client.modeles.PersonneListe;
10
import org.tela_botanica.client.modeles.Publication;
12
import org.tela_botanica.client.modeles.Publication;
11
import org.tela_botanica.client.modeles.PublicationListe;
13
import org.tela_botanica.client.modeles.PublicationListe;
12
import org.tela_botanica.client.modeles.Structure;
14
import org.tela_botanica.client.modeles.Structure;
13
import org.tela_botanica.client.modeles.StructureListe;
15
import org.tela_botanica.client.modeles.StructureListe;
14
import org.tela_botanica.client.modeles.Utilisateur;
16
import org.tela_botanica.client.modeles.Utilisateur;
15
import org.tela_botanica.client.modeles.ValeurListe;
17
import org.tela_botanica.client.modeles.ValeurListe;
16
import org.tela_botanica.client.vues.ContenuPanneauVue;
18
import org.tela_botanica.client.vues.ContenuPanneauVue;
17
import org.tela_botanica.client.vues.EntetePanneauVue;
19
import org.tela_botanica.client.vues.EntetePanneauVue;
18
import org.tela_botanica.client.vues.FormStructureVue;
20
import org.tela_botanica.client.vues.FormStructureVue;
19
import org.tela_botanica.client.vues.PersonneVue;
21
import org.tela_botanica.client.vues.PersonneVue;
20
import org.tela_botanica.client.vues.PublicationDetailPanneauVue;
22
import org.tela_botanica.client.vues.PublicationDetailPanneauVue;
21
import org.tela_botanica.client.vues.PublicationVue;
23
import org.tela_botanica.client.vues.PublicationVue;
22
import org.tela_botanica.client.vues.StructureDetailPanneauVue;
24
import org.tela_botanica.client.vues.StructureDetailPanneauVue;
23
import org.tela_botanica.client.vues.StructureVue;
25
import org.tela_botanica.client.vues.StructureVue;
24
import org.tela_botanica.client.vues.MenuPanneauVue;
26
import org.tela_botanica.client.vues.MenuPanneauVue;
25
 
27
 
26
import com.extjs.gxt.ui.client.Registry;
28
import com.extjs.gxt.ui.client.Registry;
27
import com.extjs.gxt.ui.client.Style.LayoutRegion;
29
import com.extjs.gxt.ui.client.Style.LayoutRegion;
28
import com.extjs.gxt.ui.client.util.Margins;
30
import com.extjs.gxt.ui.client.util.Margins;
29
import com.extjs.gxt.ui.client.widget.Viewport;
31
import com.extjs.gxt.ui.client.widget.Viewport;
30
import com.extjs.gxt.ui.client.widget.layout.BorderLayout;
32
import com.extjs.gxt.ui.client.widget.layout.BorderLayout;
31
import com.extjs.gxt.ui.client.widget.layout.BorderLayoutData;
33
import com.extjs.gxt.ui.client.widget.layout.BorderLayoutData;
32
import com.google.gwt.core.client.GWT;
34
import com.google.gwt.core.client.GWT;
33
import com.google.gwt.user.client.Window;
35
import com.google.gwt.user.client.Window;
34
import com.google.gwt.user.client.ui.RootPanel;
36
import com.google.gwt.user.client.ui.RootPanel;
35
 
37
 
36
public class Mediateur {
38
public class Mediateur {
37
	
39
	
38
	private Modele modele = null;
40
	private Modele modele = null;
39
	private Utilisateur utilisateur = null;
41
	private Utilisateur utilisateur = null;
40
	
42
	
41
	private Viewport viewport;
43
	private Viewport viewport;
42
	private EntetePanneauVue panneauNord = null;
44
	private EntetePanneauVue panneauNord = null;
43
	private MenuPanneauVue panneauOuest = null;
45
	private MenuPanneauVue panneauOuest = null;
44
	private ContenuPanneauVue panneauCentre = null;
46
	private ContenuPanneauVue panneauCentre = null;
45
	
47
	
46
	
48
	
47
	public Mediateur() {
49
	public Mediateur() {
48
		// Enregistrement du Médiateur dans le Registre
50
		// Enregistrement du Médiateur dans le Registre
49
		Registry.register(RegistreId.MEDIATEUR, this);
51
		Registry.register(RegistreId.MEDIATEUR, this);
50
		// Création du Modèle qui s'enregistre lui même dans le Registre
52
		// Création du Modèle qui s'enregistre lui même dans le Registre
51
		modele = new Modele();
53
		modele = new Modele();
52
	    // Création de l'utilsateur courrant
54
	    // Création de l'utilsateur courrant
53
		utilisateur = new Utilisateur(null, false);
55
		utilisateur = new Utilisateur(null, false);
54
		Registry.register(RegistreId.UTILISATEUR, utilisateur);
56
		Registry.register(RegistreId.UTILISATEUR, utilisateur);
55
		this.connecterUtilisateur(null, null);
57
		this.connecterUtilisateur(null, null);
56
		
58
		
57
		// Création du Viewport qui contient la disposition globale de l'application
59
		// Création du Viewport qui contient la disposition globale de l'application
58
		viewport = new Viewport();
60
		viewport = new Viewport();
59
		viewport.setLayout(new BorderLayout());
61
		viewport.setLayout(new BorderLayout());
60
		
62
		
61
		// Création des différents panneaux
63
		// Création des différents panneaux
62
	    creerPanneauNord();
64
	    creerPanneauNord();
63
	    creerPanneauOuest();
65
	    creerPanneauOuest();
64
	    creerPanneauCentral();
66
	    creerPanneauCentral();
65
 
67
 
66
		// Registry utile car présent partout!
68
		// Registry utile car présent partout!
67
		Registry.register(RegistreId.VIEWPORT, viewport);
69
		Registry.register(RegistreId.VIEWPORT, viewport);
68
		Registry.register(RegistreId.PANNEAU_OUEST, panneauOuest);
70
		Registry.register(RegistreId.PANNEAU_OUEST, panneauOuest);
69
		Registry.register(RegistreId.PANNEAU_CENTRE, panneauCentre);
71
		Registry.register(RegistreId.PANNEAU_CENTRE, panneauCentre);
70
 
72
 
71
		// Chargement du menu
73
		// Chargement du menu
72
		chargeMenu(panneauOuest.listerMenu());
74
		chargeMenu(panneauOuest.listerMenu());
73
		
75
		
74
		// Retour à GWT du Viewport une fois constuit
76
		// Retour à GWT du Viewport une fois constuit
75
		RootPanel.get().add(viewport);
77
		RootPanel.get().add(viewport);
76
	}
78
	}
77
	
79
	
78
	public String getUtilisateurId() {
80
	public String getUtilisateurId() {
79
		return utilisateur.getId();
81
		return utilisateur.getId();
80
	}
82
	}
81
	
83
	
82
	private void creerPanneauNord() {
84
	private void creerPanneauNord() {
83
		panneauNord = new EntetePanneauVue(); 
85
		panneauNord = new EntetePanneauVue(); 
84
		
86
		
85
		BorderLayoutData regionNord = new BorderLayoutData(LayoutRegion.NORTH, 100);  
87
		BorderLayoutData regionNord = new BorderLayoutData(LayoutRegion.NORTH, 100);  
86
		regionNord.setCollapsible(true);
88
		regionNord.setCollapsible(true);
87
		regionNord.setFloatable(true);
89
		regionNord.setFloatable(true);
88
		regionNord.setSplit(false);
90
		regionNord.setSplit(false);
89
		regionNord.setMargins(new Margins(5, 5, 0, 5));
91
		regionNord.setMargins(new Margins(5, 5, 0, 5));
90
		
92
		
91
		viewport.add(panneauNord, regionNord);
93
		viewport.add(panneauNord, regionNord);
92
	}
94
	}
93
	
95
	
94
	private void creerPanneauOuest() {
96
	private void creerPanneauOuest() {
95
		panneauOuest = new MenuPanneauVue(); 
97
		panneauOuest = new MenuPanneauVue(); 
96
		
98
		
97
		BorderLayoutData regionOuest = new BorderLayoutData(LayoutRegion.WEST, 200);  
99
		BorderLayoutData regionOuest = new BorderLayoutData(LayoutRegion.WEST, 200);  
98
		regionOuest.setSplit(true);
100
		regionOuest.setSplit(true);
99
		regionOuest.setCollapsible(true);  
101
		regionOuest.setCollapsible(true);  
100
		regionOuest.setMargins(new Margins(5));
102
		regionOuest.setMargins(new Margins(5));
101
 
103
 
102
		viewport.add(panneauOuest, regionOuest);
104
		viewport.add(panneauOuest, regionOuest);
103
	}
105
	}
104
 
106
 
105
	private void creerPanneauCentral() {
107
	private void creerPanneauCentral() {
106
		panneauCentre = new ContenuPanneauVue();
108
		panneauCentre = new ContenuPanneauVue();
107
 
109
 
108
		BorderLayoutData regionCentre = new BorderLayoutData(LayoutRegion.CENTER);  
110
		BorderLayoutData regionCentre = new BorderLayoutData(LayoutRegion.CENTER);  
109
		regionCentre.setMargins(new Margins(5, 5, 5, 0));
111
		regionCentre.setMargins(new Margins(5, 5, 5, 0));
110
 
112
 
111
		viewport.add(panneauCentre, regionCentre);
113
		viewport.add(panneauCentre, regionCentre);
112
	}
114
	}
113
 
115
 
114
	public void chargeMenu(Menu menus) {
116
	public void chargeMenu(Menu menus) {
115
		((MenuPanneauVue) Registry.get(RegistreId.PANNEAU_OUEST)).rafraichir(menus);		
117
		((MenuPanneauVue) Registry.get(RegistreId.PANNEAU_OUEST)).rafraichir(menus);		
116
	}
118
	}
117
 
119
 
118
	public void clicMenu(String s) {
120
	public void clicMenu(String s) {
119
		panneauCentre.removeAll();
121
		panneauCentre.removeAll();
120
		if (s.equals("Institutions")) {
122
		if (s.equals("Institutions")) {
121
			((Modele) Registry.get(RegistreId.MODELE)).obtenirListeInstitutions();
123
			((Modele) Registry.get(RegistreId.MODELE)).obtenirListeInstitutions();
122
		}else if (s.equals("Publications")) {
124
		}else if (s.equals("Publications")) {
123
			((Modele) Registry.get(RegistreId.MODELE)).obtenirListePublications();
125
			((Modele) Registry.get(RegistreId.MODELE)).obtenirListePublications();
124
		}
126
		}
125
		else if (s.equals("Personnes")) { 
127
		else if (s.equals("Personnes")) { 
126
			((Modele) Registry.get(RegistreId.MODELE)).obtenirListePersonnes();
128
			((Modele) Registry.get(RegistreId.MODELE)).obtenirListePersonnes();
127
		}
129
		}
128
		else {
130
		else {
129
			Window.alert("Non implémenté!");
131
			Window.alert("Non implémenté!");
130
		}
132
		}
131
		panneauCentre.layout();
133
		panneauCentre.layout();
132
	}
134
	}
133
	
135
	
134
	public void clicIdentification() {
136
	public void clicIdentification() {
135
		// Gestion du login
137
		// Gestion du login
136
		IdentificationFenetre dialog = new IdentificationFenetre();
138
		IdentificationFenetre dialog = new IdentificationFenetre();
137
	    dialog.setClosable(false);
139
	    dialog.setClosable(false);
138
	    dialog.show();
140
	    dialog.show();
139
	}
141
	}
140
	
142
	
141
	public void clicListeInstitution(Structure institution) {
143
	public void clicListeInstitution(Structure institution) {
142
		((StructureDetailPanneauVue) Registry.get(RegistreId.PANNEAU_INSTITUTION_DETAIL)).rafraichir(institution);		
144
		((StructureDetailPanneauVue) Registry.get(RegistreId.PANNEAU_INSTITUTION_DETAIL)).rafraichir(institution);		
143
	}
145
	}
144
 
146
 
145
	public void afficherListeInstitutions(StructureListe nouvelleDonnees) {
147
	public void afficherListeInstitutions(StructureListe nouvelleDonnees) {
146
		// TODO : créer dès l'initialisation de l'application InsitutionVue et la cacher
148
		// TODO : créer dès l'initialisation de l'application InsitutionVue et la cacher
147
		StructureVue institutionVue = new StructureVue();
149
		StructureVue institutionVue = new StructureVue();
148
		panneauCentre.add(institutionVue);
150
		panneauCentre.add(institutionVue);
149
		institutionVue.rafraichir(nouvelleDonnees);
151
		institutionVue.rafraichir(nouvelleDonnees);
150
	}
152
	}
151
 
153
 
152
	public void afficherListePersonnes(PersonneListe nouvelleDonnees)	{
154
	public void afficherListePersonnes(PersonneListe nouvelleDonnees)	{
153
		PersonneVue personneVue = new PersonneVue();
155
		PersonneVue personneVue = new PersonneVue();
154
		panneauCentre.add(personneVue);
156
		panneauCentre.add(personneVue);
155
		personneVue.rafraichir(nouvelleDonnees);
157
		personneVue.rafraichir(nouvelleDonnees);
156
	}
158
	}
157
	
159
	
158
	public void ouvrirAide() {
160
	public void ouvrirAide() {
159
		AideFenetre aideFenetre = new AideFenetre();
161
		AideFenetre aideFenetre = new AideFenetre();
160
		aideFenetre.show();
162
		aideFenetre.show();
161
		// FIXME : apparament le fade In/Fade Out pose problème sur les navigateurs...
163
		// FIXME : apparament le fade In/Fade Out pose problème sur les navigateurs...
162
		//aideFenetre.el().fadeIn(FxConfig.NONE);
164
		//aideFenetre.el().fadeIn(FxConfig.NONE);
163
	}
165
	}
164
 
166
 
165
	public void ouvrirParametres() {
167
	public void ouvrirParametres() {
166
		ParametreFenetre parametresFenetre = new ParametreFenetre();
168
		ParametreFenetre parametresFenetre = new ParametreFenetre();
167
		parametresFenetre.show();
169
		parametresFenetre.show();
168
	}
170
	}
169
 
171
 
170
	public void ouvrirIdentification() {
172
	public void ouvrirIdentification() {
171
		IdentificationFenetre identifFenetre = new IdentificationFenetre();
173
		IdentificationFenetre identifFenetre = new IdentificationFenetre();
172
		identifFenetre.show();
174
		identifFenetre.show();
173
	}
175
	}
174
 
176
 
175
	public void ouvrirApplis(String id) {
177
	public void ouvrirApplis(String id) {
176
		if (id.equals(ComposantId.MENU_CEL)) {
178
		if (id.equals(ComposantId.MENU_CEL)) {
177
			Window.open(((Configuration) Registry.get(RegistreId.CONFIG)).getCelUrl(), "Carnet en ligne", "");
179
			Window.open(((Configuration) Registry.get(RegistreId.CONFIG)).getCelUrl(), "Carnet en ligne", "");
178
		} else if (id.equals(ComposantId.MENU_BEL)) {
180
		} else if (id.equals(ComposantId.MENU_BEL)) {
179
			Window.open(((Configuration) Registry.get(RegistreId.CONFIG)).getCelUrl(), "Carnet en ligne", "");
181
			Window.open(((Configuration) Registry.get(RegistreId.CONFIG)).getCelUrl(), "Biblio en ligne", "");
180
		}
182
		}
181
	}
183
	}
182
 
184
 
183
	public void connecterUtilisateur(String login, String mdp) {
185
	public void connecterUtilisateur(String login, String mdp) {
184
		((Modele) Registry.get(RegistreId.MODELE)).connecterUtilisateur(login, mdp);
186
		((Modele) Registry.get(RegistreId.MODELE)).connecterUtilisateur(login, mdp);
185
	}
187
	}
186
	
188
	
187
	public void deconnecterUtilisateur() {
189
	public void deconnecterUtilisateur() {
188
		((Modele) Registry.get(RegistreId.MODELE)).deconnecterUtilisateur();
190
		((Modele) Registry.get(RegistreId.MODELE)).deconnecterUtilisateur();
189
	}
191
	}
190
	
192
	
191
	public void mettreAJourEtatIdentification(Utilisateur utilisateur) {
193
	public void mettreAJourEtatIdentification(Utilisateur utilisateur) {
192
		panneauNord.rafraichir(utilisateur);
194
		panneauNord.rafraichir(utilisateur);
193
	}
195
	}
194
 
196
 
195
	public void clicAjouterStructure() {
197
	public void clicAjouterStructure() {
196
		panneauCentre.removeAll();
198
		panneauCentre.removeAll();
197
		FormStructureVue formStructureVue = new FormStructureVue();
199
		FormStructureVue formStructureVue = new FormStructureVue();
198
		panneauCentre.add(formStructureVue);
200
		panneauCentre.add(formStructureVue);
199
		panneauCentre.setId(ComposantId.PANNEAU_FORM_STRUCTURE);
201
		panneauCentre.setId(ComposantId.PANNEAU_FORM_STRUCTURE);
200
		panneauCentre.layout();
202
		panneauCentre.layout();
201
	}
203
	}
202
 
204
 
203
	/* GREG : Ajouter Personne
205
	/* GREG : Ajouter Personne
204
	 * Gestion du clic dans le menu gauche
206
	 * Gestion du clic dans le menu gauche
205
	 * Affiche le formulaire 
207
	 * Affiche le formulaire 
206
	 * */	
208
	 * */	
207
	public void clicAjouterPersonne()	{
209
	public void clicAjouterPersonne()	{
208
		GWT.log("ajouter pers", null);
210
		GWT.log("ajouter pers", null);
209
	}
211
	}
210
	
212
	
211
	
213
	
212
	public void afficherListeValeurs(ValeurListe nouvelleDonnees) {
214
	public void afficherListeValeurs(ValeurListe nouvelleDonnees) {
213
		if (panneauCentre.getId().equals(ComposantId.PANNEAU_FORM_STRUCTURE)) {
215
		if (panneauCentre.getId().equals(ComposantId.PANNEAU_FORM_STRUCTURE)) {
214
			((FormStructureVue) panneauCentre.getItem(0)).rafraichir(nouvelleDonnees);
216
			((FormStructureVue) panneauCentre.getItem(0)).rafraichir(nouvelleDonnees);
215
		} else {
217
		} else {
216
			GWT.log("Aucun panneau trouvé pour afficher la liste de valeur", null);
218
			GWT.log("Aucun panneau trouvé pour afficher la liste de valeur", null);
217
		}
219
		}
218
	}
220
	}
219
 
221
 
220
	public void afficherListePublication(PublicationListe nouvelleDonnees) {
222
	public void afficherListePublication(PublicationListe nouvelleDonnees) {
221
		
223
		
222
		PublicationVue publicationVue = new PublicationVue() ;
224
		PublicationVue publicationVue = new PublicationVue() ;
223
		panneauCentre.add(publicationVue);
225
		panneauCentre.add(publicationVue);
224
		publicationVue.rafraichir(nouvelleDonnees);
226
		publicationVue.rafraichir(nouvelleDonnees);
225
		
227
		
226
	}
228
	}
227
 
229
 
228
	public void clicListePublication(Publication publication) {
230
	public void clicListePublication(Publication publication) {
229
		
231
		
230
		((PublicationDetailPanneauVue) Registry.get(RegistreId.PANNEAU_PUBLICATION_DETAIL)).rafraichir(publication);	
232
		((PublicationDetailPanneauVue) Registry.get(RegistreId.PANNEAU_PUBLICATION_DETAIL)).rafraichir(publication);	
231
	}
233
	}
232
 
234
 
233
	public void clicAjouterPublication() {
235
	public void clicAjouterPublication() {
234
		// TODO Auto-generated method stub
236
		// TODO Auto-generated method stub
235
		
237
		
236
	}
238
	}
237
	/**
239
	/**
238
	 * TODO : afficher un message du type "Structure ajoutée".  
240
	 * TODO : afficher un message du type "Structure ajoutée".  
239
	 * Lance la creation d'une structure
241
	 * Lance la creation d'une structure
240
	 * @param les données de la structure saisie
242
	 * @param les données de la structure saisie
241
	 */
243
	 */
242
	public void ajouterStructure(Rafraichissable vue, Structure structure) {
244
	public void ajouterStructure(Rafraichissable vue, Structure structure) {
243
		modele.ajouterStructure(vue, structure);
245
		modele.ajouterStructure(vue, getUtilisateurId(), structure);
-
 
246
	}
-
 
247
 
-
 
248
	public void clicSupprimerStructure(Rafraichissable vue, List<Structure> structureSelection) {
-
 
249
		if(structureSelection.size() > 0) {
-
 
250
			if(Window.confirm("Êtes vous sur de vouloir supprimer les structures sélectionnées ?")) { 
-
 
251
					String idStr = "" ;
-
 
252
					for(int i = 0 ; i < structureSelection.size() ; i++) {
-
 
253
						idStr += structureSelection.get(i).getId()+"," ; 
-
 
254
					}
-
 
255
					modele.supprimerListeStructure(vue, getUtilisateurId(), idStr) ;
-
 
256
			}
-
 
257
		} else {
-
 
258
			Window.alert("Aucune structure sélectionnée");
-
 
259
		}
244
	}
260
	}
245
 
261
 
246
}
262
}