Subversion Repositories eFlore/Applications.coel

Rev

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

Rev 1470 Rev 1479
Line 1... Line 1...
1
package org.tela_botanica.client.vues.collection;
1
package org.tela_botanica.client.vues.collection;
Line 2... Line 2...
2
 
2
 
-
 
3
import java.util.ArrayList;
3
import java.util.ArrayList;
4
import java.util.HashMap;
Line 4... Line 5...
4
import java.util.List;
5
import java.util.List;
5
 
6
 
6
import org.tela_botanica.client.ComposantClass;
7
import org.tela_botanica.client.ComposantClass;
-
 
8
import org.tela_botanica.client.Mediateur;
7
import org.tela_botanica.client.Mediateur;
9
import org.tela_botanica.client.composants.ChampComboBoxRechercheTempsReelPaginable;
-
 
10
import org.tela_botanica.client.composants.GrillePaginable;
-
 
11
import org.tela_botanica.client.composants.InfoLogger;
8
import org.tela_botanica.client.composants.ChampComboBoxRechercheTempsReelPaginable;
12
import org.tela_botanica.client.composants.pagination.ProxyCollectionAPersonne;
9
import org.tela_botanica.client.composants.InfoLogger;
13
import org.tela_botanica.client.composants.pagination.ProxyCollectionAPublication;
10
import org.tela_botanica.client.composants.pagination.ProxyProjets;
14
import org.tela_botanica.client.composants.pagination.ProxyProjets;
11
import org.tela_botanica.client.composants.pagination.ProxyPublications;
15
import org.tela_botanica.client.composants.pagination.ProxyPublications;
12
import org.tela_botanica.client.images.Images;
16
import org.tela_botanica.client.images.Images;
Line 54... Line 58...
54
import com.extjs.gxt.ui.client.widget.grid.ColumnModel;
58
import com.extjs.gxt.ui.client.widget.grid.ColumnModel;
55
import com.extjs.gxt.ui.client.widget.grid.EditorGrid;
59
import com.extjs.gxt.ui.client.widget.grid.EditorGrid;
56
import com.extjs.gxt.ui.client.widget.grid.Grid;
60
import com.extjs.gxt.ui.client.widget.grid.Grid;
57
import com.extjs.gxt.ui.client.widget.grid.GridCellRenderer;
61
import com.extjs.gxt.ui.client.widget.grid.GridCellRenderer;
58
import com.extjs.gxt.ui.client.widget.grid.GridSelectionModel;
62
import com.extjs.gxt.ui.client.widget.grid.GridSelectionModel;
-
 
63
import com.extjs.gxt.ui.client.widget.grid.HeaderGroupConfig;
59
import com.extjs.gxt.ui.client.widget.grid.RowExpander;
64
import com.extjs.gxt.ui.client.widget.grid.RowExpander;
60
import com.extjs.gxt.ui.client.widget.grid.RowNumberer;
65
import com.extjs.gxt.ui.client.widget.grid.RowNumberer;
61
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
66
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
62
import com.extjs.gxt.ui.client.widget.layout.FlowLayout;
67
import com.extjs.gxt.ui.client.widget.layout.FlowLayout;
63
import com.extjs.gxt.ui.client.widget.toolbar.SeparatorToolItem;
68
import com.extjs.gxt.ui.client.widget.toolbar.SeparatorToolItem;
Line 70... Line 75...
70
	private Collection collection = null;
75
	private Collection collection = null;
71
	private static int idGenere = 1;
76
	private static int idGenere = 1;
Line 72... Line 77...
72
	
77
	
73
	private ContentPanel panneauPrincipal = null;
78
	private ContentPanel panneauPrincipal = null;
74
	private ToolBar barreOutils = null;
79
	private ToolBar barreOutils = null;
Line 75... Line 80...
75
	private EditorGrid<CollectionAPublication> grille;
80
	private GrillePaginable<ModelData> grille;
76
	
81
	
77
	private CollectionAPublicationListe publicationsAjoutees = null;
82
	private CollectionAPublicationListe publicationsAjoutees = null;
78
	private CollectionAPublicationListe publicationsSupprimees = null;
83
	private CollectionAPublicationListe publicationsSupprimees = null;
Line 86... Line 91...
86
		
91
		
87
		initialiserOnglet(formulaireCourrant);
92
		initialiserOnglet(formulaireCourrant);
