Subversion Repositories eFlore/Applications.coel

Rev

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

Rev 1561 Rev 1573
Line 478... Line 478...
478
		personnesSaisiesComboBox.getCombo().addListener(Events.Select, new Listener<BaseEvent>() {
478
		personnesSaisiesComboBox.getCombo().addListener(Events.Select, new Listener<BaseEvent>() {
479
			public void handleEvent(BaseEvent be) {		
479
			public void handleEvent(BaseEvent be) {		
480
				if (personnesSaisiesComboBox.getValeur() instanceof ModelData) {
480
				if (personnesSaisiesComboBox.getValeur() instanceof ModelData) {
481
					// N'ajouter l'auteur que s'il n'est pas déjà présent dans la grille et dans les valeurs initiales
481
					// N'ajouter l'auteur que s'il n'est pas déjà présent dans la grille et dans les valeurs initiales
482
					Personne personneSaisieSelectionnee = new Personne(personnesSaisiesComboBox.getValeur());
482
					Personne personneSaisieSelectionnee = new Personne(personnesSaisiesComboBox.getValeur());
-
 
483
					Log.debug("Récupération info combo :"+personneSaisieSelectionnee.toString());
483
					PublicationAPersonne pap = new PublicationAPersonne(false);					
484
					PublicationAPersonne pap = new PublicationAPersonne(aDonnee.GARDER_PREFIXE);					
484
					pap.setPersonne(personneSaisieSelectionnee, true);
485
					pap.setPersonne(personneSaisieSelectionnee, aDonnee.INTEGRER_PROPRIETES);
485
					pap.setOrdreAuteurs(String.valueOf(grilleAuteurs.getStore().getCount()+1));
486
					pap.setOrdreAuteurs(String.valueOf(grilleAuteurs.getStore().getCount()+1));
486
					if (modeDeCreation != Formulaire.MODE_AJOUTER) {
487
					if (modeDeCreation != Formulaire.MODE_AJOUTER) {
487
						pap.setPublicationLiee(publication);
488
						pap.setPublicationLiee(publication);
488
						pap.setIdPublication(publicationId);
489
						pap.setIdPublication(publicationId);
489
					}
490
					}
490
					if (grilleAuteurs.getStore().findModel(pap) != null)	{
491
					pap.setIdRole(PublicationAPersonne.ROLE_AUTEUR);
491
						Info.display("Information", "La personne est déjà présente dans la liste d'auteurs");
492
					Log.debug("Récupération info combo pap id :"+pap.getId());
492
					} else {
493
					
493
						ajouterDansGrille(pap);
494
					if (ajouterDansGrille(pap)) {
494
						personnesSaisiesComboBox.getCombo().setValue(null);
495
						personnesSaisiesComboBox.getCombo().setValue(null);
495
					}
496
					}
496
				}
497
				}
497
			}
498
			}
498
		});
499
		});
499
	}
500
	}
Line 500... Line 501...
500
	
501
	
501
	private void ajouterDansGrille(PublicationAPersonne pap) {
502
	private boolean ajouterDansGrille(PublicationAPersonne pap) {
502
		ajouterDansGrille(pap, grilleAuteurs.getStore().getCount());
503
		return ajouterDansGrille(pap, grilleAuteurs.getStore().getCount());
Line 503... Line 504...
503
	}
504
	}
-
 
505
	
504
	
506
	private boolean ajouterDansGrille(PublicationAPersonne pap, int index) {
-
 
507
		boolean ok = false;
505
	private void ajouterDansGrille(PublicationAPersonne pap, int index) {
508
		if (pap != null) {
506
		if (pap != null) {
509
			Log.debug("Début ajout dans grille :"+pap.toString());
507
			if (grilleAuteurs.getStore().contains(pap))	{
510
			if (grilleAuteurs.getStore().contains((ModelData) pap))	{
508
				InfoLogger.display("Information", "La personne choisie existe déjà dans la liste.");
511
				InfoLogger.display("Information", "La personne choisie existe déjà dans la liste d'auteurs.");
509
			} else {
512
			} else {
510
				// 1) si elle ne fait pas partie des initiaux, ajouter à la liste à ajouter
513
				// 1) si elle ne fait pas partie des initiaux, ajouter à la liste à ajouter
-
 
514
				if (!auteursInitialListe.containsValue(pap))	{
511
				if (!auteursInitialListe.containsValue(pap))	{
515
					auteursAjoutes.put(pap.getId(), pap);
Line 512... Line 516...
512
					auteursAjoutes.put(pap.getId(), pap);
516
					Log.debug("Ajout dans grille -> auteur '"+pap.getId()+"' a été ajouté à la liste des ajoutés (il ne fait pas parti de la liste initiale).");
513
				}
517
				}
514
				
518
				
-
 
519
				// L'enlever de la liste à supprimer
515
				// L'enlever de la liste à supprimer
520
				if (auteursSupprimes.containsValue(pap))	{
Line 516... Line 521...
516
				if (auteursSupprimes.containsValue(pap))	{
521
					auteursSupprimes.remove(pap);
517
					auteursSupprimes.remove(pap);
522
					Log.debug("Ajout dans grille -> auteur '"+pap.getId()+"' a été retiré de la liste des supprimés.");
518
				}
523
				}
-
 
524
				
519
				
525
				// 2) Ajouter a la grille
520
				// 2) Ajouter a la grille
526
				grilleAuteurs.getStore().insert((ModelData) pap, index);
-
 
527
				grilleAuteurs.getSelectionModel().select(index, false);
521
				grilleAuteurs.getStore().insert(pap, index);
528
				ok = true;
Line 522... Line 529...
522
				grilleAuteurs.getSelectionModel().select(index, false);
529
			}
523
			}
530
		}
524
		}
531
		return ok;
-
 
532
	}
525
	}
