Subversion Repositories eFlore/Applications.coel

Rev

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

Rev 1373 Rev 1375
Line 15... Line 15...
15
import org.tela_botanica.client.interfaces.Rafraichissable;
15
import org.tela_botanica.client.interfaces.Rafraichissable;
16
import org.tela_botanica.client.modeles.Information;
16
import org.tela_botanica.client.modeles.Information;
17
import org.tela_botanica.client.modeles.MenuApplicationId;
17
import org.tela_botanica.client.modeles.MenuApplicationId;
18
import org.tela_botanica.client.modeles.Valeur;
18
import org.tela_botanica.client.modeles.Valeur;
19
import org.tela_botanica.client.modeles.aDonnee;
19
import org.tela_botanica.client.modeles.aDonnee;
-
 
20
import org.tela_botanica.client.modeles.collection.CollectionAPersonne;
20
import org.tela_botanica.client.modeles.personne.Personne;
21
import org.tela_botanica.client.modeles.personne.Personne;
21
import org.tela_botanica.client.modeles.personne.PersonneListe;
22
import org.tela_botanica.client.modeles.personne.PersonneListe;
22
import org.tela_botanica.client.modeles.projet.Projet;
23
import org.tela_botanica.client.modeles.projet.Projet;
23
import org.tela_botanica.client.modeles.projet.ProjetListe;
24
import org.tela_botanica.client.modeles.projet.ProjetListe;
24
import org.tela_botanica.client.modeles.publication.Publication;
25
import org.tela_botanica.client.modeles.publication.Publication;
Line 117... Line 118...
117
	
118
	
Line 118... Line 119...
118
	private LayoutContainer zoneHaut, zoneBas;
119
	private LayoutContainer zoneHaut, zoneBas;
119
	
120
	
120
	private ToolBar barreOutils = null;
121
	private ToolBar barreOutils = null;
121
	private EditorGrid<Personne> grille;
122
	private EditorGrid<Personne> grille;
122
	private ComboBox<Personne> personnesSaisiesComboBox = null;
123
	private ChampComboBoxRechercheTempsReelPaginable personnesSaisiesComboBox = null;
123
	private Button personnesBoutonSupprimer = null;
124
	private Button personnesBoutonSupprimer = null;
Line 124... Line 125...
124
	private Button personnesBoutonModifier = null;
125
	private Button personnesBoutonModifier = null;
Line 190... Line 191...
190
		Button ajouterBouton = creerBoutonAjouter();
191
		Button ajouterBouton = creerBoutonAjouter();
191
		barreOutils.add(ajouterBouton);
192
		barreOutils.add(ajouterBouton);
Line 192... Line 193...
192
		
193
		
Line 193... Line 194...
193
		barreOutils.add(new Text(" ou "));
194
		barreOutils.add(new Text(" ou "));
194
		
195
		
Line 195... Line 196...
195
		personnesSaisiesComboBox = creerComboBoxPersonnesSaisies();
196
		creerComboBoxPersonnesSaisies();
Line 196... Line 197...
196
		barreOutils.add(personnesSaisiesComboBox);
197
		barreOutils.add(personnesSaisiesComboBox);
Line 330... Line 331...
330
			grille.getStore().removeAll();
331
			grille.getStore().removeAll();
331
			layout();
332
			layout();
332
		}
333
		}
333
	}
334
	}
Line 334... Line 335...
334
	
335
	
335
	private ComboBox<Personne> creerComboBoxPersonnesSaisies() {
336
	private void creerComboBoxPersonnesSaisies() {
336
		ListStore<Personne> personnesSaisiesStore = new ListStore<Personne>();
-
 
337
		
337
		ModelType modelTypePersonnes = new ModelType();
338
		ComboBox<Personne> comboBox = new ComboBox<Personne>();
-
 
339
		comboBox.setWidth(400);
338
		modelTypePersonnes.setRoot("personnes");
340
		comboBox.setEmptyText(i18nC.chercherPersonneSaisi());
339
		modelTypePersonnes.setTotalName("nbElements");
341
		comboBox.setTriggerAction(TriggerAction.ALL);  
340
		modelTypePersonnes.addField("cp_fmt_nom_complet");
342
		comboBox.setEditable(true);
341
		modelTypePersonnes.addField("cp_id_personne");
343
		comboBox.setDisplayField("fmt_nom_complet");
342
		modelTypePersonnes.addField("cp_code_postal");
344
		comboBox.setStore(personnesSaisiesStore);
343
		modelTypePersonnes.addField("cp_ville");
-
 
344
		modelTypePersonnes.addField("cp_truk_courriel");
345
		comboBox.addKeyListener(new KeyListener() {
345
		
346
			public void componentKeyUp(ComponentEvent ce) {
346
		String displayNamePersonnes = "cp_fmt_nom_complet";
347
				if (personnesSaisiesComboBox.getRawValue() != null && personnesSaisiesComboBox.getRawValue().length() > 0) {
-
 
-
 
347
		ProxyPersonnes<ModelData> proxyPersonnes = new ProxyPersonnes<ModelData>(sequenceur);
348
					if (!ce.isNavKeyPress()) {
348
		
349
						obtenirPersonnesSaisies(personnesSaisiesComboBox.getRawValue());
-
 
350
					}
-
 
351
				}
349
		personnesSaisiesComboBox = new ChampComboBoxRechercheTempsReelPaginable(proxyPersonnes, modelTypePersonnes, displayNamePersonnes);
352
			}
-
 
353
		});
350
		
354
		comboBox.addListener(Events.Select, new Listener<BaseEvent>() {
351
		personnesSaisiesComboBox.getCombo().addListener(Events.Select, new Listener<BaseEvent>() {
355
			public void handleEvent(BaseEvent be) {
352
			public void handleEvent(BaseEvent be) {				
356
				if (personnesSaisiesComboBox.getValue() instanceof Personne) {
353
				if (personnesSaisiesComboBox.getValeur() instanceof ModelData) {
357
					// N'ajouter l'auteur que s'il n'est pas déjà présent dans la grille et dans les valeurs initiales
354
					// N'ajouter l'auteur que s'il n'est pas déjà présent dans la grille et dans les valeurs initiales
358
					Personne personneSaisieSelectionne = personnesSaisiesComboBox.getValue();
355
					Personne personneSaisieSelectionnee = new Personne(personnesSaisiesComboBox.getValeur());
359
					if (grille.getStore().findModel(personneSaisieSelectionne) != null)	{
356
					if (grille.getStore().findModel(personneSaisieSelectionnee) != null)	{
360
						Info.display("Information", "La personne est déjà présente dans la liste d'auteurs");
357
						Info.display("Information", "La personne est déjà présente dans la liste d'auteurs");
361
					} else {
358
					} else {
362
						if (!auteursInitialListe.containsValue(personneSaisieSelectionne))	{
359
						if (!auteursInitialListe.containsValue(personneSaisieSelectionnee))	{
363
							auteursAjoutes.put(personneSaisieSelectionne.getId(), personneSaisieSelectionne);
360
							auteursAjoutes.put(personneSaisieSelectionnee.getId(), personneSaisieSelectionnee);
364
						}
361
						}
365
						ajouterDansGrille(personneSaisieSelectionne);
362
						ajouterDansGrille(personneSaisieSelectionnee);
366
						personnesSaisiesComboBox.setValue(null);
363
						personnesSaisiesComboBox.getCombo().setValue(null);
367
					}
364
					}
368
				}
365
				}
369
			}
366
			}
370
		});
-
 
371
		return comboBox;
367
		});
Line 372... Line 368...
372
	}
368
	}