88
		setId(ID);
93
		setId(ID);
89
		setText(Mediateur.i18nC.collectionPublication());
94
		setText(Mediateur.i18nC.collectionPublication());
-
 
95
		setStyleAttribute("padding", "0");
-
 
96
		
-
 
97
		initialiser();
90
		setStyleAttribute("padding", "0");
98
		
91
		panneauPrincipal = creerPanneauContenantGrille();
99
		panneauPrincipal = creerPanneauContenantGrille();
92
		setLayout(new FitLayout());
100
		setLayout(new FitLayout());
93
		barreOutils = creerBarreOutilsGrille();
101
		barreOutils = creerBarreOutilsGrille();
94
		panneauPrincipal.setTopComponent(barreOutils);
102
		panneauPrincipal.setTopComponent(barreOutils);
95
		grille = creerGrille();
103
		grille = creerGrille();
96
		panneauPrincipal.setLayout(new FitLayout());
104
		panneauPrincipal.setLayout(new FitLayout());
Line 97... Line 105...
97
		panneauPrincipal.add(grille);
105
		panneauPrincipal.add(grille);
98
		
-
 
99
		add(panneauPrincipal);
-
 
100
		
106
		
Line 101... Line 107...
101
		initialiser();
107
		add(panneauPrincipal);		
102
	}
108
	}
103
	
109
	
