Subversion Repositories eFlore/Applications.coel

Rev

Rev 1680 | Rev 1764 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
935 jpm 1
package org.tela_botanica.client.vues.structure;
69 jpm 2
 
91 jpm 3
import java.util.ArrayList;
1284 gduche 4
import java.util.Date;
91 jpm 5
import java.util.Iterator;
1513 jpm 6
import java.util.LinkedList;
69 jpm 7
import java.util.List;
8
 
981 jpm 9
import org.tela_botanica.client.ComposantClass;
119 jpm 10
import org.tela_botanica.client.Mediateur;
91 jpm 11
import org.tela_botanica.client.RegistreId;
1329 cyprien 12
import org.tela_botanica.client.composants.ChampComboBoxRechercheTempsReelPaginable;
1468 jpm 13
import org.tela_botanica.client.composants.GrillePaginable;
1210 cyprien 14
import org.tela_botanica.client.composants.InfoLogger;
1468 jpm 15
import org.tela_botanica.client.composants.pagination.ProxyCollectionAPersonne;
1369 cyprien 16
import org.tela_botanica.client.composants.pagination.ProxyPersonnes;
1329 cyprien 17
import org.tela_botanica.client.composants.pagination.ProxyProjets;
1468 jpm 18
import org.tela_botanica.client.composants.pagination.ProxyStructureAPersonne;
1329 cyprien 19
import org.tela_botanica.client.composants.pagination.ProxyValeur;
569 jp_milcent 20
import org.tela_botanica.client.images.Images;
69 jpm 21
import org.tela_botanica.client.interfaces.Rafraichissable;
153 jpm 22
import org.tela_botanica.client.modeles.Information;
100 jpm 23
import org.tela_botanica.client.modeles.InterneValeur;
24
import org.tela_botanica.client.modeles.InterneValeurListe;
330 jp_milcent 25
import org.tela_botanica.client.modeles.MenuApplicationId;
91 jpm 26
import org.tela_botanica.client.modeles.Valeur;
27
import org.tela_botanica.client.modeles.ValeurListe;
1239 cyprien 28
import org.tela_botanica.client.modeles.aDonnee;
1262 cyprien 29
import org.tela_botanica.client.modeles.collection.CollectionAPersonne;
935 jpm 30
import org.tela_botanica.client.modeles.personne.Personne;
31
import org.tela_botanica.client.modeles.personne.PersonneListe;
32
import org.tela_botanica.client.modeles.projet.Projet;
33
import org.tela_botanica.client.modeles.projet.ProjetListe;
34
import org.tela_botanica.client.modeles.structure.Structure;
35
import org.tela_botanica.client.modeles.structure.StructureAPersonne;
36
import org.tela_botanica.client.modeles.structure.StructureAPersonneListe;
37
import org.tela_botanica.client.modeles.structure.StructureConservation;
38
import org.tela_botanica.client.modeles.structure.StructureValorisation;
1322 gduche 39
import org.tela_botanica.client.synchronisation.Sequenceur;
1210 cyprien 40
import org.tela_botanica.client.util.Debug;
1173 jpm 41
import org.tela_botanica.client.util.Pattern;
243 jp_milcent 42
import org.tela_botanica.client.util.UtilArray;
1043 gduche 43
import org.tela_botanica.client.util.UtilString;
935 jpm 44
import org.tela_botanica.client.vues.Formulaire;
1637 aurelien 45
import org.tela_botanica.client.vues.structure.StructureFormPersonne.EtatPersonnelStructure;
69 jpm 46
 
