Subversion Repositories eFlore/Applications.coel

Rev

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

Rev 1784 Rev 1800
Line 52... Line 52...
52
import com.extjs.gxt.ui.client.widget.grid.RowNumberer;
52
import com.extjs.gxt.ui.client.widget.grid.RowNumberer;
53
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
53
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
54
import com.extjs.gxt.ui.client.widget.toolbar.SeparatorToolItem;
54
import com.extjs.gxt.ui.client.widget.toolbar.SeparatorToolItem;
55
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
55
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
56
import com.google.gwt.core.client.GWT;
56
import com.google.gwt.core.client.GWT;
-
 
57
import com.google.gwt.user.client.Window;
-
 
58
import com.extjs.gxt.ui.client.widget.form.CheckBox;
Line 57... Line 59...
57
 
59
 
Line 58... Line 60...
58
public class CollectionFormPublication extends FormulaireOnglet implements Rafraichissable {
60
public class CollectionFormPublication extends FormulaireOnglet implements Rafraichissable {
59
	
61
	
Line 65... Line 67...
65
	private ToolBar barreOutils = null;
67
	private ToolBar barreOutils = null;
66
	private GrillePaginable<ModelData> grille;
68
	private GrillePaginable<ModelData> grille;
Line 67... Line 69...
67
	
69
	
68
	private CollectionAPublicationListe publicationsAjoutees = null;
70
	private CollectionAPublicationListe publicationsAjoutees = null;
-
 
71
	private CollectionAPublicationListe publicationsSupprimees = null;
69
	private CollectionAPublicationListe publicationsSupprimees = null;
72
	private CollectionAPublicationListe publicationsModifiees = null;
70
	private ChampComboBoxRechercheTempsReelPaginable publicationsSaisiesComboBox = null;
73
	private ChampComboBoxRechercheTempsReelPaginable publicationsSaisiesComboBox = null;
71
	private Button publicationsBoutonSupprimer = null;
74
	private Button publicationsBoutonSupprimer = null;
Line 72... Line 75...
72
	private Button publicationsBoutonModifier = null;
75
	private Button publicationsBoutonModifier = null;
Line -... Line 76...
-
 
76
	
-
 
77
	private FenetreForm fenetreFormulaire = null;
73
	
78
	
Line 74... Line 79...
74
	private FenetreForm fenetreFormulaire = null;
79
	public boolean publicationsSontModifiees = false;
75
	
80
	
76
	public CollectionFormPublication(Formulaire formulaireCourrant) {
81
	public CollectionFormPublication(Formulaire formulaireCourrant) {
Line 96... Line 101...
96
	private void initialiser() {
101
	private void initialiser() {
97
		// Remise à zéro des modification dans la liste des auteurs
102
		// Remise à zéro des modification dans la liste des auteurs
98
		idGenere = 1;
103
		idGenere = 1;
99
		publicationsAjoutees = new CollectionAPublicationListe();
104
		publicationsAjoutees = new CollectionAPublicationListe();
100
		publicationsSupprimees = new CollectionAPublicationListe();
105
		publicationsSupprimees = new CollectionAPublicationListe();
-
 
106
		publicationsModifiees = new CollectionAPublicationListe();
Line 101... Line 107...
101
		
107
		
102
		collection = ((CollectionForm) formulaire).collection;
108
		collection = ((CollectionForm) formulaire).collection;
Line 103... Line 109...
103
	}
109
	}
Line 259... Line 265...
259
		ModelType modelTypePublications = new ModelType();
265
		ModelType modelTypePublications = new ModelType();
260
		modelTypePublications.setRoot("publications");
266
		modelTypePublications.setRoot("publications");
261
		modelTypePublications.setTotalName("nbElements");
267
		modelTypePublications.setTotalName("nbElements");
262
		modelTypePublications.addField("ccapu_id_collection");
268
		modelTypePublications.addField("ccapu_id_collection");
263
		modelTypePublications.addField("ccapu_id_publication");
269
		modelTypePublications.addField("ccapu_id_publication");
-
 
270
		modelTypePublications.addField("ccapu_source");
264
		modelTypePublications.addField("cc_nom");
271
		modelTypePublications.addField("cc_nom");
265
		modelTypePublications.addField("cc_id_collection");
272
		modelTypePublications.addField("cc_id_collection");
266
		modelTypePublications.addField("cpu_id_publication");
273
		modelTypePublications.addField("cpu_id_publication");
267
		modelTypePublications.addField("cpu_fmt_nom_complet");
274
		modelTypePublications.addField("cpu_fmt_nom_complet");
268
		modelTypePublications.addField("cpu_titre");
275
		modelTypePublications.addField("cpu_titre");
Line 356... Line 363...
356
		ModelType modelTypeCollectionAPublication = new ModelType();
363
		ModelType modelTypeCollectionAPublication = new ModelType();
357
		modelTypeCollectionAPublication.setRoot("collectionsAPublication");
364
		modelTypeCollectionAPublication.setRoot("collectionsAPublication");
358
		modelTypeCollectionAPublication.setTotalName("nbElements");
365
		modelTypeCollectionAPublication.setTotalName("nbElements");
359
		modelTypeCollectionAPublication.addField("ccapu_id_collection");
366
		modelTypeCollectionAPublication.addField("ccapu_id_collection");
360
		modelTypeCollectionAPublication.addField("ccapu_id_publication");
367
		modelTypeCollectionAPublication.addField("ccapu_id_publication");
-
 
368
		modelTypeCollectionAPublication.addField("ccapu_source");
361
		modelTypeCollectionAPublication.addField("ccapu_mark_licence");
369
		modelTypeCollectionAPublication.addField("ccapu_mark_licence");
362
		modelTypeCollectionAPublication.addField("cpu_id_publication");
370
		modelTypeCollectionAPublication.addField("cpu_id_publication");
363
		modelTypeCollectionAPublication.addField("cpu_fmt_auteur");
371
		modelTypeCollectionAPublication.addField("cpu_fmt_auteur");
364
		modelTypeCollectionAPublication.addField("cpu_titre");
372
		modelTypeCollectionAPublication.addField("cpu_titre");
365
		modelTypeCollectionAPublication.addField("cpu_collection");
373
		modelTypeCollectionAPublication.addField("cpu_collection");
Line 383... Line 391...
383
			"<span style='font-weight:bold;'>"+i18nC.publicationEditeur()+" :</span> {_editeur_}"+
391
			"<span style='font-weight:bold;'>"+i18nC.publicationEditeur()+" :</span> {_editeur_}"+
384
			"</p>");  
392
			"</p>");  
385
		RowExpander expansionPlugin = new RowExpander();  
393
		RowExpander expansionPlugin = new RowExpander();  
386
		expansionPlugin.setTemplate(infoTpl);
394
		expansionPlugin.setTemplate(infoTpl);
387
		colonnes.add(expansionPlugin);
395
		colonnes.add(expansionPlugin);
-
 
396
		
-
 
397
		ColumnConfig sourceColonne = new ColumnConfig("ccapu_source", i18nC.collectionPublicationSource(), 35);
-
 
398
		sourceColonne.setRenderer(new GridCellRenderer<ModelData>() {
-
 
399
			@Override
-
 
400
			public Object render(ModelData model, String property,
-
 
401
					ColumnData config, int rowIndex, int colIndex,
-
 
402
					ListStore<ModelData> store, Grid<ModelData> grid) {
-
 
403
				
-
 
404
				CheckBox cbSource = new CheckBox();
-
 
405
				boolean source = model.get("ccapu_source") != null && model.get("ccapu_source").equals("1");
-
 
406
				cbSource.setValue(source);
-
 
407
 
-
 
408
				final Integer ligne = rowIndex;
-
 
409
				final ModelData ceModele = model;
-
 
410
				
-
 
411
				cbSource.addListener(Events.Change, new Listener<BaseEvent>() {
-
 
412
					@Override
-
 
413
					public void handleEvent(BaseEvent be) {
-
 
414
						String estSource = ((CheckBox)be.getSource()).getValue() ? "1" : "0";
-
 
415
						ceModele.set("ccapu_source", estSource);
-
 
416
						if (!(ceModele.get("_etat_") != null && ceModele.get("_etat_").equals(aDonnee.ETAT_AJOUTE))) {
-
 
417
							ceModele.set("_etat_", aDonnee.ETAT_MODIFIE);
-
 
418
						}
-
 
419
						grille.getStore().commitChanges();
-
 
420
					}
-
 
421
				});
-
 
422
				return cbSource;	
-
 
423
			}
-
 
424
		});
-
 
425
		colonnes.add(sourceColonne);
-
 
426
		
388
		colonnes.add(numeroPlugin);
427
		colonnes.add(numeroPlugin);
389
		colonnes.add(new ColumnConfig("cpu_fmt_auteur", i18nC.publicationAuteurs(), 150));
428
		colonnes.add(new ColumnConfig("cpu_fmt_auteur", i18nC.publicationAuteurs(), 140));
390
		colonnes.add(new ColumnConfig("cpu_titre", i18nC.publicationTitre(), 150));
429
		colonnes.add(new ColumnConfig("cpu_titre", i18nC.publicationTitre(), 135));
391
		colonnes.add(new ColumnConfig("cpu_collection", i18nC.publicationRevueCollection(), 75));
430
		colonnes.add(new ColumnConfig("cpu_collection", i18nC.publicationRevueCollection(), 75));
392
		colonnes.add(creerColonneEditeur());
431
		colonnes.add(creerColonneEditeur());
393
		colonnes.add(creerColonneAnneePublication());
432
		colonnes.add(creerColonneAnneePublication());
394
		colonnes.add(new ColumnConfig("cpu_indication_nvt", i18nC.publicationNvt(), 75));
433
		colonnes.add(new ColumnConfig("cpu_indication_nvt", i18nC.publicationNvt(), 75));
395
		colonnes.add(new ColumnConfig("cpu_fascicule", i18nC.publicationFascicule(), 75));
434
		colonnes.add(new ColumnConfig("cpu_fascicule", i18nC.publicationFascicule(), 75));
Line 534... Line 573...
534
			for (int i = 0; i < nbrePublication; i++) {
573
			for (int i = 0; i < nbrePublication; i++) {
535
				ModelData publicationLiee = grille.getStore().getAt(i);
574
				ModelData publicationLiee = grille.getStore().getAt(i);
536
				CollectionAPublication cap = new CollectionAPublication(grille.getStore().getAt(i), false);
575
				CollectionAPublication cap = new CollectionAPublication(grille.getStore().getAt(i), false);
537
				if (publicationLiee.get("_etat_") != null) {
576
				if (publicationLiee.get("_etat_") != null) {
538
					if (publicationLiee.get("_etat_").equals(aDonnee.ETAT_MODIFIE)) {
577
					if (publicationLiee.get("_etat_").equals(aDonnee.ETAT_MODIFIE)) {
539
						// Comme il est impossible de modifier les relations nous supprimons l'ancien enregistrement et ajoutons un nouveau avec le nouveau id_role
-
 
540
						publicationsSupprimees.put("id"+idGenere++, cap);
578
						publicationsModifiees.put(cap.getIdPublication(), cap);
541
						
-
 
542
						CollectionAPublication relationAAjouter = (CollectionAPublication) cap.cloner(new CollectionAPublication());
-
 
543
						publicationsAjoutees.put("id"+idGenere++, relationAAjouter);
-
 
544
					} 
579
					} 
545
					if (publicationLiee.get("_etat_").equals(aDonnee.ETAT_AJOUTE)) {
580
					if (publicationLiee.get("_etat_").equals(aDonnee.ETAT_AJOUTE)) {
546
						publicationsAjoutees.put("id"+idGenere++, cap);
581
						publicationsAjoutees.put("id"+idGenere++, cap);
547
					}
582
					}
548
					// Initialisation de la grille
583
					// Initialisation de la grille
Line 553... Line 588...
553
		}
588
		}
554
	}
589
	}
Line 555... Line 590...
555
	
590
	
556
	public void soumettre() {
591
	public void soumettre() {
557
		if (mode.equals(Formulaire.MODE_MODIFIER)) {
592
		if (mode.equals(Formulaire.MODE_MODIFIER)) {
558
			if (publicationsAjoutees.size() == 0 && publicationsSupprimees.size() == 0) {
593
			if (publicationsAjoutees.size() == 0 && publicationsSupprimees.size() == 0 && publicationsModifiees.size() == 0) {
559
				//InfoLogger.display("Modification des publications liées", "Rien n'a été enregistré car le formulaire n'a pas été modifié.");
594
				//InfoLogger.display("Modification des publications liées", "Rien n'a été enregistré car le formulaire n'a pas été modifié.");
-
 
595
			} else {
-
 
596
				//Window.alert(publicationsAjoutees.size()+" | "+publicationsSupprimees.size()+" | "+publicationsModifiees.size());
560
			} else {
597
				publicationsSontModifiees = true;
561
				// Ajout des relations CollectionAPublication
598
				// Ajout des relations CollectionAPublication
562
				if (publicationsAjoutees.size() != 0) {
599
				if (publicationsAjoutees.size() != 0) {
563
					mediateur.ajouterCollectionAPublication(this, collection.getId(), publicationsAjoutees);
600
					mediateur.ajouterCollectionAPublication(this, collection.getId(), publicationsAjoutees);
-
 
601
				}
-
 
602
				
-
 
603
				// Modification des relations CollectionAPublication
-
 
604
				if (publicationsModifiees.size() != 0) {
-
 
605
					mediateur.modifierCollectionAPublication(this, publicationsModifiees);
-
 
606
				}
564
				}
607
				
565
				// Suppression des relations CollectionAPublication
608
				// Suppression des relations CollectionAPublication
566
				if (publicationsSupprimees.size() != 0) {
609
				if (publicationsSupprimees.size() != 0) {
567
					mediateur.supprimerCollectionAPublication(this, publicationsSupprimees);
610
					mediateur.supprimerCollectionAPublication(this, publicationsSupprimees);
568
				}
611
				}