104
	private void initialiser() {
110
	private void initialiser() {
105
		// Remise à zéro des modification dans la liste des auteurs
111
		// Remise à zéro des modification dans la liste des auteurs
Line 106... Line -...
106
		idGenere = 1;
-
 
107
		publicationsAjoutees = new CollectionAPublicationListe();
-
 
108
		publicationsSupprimees = new CollectionAPublicationListe();
-
 
109
		
112
		idGenere = 1;
110
		// Actualisation de l'état des boutons de la barre d'outils
113
		publicationsAjoutees = new CollectionAPublicationListe();
Line 111... Line 114...
111
		actualiserEtatBoutonsBarreOutils();
114
		publicationsSupprimees = new CollectionAPublicationListe();
112
		
115
		
Line 168... Line 171...
168
	private Button creerBoutonModifier() {
171
	private Button creerBoutonModifier() {
169
		Button bouton = new Button(i18nC.modifier());
172
		Button bouton = new Button(i18nC.modifier());
170
		bouton.setIcon(Images.ICONES.vcardModifier());
173
		bouton.setIcon(Images.ICONES.vcardModifier());
171
		bouton.addSelectionListener(new SelectionListener<ButtonEvent>() {  
174
		bouton.addSelectionListener(new SelectionListener<ButtonEvent>() {  
172
			public void componentSelected(ButtonEvent ce) {  
175
			public void componentSelected(ButtonEvent ce) {  
173
				CollectionAPublication publicationSaisieSelectionnee = grille.getSelectionModel().getSelectedItem();
176
				ModelData publicationSaisieSelectionnee = grille.getGrille().getSelectionModel().getSelectedItem();
174
				
-
 
175
				if (publicationSaisieSelectionnee == null) {
177
				if (publicationSaisieSelectionnee == null) {
176
					InfoLogger.display(i18nC.informationTitreGenerique(), i18nC.selectionnerPublication());
178
					InfoLogger.display(i18nC.informationTitreGenerique(), i18nC.selectionnerPublication());
177
				} else {
179
				} else {
178
					fenetreFormulaire = creerFenetreModaleAvecFormulairePublication(Formulaire.MODE_MODIFIER);
180
					fenetreFormulaire = creerFenetreModaleAvecFormulairePublication(Formulaire.MODE_MODIFIER);
179
					fenetreFormulaire.show();
181
					fenetreFormulaire.show();
Line 184... Line 186...
184
	}
186
	}
Line 185... Line 187...
185
	
187
	
186
	private FenetreForm creerFenetreModaleAvecFormulairePublication(String mode) {
188
	private FenetreForm creerFenetreModaleAvecFormulairePublication(String mode) {
187
		String publicationId = null;
189
		String publicationId = null;
188
		if (mode.equals(Formulaire.MODE_MODIFIER)) {
190
		if (mode.equals(Formulaire.MODE_MODIFIER)) {
189
			CollectionAPublication publicationSaisiSelectionne = grille.getSelectionModel().getSelectedItem();
191
			CollectionAPublication publicationSaisiSelectionne = new CollectionAPublication(grille.getGrille().getSelectionModel().getSelectedItem(), false);
190
			publicationId = publicationSaisiSelectionne.getIdPublication();
192
			publicationId = publicationSaisiSelectionne.getIdPublication();
Line 191... Line 193...
191
		}
193
		}
192
		
194
		
Line 238... Line 240...
238
	private Button creerBoutonSupprimer() {
240
	private Button creerBoutonSupprimer() {
239
		Button bouton = new Button(i18nC.supprimer());
241
		Button bouton = new Button(i18nC.supprimer());
240
		bouton.setIcon(Images.ICONES.vcardSupprimer());
242
		bouton.setIcon(Images.ICONES.vcardSupprimer());
241
		bouton.addSelectionListener(new SelectionListener<ButtonEvent>() {  
243
		bouton.addSelectionListener(new SelectionListener<ButtonEvent>() {  
242
			public void componentSelected(ButtonEvent ce) {
244
			public void componentSelected(ButtonEvent ce) {
243
				CollectionAPublication publicationSaisieSelectionnee = grille.getSelectionModel().getSelectedItem();
245
				CollectionAPublication publicationSaisieSelectionnee = new CollectionAPublication(grille.getGrille().getSelectionModel().getSelectedItem(), false);
244
				if (publicationSaisieSelectionnee == null) {
246
				if (publicationSaisieSelectionnee == null) {
245
					InfoLogger.display(i18nC.informationTitreGenerique(), i18nC.selectionnerPublication());
247
					InfoLogger.display(i18nC.informationTitreGenerique(), i18nC.selectionnerPublication());
246
				} else {
248
				} else {
247
					supprimerDansGrille(publicationSaisieSelectionnee);
249
					supprimerDansGrille(publicationSaisieSelectionnee);
248
				}
250
				}
Line 315... Line 317...
315
		});
317
		});
Line 316... Line 318...
316
		
318
		
317
		publicationsCombo.getCombo().addListener(Events.Select, new Listener<BaseEvent>() {
319
		publicationsCombo.getCombo().addListener(Events.Select, new Listener<BaseEvent>() {
318
			public void handleEvent(BaseEvent be) {
320
			public void handleEvent(BaseEvent be) {
319
				if (publicationsSaisiesComboBox.getValeur() instanceof ModelData) {
321
				if (publicationsSaisiesComboBox.getValeur() instanceof ModelData) {
320
					Publication publicationSaisieSelectionne = new Publication(publicationsSaisiesComboBox.getValeur());
322
					Publication publicationSaisieSelectionne = new Publication(publicationsSaisiesComboBox.getValeur(), false);					
321
					ajouterDansGrille(publicationSaisieSelectionne);
323
					ajouterDansGrille(publicationSaisieSelectionne);
322
					publicationsSaisiesComboBox.getCombo().setValue(null);
324
					publicationsSaisiesComboBox.getCombo().setValue(null);
323
				}
325
				}
324
			}
326
			}
Line 330... Line 332...
330
	private void ajouterDansGrille(Publication publication) {
332
	private void ajouterDansGrille(Publication publication) {
331
		ajouterDansGrille(publication, 0);
333
		ajouterDansGrille(publication, 0);
332
	}
334
	}
Line 333... Line 335...
333
	
335
	
334
	private void ajouterDansGrille(Publication publication, int index) {
336
	private void ajouterDansGrille(Publication publication, int index) {
335
		if (publication != null) {
337
		if (publication != null) {			
336
			CollectionAPublication publicationLiee = new CollectionAPublication();
338
			CollectionAPublication publicationLiee = new CollectionAPublication(false);
337
			publicationLiee.setPublication(publication);
339
			publicationLiee.setPublication(publication);
-
 
340
			publicationLiee.setIdPublication(publication.getId());
338
			publicationLiee.setIdPublication(publication.getId());
341
			
339
			// Gestion de l'id de la collection
342
			// Gestion de l'id de la collection
340
			if (mode.equals(Formulaire.MODE_MODIFIER)) {
343
			if (mode.equals(Formulaire.MODE_MODIFIER)) {
341
				publicationLiee.setIdCollection(collection.getId());
344
				publicationLiee.setIdCollection(collection.getId());
342
			}
345
			}
Line 343... Line -...
343
			publicationLiee.set("_etat_", aDonnee.ETAT_AJOUTE);
-
 
344
			
346
			publicationLiee.set("_etat_", aDonnee.ETAT_AJOUTE);
345
			// Ajout à la grille
347
			
346
			grille.stopEditing();
348
			grille.getGrille().stopEditing();
347
			grille.getStore().insert(publicationLiee, 0);
349
			grille.getGrille().getStore().insert(publicationLiee, 0);
348
			grille.startEditing(index, 0);
350
			grille.getGrille().startEditing(index, 0);
349
			grille.getSelectionModel().select(index, false);
351
			grille.getGrille().getSelectionModel().select(index, false);
Line 350... Line 352...
350
		}
352
		}
351
	}
353
	}
Line 361... Line 363...
361
			
363
			
362
			// Suppression de l'enregistrement de la grille
364
			// Suppression de l'enregistrement de la grille
363
			grille.getStore().remove(publicationLiee);
365
			grille.getStore().remove(publicationLiee);
364
		}
366
		}
365
	}
367
	}
366
 
368
	
367
	private EditorGrid<CollectionAPublication> creerGrille() {
-
 
368
		ListStore<CollectionAPublication> storeGrille = new ListStore<CollectionAPublication>();
-
 
369
		storeGrille.addListener(Store.Add, new Listener<StoreEvent<CollectionAPublication>>() {
-
 
370
			public void handleEvent(StoreEvent<CollectionAPublication> ce) {
-
 
371
				actualiserEtatBoutonsBarreOutils();
-
 
372
			}
-
 
373
		});
-
 
374
		storeGrille.addListener(Store.Remove, new Listener<StoreEvent<CollectionAPublication>>() {
-
 
375
			public void handleEvent(StoreEvent<CollectionAPublication> ce) {
-
 
376
				actualiserEtatBoutonsBarreOutils();
-
 
377
			}
-
 
Line -... Line 369...
-
 
369
	private GrillePaginable<ModelData> creerGrille() {
-
 
370
		
-
 
371
		GrillePaginable<ModelData> grillePublications = null;
-
 
372
		
-
 
373
		// ModelType
-
 
374
		ModelType modelTypeCollectionAPublication = new ModelType();
-
 
375
		modelTypeCollectionAPublication.setRoot("collectionsAPublication");
-
 
376
		modelTypeCollectionAPublication.setTotalName("nbElements");
-
 
377
		modelTypeCollectionAPublication.addField("ccapu_id_collection");
-
 
378
		modelTypeCollectionAPublication.addField("ccapu_id_publication");
-
 
379
		modelTypeCollectionAPublication.addField("ccapu_mark_licence");
-
 
380
		modelTypeCollectionAPublication.addField("cpu_id_publication");
-
 
381
		modelTypeCollectionAPublication.addField("cpu_fmt_auteur");
-
 
382
		modelTypeCollectionAPublication.addField("cpu_titre");
-
 
383
		modelTypeCollectionAPublication.addField("cpu_collection");
-
 
384
		modelTypeCollectionAPublication.addField("cpu_ce_truk_editeur");
-
 
385
		modelTypeCollectionAPublication.addField("cpu_date_parution");
-
 
386
		modelTypeCollectionAPublication.addField("cpu_fascicule");
-
 
387
		modelTypeCollectionAPublication.addField("cpu_truk_pages");
-
 
388
		modelTypeCollectionAPublication.addField("cpu_indication_nvt");
-
 
389
		
-
 
390
		// Proxy
-
 
391
		ProxyCollectionAPublication<ModelData> proxyCollectionAPublication = new ProxyCollectionAPublication<ModelData>(null, collection.getId(), null);		
-
 
392
 
378
		});
393
		// Colonnes
379
		
394
		List<ColumnConfig> colonnes = new ArrayList<ColumnConfig>();
380
		RowNumberer numeroPlugin = new RowNumberer();
-
 
381
		numeroPlugin.setHeader("#");
395
		RowNumberer numeroPlugin = new RowNumberer();
382
		
396
		numeroPlugin.setHeader("#");
383
		XTemplate infoTpl = XTemplate.create("<p>"+
397
		XTemplate infoTpl = XTemplate.create("<p>"+
384
			"<span style='font-weight:bold;'>"+i18nC.publicationAuteurs()+" :</span> {fmt_auteur}<br />"+
398
			"<span style='font-weight:bold;'>"+i18nC.publicationAuteurs()+" :</span> {fmt_auteur}<br />"+
385
			"<span style='font-weight:bold;'>"+i18nC.publicationTitre()+" :</span> {titre}<br />"+
399
			"<span style='font-weight:bold;'>"+i18nC.publicationTitre()+" :</span> {titre}<br />"+
386
			"<span style='font-weight:bold;'>"+i18nC.publicationRevueCollection()+" :</span> {collection}<br />"+
400
			"<span style='font-weight:bold;'>"+i18nC.publicationRevueCollection()+" :</span> {collection}<br />"+
387
			"<span style='font-weight:bold;'>"+i18nC.publicationEditeur()+" :</span> {_editeur_}"+
401
			"<span style='font-weight:bold;'>"+i18nC.publicationEditeur()+" :</span> {_editeur_}"+
388
			"</p>");  
402
			"</p>");  
389
		RowExpander expansionPlugin = new RowExpander();  
-
 
390
		expansionPlugin.setTemplate(infoTpl);
-
 
391
		
403
		RowExpander expansionPlugin = new RowExpander();  
392
		List<ColumnConfig> colonnes = new ArrayList<ColumnConfig>();
404
		expansionPlugin.setTemplate(infoTpl);
393
		colonnes.add(expansionPlugin);
405
		colonnes.add(expansionPlugin);
394
		colonnes.add(numeroPlugin);
406
		colonnes.add(numeroPlugin);
395
		colonnes.add(new ColumnConfig("fmt_auteur", i18nC.publicationAuteurs(), 150));
407
		colonnes.add(new ColumnConfig("cpu_fmt_auteur", i18nC.publicationAuteurs(), 150));
396
		colonnes.add(new ColumnConfig("titre", i18nC.publicationTitre(), 150));
408
		colonnes.add(new ColumnConfig("cpu_titre", i18nC.publicationTitre(), 150));
397
		colonnes.add(new ColumnConfig("collection", i18nC.publicationRevueCollection(), 75));
409
		colonnes.add(new ColumnConfig("cpu_collection", i18nC.publicationRevueCollection(), 75));
398
		colonnes.add(creerColonneEditeur());
410
		colonnes.add(creerColonneEditeur());
399
		colonnes.add(creerColonneAnneePublication());
411
		colonnes.add(creerColonneAnneePublication());
400
		colonnes.add(new ColumnConfig("indication_nvt", i18nC.publicationNvt(), 75));
412
		colonnes.add(new ColumnConfig("cpu_indication_nvt", i18nC.publicationNvt(), 75));
401
		colonnes.add(new ColumnConfig("fascicule", i18nC.publicationFascicule(), 75));
413
		colonnes.add(new ColumnConfig("cpu_fascicule", i18nC.publicationFascicule(), 75));
402
		colonnes.add(new ColumnConfig("truk_pages", i18nC.publicationPage(), 50));
414
		colonnes.add(new ColumnConfig("cpu_truk_pages", i18nC.publicationPage(), 50));
-
 
415
		
-
 
416
		HashMap<String, String> virtualFields = new HashMap<String, String>();
-
 
417
		virtualFields.put("_editeur_", "cpu_ce_truk_editeur");
Line -... Line 418...
-
 
418
		virtualFields.put("_annee_", "cpu_date_parution");
-
 
419
		virtualFields.put("_etat_", "");
403
		
420
		
404
		GridSelectionModel<CollectionAPublication> modeleDeSelection = new GridSelectionModel<CollectionAPublication>();
421
		// Modele de selection
Line -... Line 422...
-
 
422
		GridSelectionModel<ModelData> modeleDeSelection = new GridSelectionModel<ModelData>();
405
		
423
		ColumnModel modeleDeColonnes = new ColumnModel(colonnes);
406
		ColumnModel modeleDeColonnes = new ColumnModel(colonnes);
-
 
407
		modeleDeColonnes.getColumn(0).setWidget(Images.ICONES.information().createImage(), "Info");
424
		modeleDeColonnes.getColumn(0).setWidget(Images.ICONES.information().createImage(), "Info");
408
		
425
		
409
		EditorGrid<CollectionAPublication> grillePublications = new EditorGrid<CollectionAPublication>(storeGrille, modeleDeColonnes);
426
		// Grille
410
		//grillePublications.setHeight("100%");
427
		grillePublications = new GrillePaginable<ModelData>(modelTypeCollectionAPublication, virtualFields, proxyCollectionAPublication, colonnes, modeleDeColonnes);
411
		grillePublications.setBorders(true);
428
		grillePublications.getGrille().setBorders(true);
412
		grillePublications.setSelectionModel(modeleDeSelection);
429
		grillePublications.getGrille().setSelectionModel(modeleDeSelection);
413
		grillePublications.addPlugin(expansionPlugin);
430
		grillePublications.getGrille().addPlugin(expansionPlugin);
414
		grillePublications.addPlugin(numeroPlugin);
431
		grillePublications.getGrille().addPlugin(numeroPlugin);
-
 
432
		grillePublications.getGrille().getView().setForceFit(true);
-
 
433
		grillePublications.getGrille().setAutoExpandColumn("titre");
-
 
434
		grillePublications.getGrille().setStripeRows(true);
-
 
435
		grillePublications.getGrille().setTrackMouseOver(true);
-
 
436
		
-
 
437
		// Rajouter des écouteurs
-
 
438
		grillePublications.getStore().addListener(Store.Add, new Listener<StoreEvent<ModelData>>() {
-
 
439
			public void handleEvent(StoreEvent<ModelData> ce) {
-
 
440
				actualiserEtatBoutonsBarreOutils();
-
 
441
			}
-
 
442
		});
-
 
443
		grillePublications.getStore().addListener(Store.Remove, new Listener<StoreEvent<ModelData>>() {
Line 415... Line 444...
415
		grillePublications.getView().setForceFit(true);
444
			public void handleEvent(StoreEvent<ModelData> ce) {
416
		grillePublications.setAutoExpandColumn("titre");
445
				actualiserEtatBoutonsBarreOutils();
Line 417... Line 446...
417
		grillePublications.setStripeRows(true);
446
			}
418
		grillePublications.setTrackMouseOver(true);
447
		});
419
		
448
		
420
		return grillePublications;
449
		return grillePublications;
421
	}
450
	}
422
	
451
	
423
	private ColumnConfig creerColonneEditeur() {
452
	private ColumnConfig creerColonneEditeur() {
424
		GridCellRenderer<CollectionAPublication> editeurRendu = new GridCellRenderer<CollectionAPublication>() {
453
		GridCellRenderer<ModelData> editeurRendu = new GridCellRenderer<ModelData>() {
425
			public String render(CollectionAPublication model, String property, ColumnData config, int rowIndex, int colIndex, ListStore<CollectionAPublication> store, Grid<CollectionAPublication> grid) {
454
			public String render(ModelData model, String property, ColumnData config, int rowIndex, int colIndex, ListStore<ModelData> store, Grid<ModelData> grid) {
426
				String editeur = model.getPublication().getNomEditeur();
455
				String editeur = (new CollectionAPublication(model, false)).getPublication().getNomEditeur();
427
				model.set("_editeur_", editeur);
456
				model.set("_editeur_", editeur);
428
				return editeur;
457
				return editeur;
Line 429... Line 458...
429
			}
458
			}
430
		};
459
		};
431
		ColumnConfig editeurColonne = new ColumnConfig("_editeur_", Mediateur.i18nC.publicationEditeur(), 135);
460
		ColumnConfig editeurColonne = new ColumnConfig("_editeur_", Mediateur.i18nC.publicationEditeur(), 135);
432
		editeurColonne.setRenderer(editeurRendu);
461
		editeurColonne.setRenderer(editeurRendu);
433
		return editeurColonne;
462
		return editeurColonne;
434
	}
463
	}
435
	
464
	
436
	private ColumnConfig creerColonneAnneePublication() {
465
	private ColumnConfig creerColonneAnneePublication() {
437
		GridCellRenderer<CollectionAPublication> datePublicationRendu = new GridCellRenderer<CollectionAPublication>() {
466
		GridCellRenderer<ModelData> datePublicationRendu = new GridCellRenderer<ModelData>() {
Line 486... Line 515...
486
				// Suite à la récupération de l'id de la collection nouvellement ajoutée nous ajoutons les publications liées
515
				// Suite à la récupération de l'id de la collection nouvellement ajoutée nous ajoutons les publications liées
487
				// En mode AJOUT, il ne peut que y avoir des publications liées ajoutées
516
				// En mode AJOUT, il ne peut que y avoir des publications liées ajoutées
488
				mediateur.ajouterCollectionAPublication(this, collectionId, publicationsAjoutees);
517
				mediateur.ajouterCollectionAPublication(this, collectionId, publicationsAjoutees);
489
			}
518
			}
490
		} else if (type.equals("publication_modifiee")) {
519
		} else if (type.equals("publication_modifiee")) {
491
			if (info.getDonnee(0) != null) {
520
			if (info.getDonnee(0) != null) {				
492
				Publication publication = (Publication) info.getDonnee(0);
521
				Publication publication = (Publication) info.getDonnee(0);				
-
 
522
				ModelData publicationDansGrille = null;
493
				CollectionAPublication publicationDansGrille = grille.getStore().findModel("id_publication", publication.getId());
523
				publicationDansGrille = grille.getStore().findModel("cpu_id_publication", publication.getId());				
494
				int index = grille.getStore().indexOf(publicationDansGrille);
524
				int index = grille.getStore().indexOf(publicationDansGrille);				
495
				grille.getStore().remove(publicationDansGrille);
525
				grille.getStore().remove(publicationDansGrille);
496
				ajouterDansGrille(publication, index);
526
				ajouterDansGrille(publication, index);
497
			}
527
			}
498
		} else if (type.equals("publication_ajoutee")) {
528
		} else if (type.equals("publication_ajoutee")) {			
499
			if (info.getDonnee(0) != null) {
529
			if (info.getDonnee(0) != null) {
500
				Publication publication = (Publication) info.getDonnee(0);
530
				Publication publication = (Publication) info.getDonnee(0);
501
				ajouterDansGrille(publication);
531
				ajouterDansGrille(publication);
502
			}
532
			}
503
		} else if (type.equals("suppression_collection_a_publication")) {
533
		} else if (type.equals("suppression_collection_a_publication")) {
Line 518... Line 548...
518
 
548
 
519
	public void collecter() {
549
	public void collecter() {
520
		if (etreAccede()) {
550
		if (etreAccede()) {
521
			int nbrePublication = grille.getStore().getCount();
551
			int nbrePublication = grille.getStore().getCount();
522
			for (int i = 0; i < nbrePublication; i++) {
552
			for (int i = 0; i < nbrePublication; i++) {
-
 
553
				ModelData publicationLiee = grille.getStore().getAt(i);
523
				CollectionAPublication publicationLiee = grille.getStore().getAt(i);
554
				CollectionAPublication cap = new CollectionAPublication(grille.getStore().getAt(i), false);
524
				if (publicationLiee.get("_etat_") != null) {
555
				if (publicationLiee.get("_etat_") != null) {
525
					if (publicationLiee.get("_etat_").equals(aDonnee.ETAT_MODIFIE)) {
556
					if (publicationLiee.get("_etat_").equals(aDonnee.ETAT_MODIFIE)) {
526
						// Comme il est impossible de modifier les relations nous supprimons l'ancien enregistrement et ajoutons un nouveau avec le nouveau id_role
557
						// Comme il est impossible de modifier les relations nous supprimons l'ancien enregistrement et ajoutons un nouveau avec le nouveau id_role
Line 527... Line 558...
527
						publicationsSupprimees.put("id"+idGenere++, publicationLiee);
558
						publicationsSupprimees.put("id"+idGenere++, cap);
528
						
559
						
529
						CollectionAPublication relationAAjouter = (CollectionAPublication) publicationLiee.cloner(new CollectionAPublication());
560
						CollectionAPublication relationAAjouter = (CollectionAPublication) cap.cloner(new CollectionAPublication());
530
						publicationsAjoutees.put("id"+idGenere++, relationAAjouter);
561
						publicationsAjoutees.put("id"+idGenere++, relationAAjouter);
531
					} 
562
					} 
532
					if (publicationLiee.get("_etat_").equals(aDonnee.ETAT_AJOUTE)) {
563
					if (publicationLiee.get("_etat_").equals(aDonnee.ETAT_AJOUTE)) {
533
						publicationsAjoutees.put("id"+idGenere++, publicationLiee);
564
						publicationsAjoutees.put("id"+idGenere++, cap);
534
					}
565
					}
535
					// Initialisation de la grille
566
					// Initialisation de la grille
536
					publicationLiee.set("_etat_", "");
567
					publicationLiee.set("_etat_", "");