1284 gduche 47
import com.extjs.gxt.ui.client.Style.Scroll;
1329 cyprien 48
import com.extjs.gxt.ui.client.data.ModelData;
49
import com.extjs.gxt.ui.client.data.ModelType;
491 gduche 50
import com.extjs.gxt.ui.client.event.Events;
91 jpm 51
import com.extjs.gxt.ui.client.Registry;
295 jp_milcent 52
import com.extjs.gxt.ui.client.event.BaseEvent;
491 gduche 53
import com.extjs.gxt.ui.client.event.ButtonEvent;
111 jpm 54
import com.extjs.gxt.ui.client.event.ComponentEvent;
1210 cyprien 55
import com.extjs.gxt.ui.client.event.EventType;
243 jp_milcent 56
import com.extjs.gxt.ui.client.event.KeyListener;
111 jpm 57
import com.extjs.gxt.ui.client.event.Listener;
100 jpm 58
import com.extjs.gxt.ui.client.event.SelectionChangedEvent;
59
import com.extjs.gxt.ui.client.event.SelectionChangedListener;
103 jpm 60
import com.extjs.gxt.ui.client.event.SelectionListener;
69 jpm 61
import com.extjs.gxt.ui.client.store.ListStore;
245 jp_milcent 62
import com.extjs.gxt.ui.client.store.Record;
63
import com.extjs.gxt.ui.client.store.Store;
64
import com.extjs.gxt.ui.client.store.StoreEvent;
111 jpm 65
import com.extjs.gxt.ui.client.widget.Component;
102 jpm 66
import com.extjs.gxt.ui.client.widget.ContentPanel;
569 jp_milcent 67
import com.extjs.gxt.ui.client.widget.Html;
153 jpm 68
import com.extjs.gxt.ui.client.widget.Info;
69 jpm 69
import com.extjs.gxt.ui.client.widget.LayoutContainer;
320 gduche 70
import com.extjs.gxt.ui.client.widget.MessageBox;
100 jpm 71
import com.extjs.gxt.ui.client.widget.TabItem;
72
import com.extjs.gxt.ui.client.widget.TabPanel;
69 jpm 73
import com.extjs.gxt.ui.client.widget.button.Button;
108 jpm 74
import com.extjs.gxt.ui.client.widget.form.CheckBox;
75
import com.extjs.gxt.ui.client.widget.form.CheckBoxGroup;
69 jpm 76
import com.extjs.gxt.ui.client.widget.form.ComboBox;
100 jpm 77
import com.extjs.gxt.ui.client.widget.form.DateField;
119 jpm 78
import com.extjs.gxt.ui.client.widget.form.Field;
100 jpm 79
import com.extjs.gxt.ui.client.widget.form.FieldSet;
172 jp_milcent 80
import com.extjs.gxt.ui.client.widget.form.HiddenField;
103 jpm 81
import com.extjs.gxt.ui.client.widget.form.LabelField;
102 jpm 82
import com.extjs.gxt.ui.client.widget.form.NumberField;
109 jpm 83
import com.extjs.gxt.ui.client.widget.form.Radio;
84
import com.extjs.gxt.ui.client.widget.form.RadioGroup;
164 jp_milcent 85
import com.extjs.gxt.ui.client.widget.form.TextArea;
69 jpm 86
import com.extjs.gxt.ui.client.widget.form.TextField;
1329 cyprien 87
import com.extjs.gxt.ui.client.widget.form.Validator;
69 jpm 88
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction;
89
import com.extjs.gxt.ui.client.widget.form.FormPanel.LabelAlign;
102 jpm 90
import com.extjs.gxt.ui.client.widget.grid.CellEditor;
91
import com.extjs.gxt.ui.client.widget.grid.CheckColumnConfig;
92
import com.extjs.gxt.ui.client.widget.grid.ColumnConfig;
93
import com.extjs.gxt.ui.client.widget.grid.ColumnModel;
94
import com.extjs.gxt.ui.client.widget.grid.EditorGrid;
231 jp_milcent 95
import com.extjs.gxt.ui.client.widget.grid.GridSelectionModel;
1468 jpm 96
import com.extjs.gxt.ui.client.widget.grid.HeaderGroupConfig;
231 jp_milcent 97
import com.extjs.gxt.ui.client.widget.grid.RowNumberer;
69 jpm 98
import com.extjs.gxt.ui.client.widget.layout.ColumnData;
99
import com.extjs.gxt.ui.client.widget.layout.ColumnLayout;
100
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
100 jpm 101
import com.extjs.gxt.ui.client.widget.layout.FormData;
110 jpm 102
import com.extjs.gxt.ui.client.widget.tips.ToolTipConfig;
102 jpm 103
import com.extjs.gxt.ui.client.widget.toolbar.SeparatorToolItem;
104
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
91 jpm 105
import com.google.gwt.core.client.GWT;
100 jpm 106
import com.google.gwt.i18n.client.DateTimeFormat;
102 jpm 107
import com.google.gwt.i18n.client.NumberFormat;
1035 gduche 108
import com.google.gwt.user.client.Window;
69 jpm 109
 
