Subversion Repositories eFlore/Applications.coel

Rev

Rev 268 | Rev 278 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 268 Rev 277
Line 30... Line 30...
30
import org.tela_botanica.client.vues.FormPublicationVue;
30
import org.tela_botanica.client.vues.FormPublicationVue;
31
import org.tela_botanica.client.vues.FormStructureVue;
31
import org.tela_botanica.client.vues.FormStructureVue;
32
import org.tela_botanica.client.vues.PersonneDetailPanneauVue;
32
import org.tela_botanica.client.vues.PersonneDetailPanneauVue;
33
import org.tela_botanica.client.vues.PersonneVue;
33
import org.tela_botanica.client.vues.PersonneVue;
34
import org.tela_botanica.client.vues.PublicationDetailPanneauVue;
34
import org.tela_botanica.client.vues.PublicationDetailPanneauVue;
35
import org.tela_botanica.client.vues.PublicationListePanneauVue;
-
 
36
import org.tela_botanica.client.vues.PublicationVue;
35
import org.tela_botanica.client.vues.PublicationVue;
37
import org.tela_botanica.client.vues.StructureDetailPanneauVue;
36
import org.tela_botanica.client.vues.StructureDetailPanneauVue;
38
import org.tela_botanica.client.vues.StructureListePanneauVue;
-
 
39
import org.tela_botanica.client.vues.StructureVue;
37
import org.tela_botanica.client.vues.StructureVue;
40
import org.tela_botanica.client.vues.MenuPanneauVue;
38
import org.tela_botanica.client.vues.MenuPanneauVue;
Line 41... Line 39...
41
 
39
 
42
import com.extjs.gxt.ui.client.Registry;
40
import com.extjs.gxt.ui.client.Registry;
43
import com.extjs.gxt.ui.client.Style.LayoutRegion;
41
import com.extjs.gxt.ui.client.Style.LayoutRegion;
44
import com.extjs.gxt.ui.client.util.Margins;
42
import com.extjs.gxt.ui.client.util.Margins;
45
import com.extjs.gxt.ui.client.widget.Info;
-
 
46
import com.extjs.gxt.ui.client.widget.LayoutContainer;
43
import com.extjs.gxt.ui.client.widget.Info;
47
import com.extjs.gxt.ui.client.widget.Viewport;
44
import com.extjs.gxt.ui.client.widget.Viewport;
48
import com.extjs.gxt.ui.client.widget.layout.BorderLayout;
45
import com.extjs.gxt.ui.client.widget.layout.BorderLayout;
49
import com.extjs.gxt.ui.client.widget.layout.BorderLayoutData;
46
import com.extjs.gxt.ui.client.widget.layout.BorderLayoutData;
50
import com.google.gwt.core.client.GWT;
-
 
51
import com.google.gwt.dom.client.Element;
47
import com.google.gwt.core.client.GWT;
52
import com.google.gwt.user.client.Window;
48
import com.google.gwt.user.client.Window;
Line 53... Line 49...
53
import com.google.gwt.user.client.ui.RootPanel;
49
import com.google.gwt.user.client.ui.RootPanel;
Line 54... Line 50...
54
 
50
 