533
	
526
	
534
	private void supprimerDansGrille() {
527
	private void supprimerDansGrille() {
535
		ModelData donneeSelectionnee = grilleAuteurs.getSelectionModel().getSelectedItem();
528
		ModelData donneeSelectionnee = grilleAuteurs.getSelectionModel().getSelectedItem();
536
		PublicationAPersonne personneSelectionnee = new PublicationAPersonne(donneeSelectionnee, aDonnee.GARDER_PREFIXE);
529
		PublicationAPersonne personneSelectionnee = new PublicationAPersonne(donneeSelectionnee, false);
537
		Log.debug("Début supprimer auteur dans grille : "+personneSelectionnee.toString());
530
		if (personneSelectionnee.getId() == null) {
538
		if (personneSelectionnee.getId() == null) {
531
			InfoLogger.display(i18nC.informationTitreGenerique(), i18nC.selectionnerAuteur());
539
			InfoLogger.display(i18nC.informationTitreGenerique(), i18nC.selectionnerAuteur());
532
		} else {
540
		} else {
Line 533... Line 541...
533
			// 1) Ajouter a la liste des personne à supprimer uniquement si est présente dans la liste initiale
541
			// 1) Ajouter a la liste des personne à supprimer uniquement si est présente dans la liste initiale
534
			if (auteursInitialListe.containsKey(personneSelectionnee.getId())) {
542
			if (auteursInitialListe.containsKey(personneSelectionnee.getId())) {
535
				auteursSupprimes.put(personneSelectionnee.getId(), personneSelectionnee);
543
				auteursSupprimes.put(personneSelectionnee.getId(), personneSelectionnee);
Line 536... Line 544...
536
				Log.debug("Ajout Personne à supprimer : "+auteursSupprimes.toString());
544
				Log.debug("Ajout Personne à supprimer : "+auteursSupprimes.toString());
537
			}
545
			}
538
			
546
			
Line 539... Line 547...
539
			if (auteursAjoutes.containsValue(personneSelectionnee))	{
547
			if (auteursAjoutes.containsKey(personneSelectionnee.getId()))	{
540
				auteursAjoutes.remove(personneSelectionnee);
548
				auteursAjoutes.remove(personneSelectionnee.getId());
541
			}
549
			}
Line 610... Line 618...
610
			public void handleEvent(LoadEvent be) {  				
618
			public void handleEvent(LoadEvent be) {  				
611
				List<ModelData> auteurs = grilleAuteurs.getStore().getModels();
619
				List<ModelData> auteurs = grilleAuteurs.getStore().getModels();
612
				Iterator<ModelData> itAuteurs = auteurs.iterator();
620
				Iterator<ModelData> itAuteurs = auteurs.iterator();
613
				while (itAuteurs.hasNext())	{
621
				while (itAuteurs.hasNext())	{
614
					ModelData selection = itAuteurs.next();
622
					ModelData selection = itAuteurs.next();
615
					PublicationAPersonne auteur = new PublicationAPersonne(selection, false);
623
					PublicationAPersonne pap = new PublicationAPersonne(selection, aDonnee.GARDER_PREFIXE);
616
					auteursInitialListe.put(auteur.getId(), auteur);
624
					auteursInitialListe.put(pap.getId(), pap);
-
 
625
					Log.debug("PublicationAPersonne ajoutée à la liste initiale avec l'id :"+pap.getId()+pap.toString()+selection.getProperties().toString());
617
				}
626
				}
618
				Log.debug("Initialisation liste auteur :"+auteursInitialListe.size());
627
				Log.debug("Initialisation liste auteur :"+auteursInitialListe.size());
619
			}  
628
			}  
620
		});
629
		});