634 jp_milcent 110
public class StructureForm extends Formulaire implements Rafraichissable {
1637 aurelien 111
 
775 jpm 112
	private TabPanel onglets = null;
1637 aurelien 113
	private StructureFormIdentification identificationOnglet = null;
114
	private StructureFormPersonne personnelOnglet = null;
115
	private StructureFormConservation conservationOnglet = null;
116
	private StructureFormValorisation valorisationOnglet = null;
115 jpm 117
 
206 jp_milcent 118
	// Onglet IDENTIFICATION
1637 aurelien 119
	public Structure identification = null;
192 jp_milcent 120
 
206 jp_milcent 121
	// Onglet PERSONNEL
1637 aurelien 122
	// Vide suite à refactoring
211 jp_milcent 123
 
206 jp_milcent 124
	// Onglet CONSERVATION
1637 aurelien 125
	public StructureConservation conservation = null;
126
 
206 jp_milcent 127
	// Onglet VALORISATION
1637 aurelien 128
	public StructureValorisation valorisation = null;
1322 gduche 129
 
130
	private Sequenceur sequenceur;
131
 
1613 aurelien 132
	private Structure structure = null;
133
 
134
	public Rafraichissable vueExterneARafraichirApresValidation = null;
135
 
1322 gduche 136
	public StructureForm(Mediateur mediateurCourrant, String modeDeCreation, Sequenceur sequenceur) {
648 jp_milcent 137
		initialiserFormulaire(mediateurCourrant, modeDeCreation, MenuApplicationId.STRUCTURE);
1322 gduche 138
		this.sequenceur = sequenceur;
139
 
775 jpm 140
		// Ajout du titre
1680 raphael 141
		panneauFormulaire.setHeadingHtml(i18nC.titreAjoutFormStructurePanneau());
775 jpm 142
		// Création des onglets
143
		onglets = creerOnglets();
1322 gduche 144
 
775 jpm 145
		// Ajout des onglets au formulaire général
146
		panneauFormulaire.add(onglets);
609 jp_milcent 147
	}
148
 
775 jpm 149
	protected TabPanel creerOnglets() {
150
		TabPanel ongletsStructure = new TabPanel();
110 jpm 151
		// NOTE : pour faire apparaître les scrollBar il faut définir la hauteur du panneau d'onglets à 100% (autoHeight ne semble pas fonctionner)
775 jpm 152
		ongletsStructure.setHeight("100%");
69 jpm 153
 
100 jpm 154
		// Onlget formulaire IDENTIFICATION
775 jpm 155
		ongletsStructure.add(creerOngletIdentification());
206 jp_milcent 156
 
100 jpm 157
		// Onlget formulaire PERSONNEL
775 jpm 158
		ongletsStructure.add(creerOngletPersonnel());
91 jpm 159
 
100 jpm 160
		// Onlget formulaire CONSERVATION
775 jpm 161
		ongletsStructure.add(creerOngletConservation());
100 jpm 162
 
163
		// Onlget formulaire VALORISATION
775 jpm 164
		ongletsStructure.add(creerOngletValorisation());
100 jpm 165
 
119 jpm 166
		// Sélection de l'onglet par défaut
775 jpm 167
		//ongletsStructure(personnelOnglet);
192 jp_milcent 168
 
775 jpm 169
		return ongletsStructure;
609 jp_milcent 170
	}
171
 
1613 aurelien 172
	private void repandreRafraichissement() {
173
		if (vueExterneARafraichirApresValidation != null) {
174
			String type = "structure_modifiee";
175
			if (mode.equals(Formulaire.MODE_AJOUTER)) {
176
				type = "structure_ajoutee";
177
			}
178
			Information info = new Information(type);
179
			info.setDonnee(0, structure);
180
			vueExterneARafraichirApresValidation.rafraichir(info);
181
		}
182
	}
183
 
934 jpm 184
	public boolean soumettreFormulaire() {
1210 cyprien 185
 
243 jp_milcent 186
		// Vérification de la validité des champs du formulaire
786 jpm 187
		boolean fomulaireValide = verifierFormulaire();
1613 aurelien 188
 
189
		Structure identification = collecterStructureIdentification();
190
 
191
		if(identification != null) {
192
			structure = identification;
193
		} else {
1637 aurelien 194
			structure = this.identification;
1613 aurelien 195
		}
196
 
197
 
198
		structure.setConservation(this.conservation);
199
		structure.setValorisation(this.valorisation);
200
 
786 jpm 201
		if (fomulaireValide) {
243 jp_milcent 202
			// Collecte des données du formulaire
203
			StructureConservation conservation = collecterStructureConservation();
204
			StructureValorisation valorisation = collecterStructureValorisation();
1613 aurelien 205
 
206
			if(conservation != null) {
207
				structure.setConservation(conservation);
208
			}
209
 
210
			if(valorisation != null) {
211
				structure.setValorisation(valorisation);
212
			}
213
 
1637 aurelien 214
			EtatPersonnelStructure etatPersonnel = personnelOnglet.collecter();
243 jp_milcent 215
 
1637 aurelien 216
			structure.setPersonnel(etatPersonnel.personnel);
1613 aurelien 217
			structure.setConservation(conservation);
218
			structure.setValorisation(valorisation);
219
 
634 jp_milcent 220
			if (mode.equals(MODE_AJOUTER)) {
243 jp_milcent 221
				// Ajout des informations sur la Structure
782 jpm 222
				mediateur.ajouterStructure(this, structure, conservation, valorisation);
243 jp_milcent 223
				// L'ajout des relations StructureAPersonne se fait quand la structure a été ajoutée
224
				// Voir la méthode rafraichir().
634 jp_milcent 225
			} else if (mode.equals(MODE_MODIFIER)) {
1210 cyprien 226
 
243 jp_milcent 227
				// Modification des informations sur la Structure
306 jp_milcent 228
				if (structure == null && conservation == null && valorisation == null) {
1630 aurelien 229
					//InfoLogger.display("Modification d'une institution", "Rien n'a été enregistré car le formulaire n'a pas été modifié.");
306 jp_milcent 230
				} else {
1637 aurelien 231
					mediateur.modifierStructure(this, structure.getId(), structure, conservation, valorisation);
306 jp_milcent 232
				}
1210 cyprien 233
 
1637 aurelien 234
				if (etatPersonnel.personnelModifie.size() == 0 && etatPersonnel.personnelAjoute.size() == 0 && etatPersonnel.personnelSupprime.size() == 0) {
1630 aurelien 235
					//InfoLogger.display("Modification du personnel", "Rien n'a été enregistré car le formulaire n'a pas été modifié.");
306 jp_milcent 236
				} else {
1637 aurelien 237
					if (etatPersonnel.personnelModifie.size() != 0) {
238
						personnelOnglet.incrementerDecompteRafraichissementPersonnel();
239
						mediateur.modifierStructureAPersonne(this, etatPersonnel.personnelModifie);
306 jp_milcent 240
					}
241
					// Ajout des relations StructureAPersonne
1637 aurelien 242
					if (etatPersonnel.personnelAjoute.size() != 0) {
243
						personnelOnglet.incrementerDecompteRafraichissementPersonnel();
244
						mediateur.ajouterStructureAPersonne(this, structure.getId(), etatPersonnel.personnelAjoute);
306 jp_milcent 245
					}
246
					// Suppression des relations StructureAPersonne
1637 aurelien 247
					if (etatPersonnel.personnelSupprime.size() != 0) {
248
						personnelOnglet.incrementerDecompteRafraichissementPersonnel();
249
						mediateur.supprimerStructureAPersonne(this, etatPersonnel.personnelSupprime);
306 jp_milcent 250
					}
251
				}
243 jp_milcent 252
			}
253
		}
1210 cyprien 254
 
786 jpm 255
		return fomulaireValide;
243 jp_milcent 256
	}
257
 
934 jpm 258
	public boolean verifierFormulaire() {
243 jp_milcent 259
		ArrayList<String> messages = new ArrayList<String>();
1637 aurelien 260
		messages.addAll(verifierOnglets());
231 jp_milcent 261
 
243 jp_milcent 262
		// Affichage des messages d'alerte
263
		if (messages.size() != 0) {
264
			String[] a = {};
265
			a = messages.toArray(a);
320 gduche 266
			MessageBox.alert("Erreurs de saisies", UtilArray.implode(a, "\n\n"), null);
243 jp_milcent 267
			return false;
268
		}
1284 gduche 269
 
243 jp_milcent 270
		return true;
119 jpm 271
	}
1637 aurelien 272
 
273
	private ArrayList<String> verifierOnglets() {
274
		ArrayList<String> messages = new ArrayList<String>();
275
		messages.addAll(identificationOnglet.verifier());
276
		messages.addAll(personnelOnglet.verifier());
277
		return messages;
278
	}
119 jpm 279
 
192 jp_milcent 280
	private StructureValorisation collecterStructureValorisation() {
1637 aurelien 281
		return valorisationOnglet.collecter();
192 jp_milcent 282
	}
283
 
284
	private void peuplerStructureValorisation() {
1637 aurelien 285
		valorisationOnglet.peupler();
192 jp_milcent 286
	}
287
 
288
	private StructureConservation collecterStructureConservation() {
1637 aurelien 289
		return conservationOnglet.collecter();
188 jp_milcent 290
	}
291
 
192 jp_milcent 292
	private void peuplerStructureConservation() {
1637 aurelien 293
		conservationOnglet.peupler();
188 jp_milcent 294
	}
295
 
192 jp_milcent 296
	private Structure collecterStructureIdentification() {
1637 aurelien 297
		Structure structureARetourner = identificationOnglet.collecter();
306 jp_milcent 298
		return structureARetourner;
119 jpm 299
	}
300
 
111 jpm 301
	private TabItem creerOngletValorisation() {
1637 aurelien 302
		valorisationOnglet = new StructureFormValorisation(mediateur, this, sequenceur);
111 jpm 303
		return valorisationOnglet;
304
	}
305
 
108 jpm 306
	private TabItem creerOngletConservation() {
1637 aurelien 307
		conservationOnglet = new StructureFormConservation(mediateur, this, sequenceur);
108 jpm 308
		return conservationOnglet;
309
	}
310
 
1637 aurelien 311
	private EtatPersonnelStructure collecterStructurePersonnel() {
312
		return personnelOnglet.collecter();
231 jp_milcent 313
	}
211 jp_milcent 314
 
1637 aurelien 315
	private void peuplerStructurePersonnel(StructureAPersonneListe personnel) {
316
		personnelOnglet.peupler(personnel);
211 jp_milcent 317
	}
318
 
103 jpm 319
	private TabItem creerOngletPersonnel() {
1637 aurelien 320
		personnelOnglet = new StructureFormPersonne(this, mediateur);
231 jp_milcent 321
		return personnelOnglet;
322
	}
102 jpm 323
 
110 jpm 324
	private TabItem creerOngletIdentification() {
1637 aurelien 325
		identificationOnglet = new StructureFormIdentification(this);
110 jpm 326
		return identificationOnglet;
327
	}
1637 aurelien 328
 
329
	public void peuplerCasesACocher(String donnees, CheckBoxGroup groupeCac, TextField<String> champAutre) {
192 jp_milcent 330
		String[] valeurs = donnees.split(";;");
331
		for (int i = 0; i < valeurs.length; i++) {
332
			if (valeurs[i].startsWith("AUTRE##")) {
333
				champAutre.setValue(valeurs[i].replaceFirst("^AUTRE##", ""));
334
			} else {
491 gduche 335
				//TODO : check : List<CheckBox> cases = groupeCac.getAll();
336
				List<Field<?>> cases = groupeCac.getAll();
192 jp_milcent 337
				for (int j = 0; j < cases.size(); j++) {
338
					if (cases.get(j).getId().equals("val-"+valeurs[i])) {
491 gduche 339
						((CheckBox) cases.get(j)).setValue(true);
192 jp_milcent 340
					}
341
				}
342
			}
343
		}
344
	}
345
 
1637 aurelien 346
	public void peuplerBoutonsRadio(String valeur, RadioGroup groupeBr) {
491 gduche 347
		//List<Radio> boutons = groupeBr.getAll();
348
		List<Field<?>> boutons = groupeBr.getAll();
192 jp_milcent 349
		String id = valeur+"_"+groupeBr.getName().replace("_grp", "");
350
		for (int i = 0; i < boutons.size(); i++) {
351
			if (boutons.get(i).getId().equals(id)) {
491 gduche 352
				((Radio) boutons.get(i)).setValue(true);
192 jp_milcent 353
			}
354
		}
355
	}
356
 
1637 aurelien 357
	public String creerChaineDenormalisee(List<CheckBox> liste) {
192 jp_milcent 358
		String identifiants = "";
306 jp_milcent 359
		if (liste != null) {
360
			int taille = liste.size();
361
			for (int i = 0; i < taille; i++) {
362
				CheckBox cac = liste.get(i);
363
				if (cac.isEnabled()) {
364
					identifiants = identifiants.concat(";;"+cac.getData("id"));
365
				}
192 jp_milcent 366
			}
306 jp_milcent 367
			identifiants.replaceFirst("^;;", "");
192 jp_milcent 368
		}
306 jp_milcent 369
		return identifiants;
192 jp_milcent 370
	}
371
 
1637 aurelien 372
	public void afficherChampSupplementaire(Radio radioBtn) {
373
		valorisationOnglet.afficherChampSupplementaire(radioBtn) ;
374
		conservationOnglet.afficherChampSupplementaires(radioBtn);
111 jpm 375
	}
376
 
639 jp_milcent 377
	public void rafraichir(Object nouvellesDonnees) {
378
		try {
379
			if (nouvellesDonnees instanceof Information) {
380
				Information info = (Information) nouvellesDonnees;
381
				rafraichirInformation(info);
1637 aurelien 382
				if(!info.getType().equals("selection_structure") && !info.getType().equals("selection_structure")) {
383
					repandreRafraichissement();
384
				}
639 jp_milcent 385
			} else if (nouvellesDonnees instanceof ValeurListe) {
386
				ValeurListe listeValeurs = (ValeurListe) nouvellesDonnees;
387
				rafraichirValeurListe(listeValeurs);
388
			} else {
389
				GWT.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null);
295 jp_milcent 390
			}
639 jp_milcent 391
		} catch (Exception e) {
875 jpm 392
			GWT.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), e);