55
public class Mediateur {
-
 
Line 56... Line 51...
56
	
51
public class Mediateur implements Rafraichissable {
57
	private Modele modele = null;
52
	
58
	private Utilisateur utilisateur = null;
53
	private Modele modele = null;
59
	
54
	
60
	private Viewport viewport;
55
	private Viewport viewport;
Line 61... Line -...
61
	private EntetePanneauVue panneauNord = null;
-
 
62
	private MenuPanneauVue panneauOuest = null;
-
 
63
	private ContenuPanneauVue panneauCentre = null;
56
	private EntetePanneauVue panneauNord = null;
64
	private Rafraichissable contenuPanneauCentre = null;
57
	private MenuPanneauVue panneauOuest = null;
65
	
58
	private ContenuPanneauVue panneauCentre = null;
66
	
59
	private Rafraichissable contenuPanneauCentre = null;
67
	
60
	
68
	public Mediateur() {
61
	public Mediateur() {
69
		// Enregistrement du Médiateur dans le Registre
-
 
70
		Registry.register(RegistreId.MEDIATEUR, this);
62
		// Enregistrement du Médiateur dans le Registre
71
		// Création du Modèle qui s'enregistre lui même dans le Registre
63
		Registry.register(RegistreId.MEDIATEUR, this);
-
 
64
		// Création du Modèle qui s'enregistre lui même dans le Registre
-
 
65
		modele = new Modele();
Line 72... Line 66...
72
		modele = new Modele();
66
	    // Création de l'utilisateur courrant
73
	    // Création de l'utilsateur courrant
67
		Registry.register(RegistreId.UTILISATEUR_COURANT, new Utilisateur(null, false));
74
		utilisateur = new Utilisateur(null, false);
68
		this.connecterUtilisateur(null, null);
Line 141... Line 135...
141
	}
135
	}
Line 142... Line 136...
142
 
136
 
143
	public void clicMenu(String menuNom) {
137
	public void clicMenu(String menuNom) {
144
		panneauCentre.removeAll();
138
		panneauCentre.removeAll();
145
		if (menuNom.equals("Institutions")) {
139
		if (menuNom.equals("Institutions")) {
146
			((Modele) Registry.get(RegistreId.MODELE)).selectionnerStructures(getUtilisateurId(), getProjetId());
140
			modele.selectionnerStructure(panneauCentre, getProjetId(), null);
147
		} else if (menuNom.equals("Publications")) {
141
		} else if (menuNom.equals("Publications")) {
148
			((Modele) Registry.get(RegistreId.MODELE)).obtenirListePublications();
142
			modele.selectionnerPublications(panneauCentre);
149
		} else if (menuNom.equals("Personnes")) { 
143
		} else if (menuNom.equals("Personnes")) { 
150
			((Modele) Registry.get(RegistreId.MODELE)).obtenirListePersonnes();
144
			modele.selectionnerPersonne(panneauCentre, null, getProjetId(), null);
151
		}
145
		}
152
		else {
146
		else {
153
			GWT.log("Non implémenté! Menu id : "+menuNom, null);
147
			GWT.log("Non implémenté! Menu id : "+menuNom, null);
154
		}
148
		}
Line 189... Line 183...
189
	//+----------------------------------------------------------------------------------------------------------------+
183
	//+----------------------------------------------------------------------------------------------------------------+
190
	/**
184
	/**
191
	 * Retourne l'identifiant de l'utilisateur courrant de l'application.
185
	 * Retourne l'identifiant de l'utilisateur courrant de l'application.
192
	 */
186
	 */
193
	public String getUtilisateurId() {
187
	public String getUtilisateurId() {
-
 
188
		String id = null;
-
 
189
		Utilisateur utilisateurCourant = (Utilisateur) Registry.get(RegistreId.UTILISATEUR_COURANT);
-
 
190
		if (!utilisateurCourant.getId().equals("")) {
194
		return utilisateur.getId();
191
			id = utilisateurCourant.getId();
-
 
192
		}
-
 
193
		return id;
195
	}
194
	}
Line 196... Line 195...
196
	
195
	
197
	public void clicIdentification() {
196
	public void clicIdentification() {
198
		// Gestion du login
197
		// Gestion du login
199
		IdentificationFenetre dialog = new IdentificationFenetre();
198
		IdentificationFenetre dialog = new IdentificationFenetre();
200
	    dialog.setClosable(false);
199
	    dialog.setClosable(false);
201
	    dialog.show();
200
	    dialog.show();
Line 202... Line 201...
202
	}
201
	}
203
	
202
	
204
	public void connecterUtilisateur(String login, String mdp) {
203
	public void connecterUtilisateur(String login, String mdp) {
Line 205... Line 204...
205
		((Modele) Registry.get(RegistreId.MODELE)).connecterUtilisateur(login, mdp);
204
		modele.connecterUtilisateur(this, login, mdp);
206
	}
205
	}
207
	
206
	
Line 208... Line 207...
208
	public void deconnecterUtilisateur() {
207
	public void deconnecterUtilisateur() {
209
		((Modele) Registry.get(RegistreId.MODELE)).deconnecterUtilisateur();
208
		modele.deconnecterUtilisateur(this);
210
	}
209
	}
Line 211... Line 210...
211
	
210
	
212
	public void mettreAJourEtatIdentification(Utilisateur utilisateur) {
211
	public void mettreAJourEtatIdentification(Utilisateur utilisateur) {
Line 213... Line 212...
213
		// Mise à jour du registre
212
		// Mise à jour du registre
Line 232... Line 231...
232
	public void clicListePersonne(Personne personne)	{
231
	public void clicListePersonne(Personne personne)	{
233
		((PersonneDetailPanneauVue) Registry.get(RegistreId.PANNEAU_PERSONNE_DETAIL)).rafraichir(personne);
232
		((PersonneDetailPanneauVue) Registry.get(RegistreId.PANNEAU_PERSONNE_DETAIL)).rafraichir(personne);
Line 234... Line 233...
234
		
233
		
Line 235... Line 234...
235
	}
234
	}
236
 
-
 
237
	public void afficherListePersonnes(PersonneListe nouvelleDonnees)	{
235
 
238
		
236
	public void afficherListePersonnes(PersonneListe personnes)	{
239
		PersonneVue personneVue = new PersonneVue();
237
		PersonneVue personneVue = new PersonneVue();
240
		contenuPanneauCentre = personneVue;
238
		contenuPanneauCentre = personneVue;
-
 
239
		panneauCentre.add(personneVue);
241
		panneauCentre.add(personneVue);
240
		personneVue.rafraichir(personnes);
Line 242... Line 241...
242
		personneVue.rafraichir(nouvelleDonnees);
241
		panneauCentre.layout();
-
 
242
	}
243
	}
243
 
244
 
244
	public void clicAjouterPersonne()	{
245
	public void clicAjouterPersonne()	{
245
		panneauCentre.removeAll();
246
		FormPersonneVue fPersonneVue = new FormPersonneVue();
-
 
247
		contenuPanneauCentre = fPersonneVue;
-
 
248
		panneauCentre.add(fPersonneVue);
-
 
249
	}
246
		FormPersonneVue formulairePersonneVue = new FormPersonneVue();
250
	
247
		contenuPanneauCentre = formulairePersonneVue;
Line 251... Line 248...
251
	public void selectionnerPersonneParNomComplet(Rafraichissable vue, String projetId, String nomComplet) {
248
		panneauCentre.add(formulairePersonneVue);
Line 252... Line 249...
252
		modele.selectionnerPersonne(vue, null, projetId, nomComplet);
249
		panneauCentre.layout();
Line 272... Line 269...
272
			}
269
			}
273
		} else {
270
		} else {
274
			Info.display("Erreur", "Une erreur est survenue dans la méthode clicSupprimerPersonne() du Médiateur.");
271
			Info.display("Erreur", "Une erreur est survenue dans la méthode clicSupprimerPersonne() du Médiateur.");
275
		}
272
		}
276
	}
273
	}
-
 
274
 
-
 
275
	public void selectionnerPersonneParNomComplet(Rafraichissable vue, String projetId, String nomComplet) {
-
 
276
		modele.selectionnerPersonne(vue, null, projetId, nomComplet);
-
 
277
	}
Line 277... Line 278...
277
	
278
	
278
	//+----------------------------------------------------------------------------------------------------------------+
279
	//+----------------------------------------------------------------------------------------------------------------+
279
	//												GESTION DES VALEURS ET LISTES
280
	//												GESTION DES VALEURS ET LISTES
Line 290... Line 291...
290
	//+----------------------------------------------------------------------------------------------------------------+
291
	//+----------------------------------------------------------------------------------------------------------------+
291
	//												GESTION DES PUBLICATIONS
292
	//												GESTION DES PUBLICATIONS
292
	//+----------------------------------------------------------------------------------------------------------------+
293
	//+----------------------------------------------------------------------------------------------------------------+
Line 293... Line 294...
293
 
294
 
294
	public void afficherListePublication(PublicationListe nouvelleDonnees) {
-
 
295
		
295
	public void afficherListePublication(PublicationListe nouvelleDonnees) {
296
		PublicationVue publicationVue = new PublicationVue() ;
296
		PublicationVue publicationVue = new PublicationVue() ;
297
		panneauCentre.removeAll();
297
		panneauCentre.removeAll();
298
		panneauCentre.add(publicationVue);
298
		panneauCentre.add(publicationVue);
299
		contenuPanneauCentre = publicationVue;
299
		contenuPanneauCentre = publicationVue;
Line 342... Line 342...
342
			}
342
			}
343
			else {
343
			else {
344
				message = "Voulez-vous vraiment supprimer ces publication ?";
344
				message = "Voulez-vous vraiment supprimer ces publication ?";
345
			}
345
			}
346
			if(Window.confirm(message)) {
346
			if(Window.confirm(message)) {
347
				modele.supprimerPublication(getUtilisateurId(),publicationListe);
347
				modele.supprimerPublication(contenuPanneauCentre, getUtilisateurId(),publicationListe);
348
			}
348
			}
349
		}
349
		}