373
	
369
	
374
	private void obtenirPersonnesSaisies(String nom) {
370
	private void obtenirPersonnesSaisies(String nom) {
Line 652... Line 648...
652
			// Si on a reçu les details d'une publication
648
			// Si on a reçu les details d'une publication
653
			publication = (Publication) nouvellesDonnees;
649
			publication = (Publication) nouvellesDonnees;
654
		} else if (nouvellesDonnees instanceof PublicationAPersonneListe) {
650
		} else if (nouvellesDonnees instanceof PublicationAPersonneListe) {
655
			rafraichirListeAuteurs((PublicationAPersonneListe) nouvellesDonnees);
651
			rafraichirListeAuteurs((PublicationAPersonneListe) nouvellesDonnees);
656
		} else if (nouvellesDonnees instanceof Information) {
652
		} else if (nouvellesDonnees instanceof Information) {
657
			rafraichirInformation((Information) nouvellesDonnees);	
653
			rafraichirInformation((Information) nouvellesDonnees);
658
		} else {
654
		} else {
659
			GWT.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null);
655
			GWT.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null);
660
		}
656
		}
661
	}
657
	}
Line 703... Line 699...
703
		} else if (type.equals("chargement_modifier_ok"))	{
699
		} else if (type.equals("chargement_modifier_ok"))	{
704
			peuplerFormulaire();
700
			peuplerFormulaire();
705
			genererTitreFormulaire();
701
			genererTitreFormulaire();
706
		}
702
		}
Line 707... Line 703...
707
		
703
		
708
		if (info.getType().equals("liste_personne")) {
704
		/*if (info.getType().equals("liste_personne")) {
709
			PersonneListe listePersonneAuteur = (PersonneListe) info.getDonnee(0);
705
			PersonneListe listePersonneAuteur = (PersonneListe) info.getDonnee(0);
710
			ListStore store = personnesSaisiesComboBox.getStore();
706
			ListStore store = personnesSaisiesComboBox.getStore();
711
			store.removeAll();
707
			store.removeAll();
Line -... Line 708...
-
 
708
			store.add(listePersonneAuteur.toList());
-
 
709
		
-
 
710
		} else */
-
 
711
		if (type.equals("personne_ajoutee")) {
-
 
712
			if (info.getDonnee(0) != null) {
-
 
713
				Personne personne = (Personne) info.getDonnee(0);
-
 
714
				ajouterDansGrille(personne);
-
 
715
			}
-
 
716
		} else if (type.equals("personne_modifiee")) {
-
 
717
			if (info.getDonnee(0) != null) {
-
 
718
				Personne personne = (Personne) info.getDonnee(0);
-
 
719
				Personne personneDansGrille = grille.getStore().findModel("id_personne", personne.getId());
-
 
720
				int index = grille.getStore().indexOf(personneDansGrille);
-
 
721
				grille.getStore().remove(personneDansGrille);
712
			store.add(listePersonneAuteur.toList());
722
				ajouterDansGrille(personne, index);
713
		
723
			}
714
		} else if (info.getType().equals("modif_publication")) {
724
		} else if (info.getType().equals("modif_publication")) {
715
			InfoLogger.display("Modification d'une publication", info.toString());
725
			InfoLogger.display("Modification d'une publication", info.toString());
716
		} else if (info.getType().equals("ajout_publication")) {
726
		} else if (info.getType().equals("ajout_publication")) {