109 jpm 393
		}
394
 
1239 cyprien 395
		controlerFermeture();
109 jpm 396
	}
397
 
1513 jpm 398
	public void rafraichirInformation(Information info) {
639 jp_milcent 399
		if (info.getMessages() != null && !info.getMessages().toString().equals("[]")) {
400
			GWT.log("MESSAGES:\n"+info.getMessages().toString(), null);
401
		}
402
 
403
		if (info.getType().equals("modif_structure")) {
1210 cyprien 404
			InfoLogger.display("Modification d'une institution", info.toString());
1673 raphael 405
			Structure structureMaj = (Structure)(info.getDonnee(0));
406
			if(structureMaj != null) {
407
				// TRUE uniquement si la modification a retourné un objet JSON pour mise à jour
408
				// (contenant les coordonnées générées, cf r1673)
409
				structure.setLatitude(structureMaj.getLatitude());
410
				structure.setLongitude(structureMaj.getLongitude());
411
			}
412
 
1613 aurelien 413
			controlerFermeture();
639 jp_milcent 414
		} else if (info.getType().equals("ajout_structure")) {
1708 raphael 415
			if (info.getDonnee(0) != null && ( info.getDonnee(0) instanceof String || info.getDonnee(0) instanceof Object) ) {
1637 aurelien 416
				this.mode = MODE_MODIFIER;
1708 raphael 417
				String structureId;
418
 
419
				if(info.getDonnee(0) instanceof String) {
420
					structureId = (String) info.getDonnee(0);
421
				}
422
				else {
423
					// le backend renvoie un objet si longitude et latitude ont
424
					// été générés
425
					Structure structureMaj = (Structure)(info.getDonnee(0));
426
					// structureMaj == null ? erreur horriblement impensable
427
					structure.setLatitude(structureMaj.getLatitude());
428
					structure.setLongitude(structureMaj.getLongitude());
429
					structureId = structureMaj.getId();
430
				}
431
 
1637 aurelien 432
				structure.setId(structureId);
433
				identification = structure;
434
				identificationOnglet.rafraichir(info);
435
				personnelOnglet.rafraichir(info);
436
				conservationOnglet.rafraichir(info);
437
				valorisationOnglet.rafraichir(info);
1210 cyprien 438
				InfoLogger.display("Ajout d'une Institution", "L'intitution '"+structureId+"' a bien été ajoutée");
639 jp_milcent 439
			} else {
1210 cyprien 440
				InfoLogger.display("Ajout d'une Institution", info.toString());
639 jp_milcent 441
			}
442
		} else if (info.getType().equals("modif_structure_a_personne")) {
1210 cyprien 443
			InfoLogger.display("Modification du Personnel", info.toString());
1637 aurelien 444
			personnelOnglet.rafraichir(info);
639 jp_milcent 445
		} else if (info.getType().equals("suppression_structure_a_personne")) {
1210 cyprien 446
			InfoLogger.display("Suppression du Personnel", info.toString());
1637 aurelien 447
			personnelOnglet.rafraichir(info);
639 jp_milcent 448
		} else if (info.getType().equals("ajout_structure_a_personne")) {
1210 cyprien 449
			InfoLogger.display("Ajout du Personnel", info.toString());
1637 aurelien 450
			personnelOnglet.rafraichir(info);
639 jp_milcent 451
		} else if (info.getType().equals("selection_structure")) {
1210 cyprien 452
			InfoLogger.display("Modification d'une institution", info.toString());
639 jp_milcent 453
			String titre = i18nC.titreModifFormStructurePanneau();
454
			if (info.getDonnee(0) != null) {
1637 aurelien 455
				identification = (Structure)info.getDonnee(0);
456
				identificationOnglet.rafraichir(info);
639 jp_milcent 457
				// Composition du titre
458
				titre += " - ID : "+identification.getId();
459
			}
460
			if (info.getDonnee(1) != null) {
1637 aurelien 461
				conservation = (StructureConservation)info.getDonnee(1);
462
				conservationOnglet.rafraichir(info);
639 jp_milcent 463
			}
464
			if (info.getDonnee(2) != null) {
1637 aurelien 465
				valorisation = (StructureValorisation)info.getDonnee(2);
466
				valorisationOnglet.rafraichir(info);
639 jp_milcent 467
			}
468
		} else if (info.getType().equals("liste_structure_a_personne")) {
1637 aurelien 469
				personnelOnglet.rafraichir(info);
639 jp_milcent 470
		}
471
	}