Line 350... Line 350...
350
		
350
		
Line 351... Line 351...
351
	}
351
	}
352
 
-
 
353
	public void ajouterPublication(FormPublicationVue formPublicationVue,
352
 
354
			Publication publi) {
353
	public void ajouterPublication(FormPublicationVue formPublicationVue, Publication publi) {
Line 355... Line 354...
355
		modele.ajouterPublication(getUtilisateurId(),publi);
354
		modele.ajouterPublication(contenuPanneauCentre, getUtilisateurId(),publi);
356
	}
355
	}
357
	
356
	
Line 358... Line 357...
358
	public void modifierPublication(FormPublicationVue formPublicationVue, Publication publi) {
357
	public void modifierPublication(FormPublicationVue formPublicationVue, Publication publi) {
359
		modele.modifierPublication(getUtilisateurId(),publi);
358
		modele.modifierPublication(contenuPanneauCentre, getUtilisateurId(),publi);
Line 360... Line 359...
360
	}
359
	}
Line 361... Line 360...
361
 
360
 
362
	public void clicObtenirListeEditeurs(Rafraichissable r) {
361
	public void clicObtenirListeEditeurs(Rafraichissable vue) {
363
		modele.obtenirListeStructures(r,getUtilisateurId(), null);
362
		modele.selectionnerStructure(vue, null, null);
Line 364... Line 363...
364
		
363
		
365
	}
364
	}