472
 
473
	public void rafraichirValeurListe(ValeurListe listeValeurs) {
474
		List<Valeur> liste = listeValeurs.toList();
407 jp_milcent 475
 
639 jp_milcent 476
		// Test pour savoir si la liste contient des éléments
477
		if (liste.size() > 0) {
1637 aurelien 478
			identificationOnglet.rafraichir(listeValeurs);
479
			personnelOnglet.rafraichir(listeValeurs);
480
			conservationOnglet.rafraichir(listeValeurs);
481
			valorisationOnglet.rafraichir(listeValeurs);
639 jp_milcent 482
			//GWT.log("La liste #"+listeValeurs.getId()+" a été reçue!", null);
483
		} else {
484
			GWT.log("La liste #"+listeValeurs.getId()+" ne contient aucune valeurs!", null);
91 jpm 485
		}
639 jp_milcent 486
	}
1637 aurelien 487
 
488
	public String getIdIdentification() {
489
		return identification.getId();
609 jp_milcent 490
	}
491
 
1637 aurelien 492
	public ModelData getValeurProjetCombo() {
493
		return identificationOnglet.getValeurProjetCombo();
243 jp_milcent 494
	}
495
 
1637 aurelien 496
	public ModelData getValeurProjet() {
497
		return identificationOnglet.getValeurProjet();
243 jp_milcent 498
	}
1210 cyprien 499
}