366
 
365
 
Line 420... Line 419...
420
		} else if(structureSelection.size() > 0) {
419
		} else if(structureSelection.size() > 0) {
421
			String message = "Êtes vous sur de vouloir supprimer les structures sélectionnées ?";
420
			String message = "Êtes vous sur de vouloir supprimer les structures sélectionnées ?";
422
			if (structureSelection.size() == 1) {
421
			if (structureSelection.size() == 1) {
423
				message = "Êtes vous sur de vouloir supprimer la structure sélectionnée ?";
422
				message = "Êtes vous sur de vouloir supprimer la structure sélectionnée ?";
424
			}
423
			}
425
			if(Window.confirm(message)) { 
424
			if (Window.confirm(message)) { 
426
					String idStr = "" ;
425
					String idStr = "" ;
427
					for(int i = 0 ; i < structureSelection.size() ; i++) {
426
					for(int i = 0 ; i < structureSelection.size() ; i++) {
428
						idStr += structureSelection.get(i).getId()+"," ; 
427
						idStr += structureSelection.get(i).getId()+"," ; 
429
					}
428
					}
430
					modele.supprimerStructure(vue, getUtilisateurId(), idStr);
429
					modele.supprimerStructure(vue, getUtilisateurId(), idStr);
Line 434... Line 433...
434
		}
433
		}
435
	}
434
	}
Line 436... Line 435...
436
	
435
	
437
	public void selectionnerStructure(Rafraichissable vue, String structureId) {
436
	public void selectionnerStructure(Rafraichissable vue, String structureId) {
438
		GWT.log("Structure : "+structureId, null);
437
		GWT.log("Structure : "+structureId, null);
439
		modele.selectionnerStructure(vue, getUtilisateurId(), null, structureId);
438
		modele.selectionnerStructure(vue, null, structureId);
Line 440... Line 439...
440
	}
439
	}
441
	
440
	
442
	/**
441
	/**
443
	 * TODO : afficher un message du type "Structure ajoutée".  
442
	 * TODO : afficher un message du type "Structure ajoutée".  
444
	 * Lance la creation d'une structure
443
	 * Lance la creation d'une structure
445
	 * @param les données de la structure saisie
444
	 * @param les données de la structure saisie
446
	 */
445
	 */
447
	public void ajouterStructure(Rafraichissable vue, Structure structure) {
446
	public void ajouterStructure(Rafraichissable vue, Structure structure, StructureConservation conservation, StructureValorisation valorisation) {
Line 448... Line 447...
448
		modele.ajouterStructure(vue, getUtilisateurId(), structure);
447
		modele.ajouterStructure(vue, getUtilisateurId(), structure, conservation, valorisation);
449
	}
448
	}
450
	
449
	
Line 492... Line 491...
492
	
491
	
493
	/**
492
	/**
494
	 * Retourne l'identifiant du projet courrant de l'application.
493
	 * Retourne l'identifiant du projet courrant de l'application.
495
	 */
494
	 */
-
 
495
	public String getProjetId() {
496
	public String getProjetId() {
496
		String id = null;
-
 
497
		Projet projetCourant = (Projet) Registry.get(RegistreId.PROJET_COURANT);
-
 
498
		if (!projetCourant.getId().equals("")) {
-
 
499
			id = projetCourant.getId();
-
 
500
		}
497
		return Registry.get(RegistreId.PROJET);
501
		return id;
Line 498... Line 502...
498
	}
502
	}
499
	
503
	
500
	//Greg : ajout d'un écouteur pour le changement liste projet
504
	//Greg : ajout d'un écouteur pour le changement liste projet
501
	public void rafraichirListeProjets()	{
505
	public void selectionnerProjets(Rafraichissable vue)	{
Line 502... Line 506...
502
		((Modele) Registry.get(RegistreId.MODELE)).obtenirListeProjets();
506
		modele.selectionnerProjets(vue);
503
	}
507
	}
504
	
508
	
Line 505... Line 509...
505
	public void afficherListeProjets(ProjetListe projets)	{
509
	public void afficherListeProjets(ProjetListe projets)	{
506
		((MenuPanneauVue) Registry.get(RegistreId.PANNEAU_OUEST)).rafraichir(projets);
510
		panneauOuest.rafraichir(projets);
507
	}
511
	}
508
	
512
	
509
	public void selectionnerProjet(String selectedIndexValue) {
513
	public void selectionnerProjetCourant(Projet projetSelectionne) {
-
 
514
		Registry.register(RegistreId.PROJET_COURANT, projetSelectionne);
-
 
515
		if (contenuPanneauCentre instanceof PersonneVue)	{
510
		Registry.register(RegistreId.PROJET, selectedIndexValue);
516
			modele.selectionnerPersonne(contenuPanneauCentre, null, getProjetId(), null);
511
		if (contenuPanneauCentre instanceof PersonneVue)	{
517
			//FIXME Le rafraichissement du panneau ne se fait pas!
Line 512... Line -...
512
			((Modele) Registry.get(RegistreId.MODELE)).obtenirListePersonnes();
-
 
513
			//FIXME Le rafraichissement du panneau ne se fait pas!
-
 
514
		}
-
 
-
 
518
		} else if (contenuPanneauCentre instanceof StructureVue)	{
-
 
519
			modele.obtenirListeStructures(contenuPanneauCentre, getProjetId());
-
 
520
		}
515
	}
521
	}
516
	
-
 
517
}
-
 
518
 
-
 
519
 
-
 
520
 
-
 
521
 
-
 
522
 
-
 
523
 
-
 
524
 
-
 
525
 
-
 
526
 
-
 
-
 
522
	
-
 
523
	//+----------------------------------------------------------------------------------------------------------------+
-
 
524
	//	RAFRAICHISSEMENT
527
 
525
	//+----------------------------------------------------------------------------------------------------------------+
528
 
-
 
529
 
526
	
530
 
527
	public void rafraichir(Object nouvelleDonnees) {
531
 
528
		if (nouvelleDonnees instanceof Utilisateur) {