Subversion Repositories eFlore/Applications.coel

Rev

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

Rev Author Line No. Line
60 jpm 1
package org.tela_botanica.client.vues;
2
 
406 jp_milcent 3
import java.util.ArrayList;
420 jp_milcent 4
import java.util.HashMap;
379 jp_milcent 5
import java.util.Iterator;
6
 
7
import org.tela_botanica.client.ComposantClass;
373 jp_milcent 8
import org.tela_botanica.client.ComposantId;
9
import org.tela_botanica.client.Mediateur;
406 jp_milcent 10
import org.tela_botanica.client.i18n.Constantes;
60 jpm 11
import org.tela_botanica.client.interfaces.Rafraichissable;
379 jp_milcent 12
import org.tela_botanica.client.modeles.Information;
420 jp_milcent 13
import org.tela_botanica.client.modeles.Projet;
14
import org.tela_botanica.client.modeles.ProjetListe;
60 jpm 15
import org.tela_botanica.client.modeles.Structure;
379 jp_milcent 16
import org.tela_botanica.client.modeles.StructureAPersonne;
17
import org.tela_botanica.client.modeles.StructureAPersonneListe;
18
import org.tela_botanica.client.modeles.StructureConservation;
19
import org.tela_botanica.client.modeles.StructureValorisation;
406 jp_milcent 20
import org.tela_botanica.client.modeles.Valeur;
21
import org.tela_botanica.client.modeles.ValeurListe;
60 jpm 22
 
23
import com.extjs.gxt.ui.client.Style.Scroll;
24
import com.extjs.gxt.ui.client.util.Format;
25
import com.extjs.gxt.ui.client.util.Params;
26
import com.extjs.gxt.ui.client.widget.ContentPanel;
374 jp_milcent 27
import com.extjs.gxt.ui.client.widget.Html;
373 jp_milcent 28
import com.extjs.gxt.ui.client.widget.HtmlContainer;
29
import com.extjs.gxt.ui.client.widget.LayoutContainer;
30
import com.extjs.gxt.ui.client.widget.TabItem;
31
import com.extjs.gxt.ui.client.widget.TabPanel;
390 jp_milcent 32
import com.extjs.gxt.ui.client.widget.layout.AnchorLayout;
60 jpm 33
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
374 jp_milcent 34
import com.extjs.gxt.ui.client.widget.layout.FlowLayout;
373 jp_milcent 35
import com.google.gwt.core.client.GWT;
60 jpm 36
 
453 jp_milcent 37
public class StructureDetailVue extends DetailVue implements Rafraichissable {
60 jpm 38
 
374 jp_milcent 39
	private String enteteTpl = null;
379 jp_milcent 40
	private String identificationTpl = null;
41
	private String personnelTpl = null;
390 jp_milcent 42
	private String tableauPersonnelTpl = null;
379 jp_milcent 43
	private String lignePersonnelTpl = null;
390 jp_milcent 44
	private String conservationTpl = null;
420 jp_milcent 45
	private String traitementConservationTpl = null;
390 jp_milcent 46
	private String valorisationTpl = null;
426 jp_milcent 47
	private String typeTraitementConservationTpl = null;
48
	private String rechercheValorisationTpl = null;
373 jp_milcent 49
 
50
	private Structure structure = null;
379 jp_milcent 51
	private StructureAPersonneListe personnel = null;
52
	private StructureValorisation valorisation = null;
53
	private StructureConservation conservation = null;
373 jp_milcent 54
 
55
	private ContentPanel panneauPrincipal = null;
374 jp_milcent 56
	private Html entete = null;
373 jp_milcent 57
	private TabPanel onglets = null;
58
	private TabItem identificationOnglet = null;
379 jp_milcent 59
	private TabItem personnelOnglet = null;
390 jp_milcent 60
	private TabItem conservationOnglet = null;
61
	private TabItem valorisationOnglet = null;
406 jp_milcent 62
 
441 jp_milcent 63
	public StructureDetailVue(Mediateur mediateurCourant) {
453 jp_milcent 64
		super(mediateurCourant);
65
 
379 jp_milcent 66
		initialiserTousLesTpl();
420 jp_milcent 67
		chargerOntologie();
60 jpm 68
 
373 jp_milcent 69
		panneauPrincipal = new ContentPanel();
522 gduche 70
		panneauPrincipal.setLayout(new FitLayout());
374 jp_milcent 71
		panneauPrincipal.setHeaderVisible(false);
72
		panneauPrincipal.setBodyBorder(false);
390 jp_milcent 73
 
374 jp_milcent 74
	    entete = new Html();
379 jp_milcent 75
	    entete.setId(ComposantId.ZONE_DETAIL_ENTETE);
374 jp_milcent 76
	    panneauPrincipal.setTopComponent(entete);
77
 
373 jp_milcent 78
		onglets = new TabPanel();
379 jp_milcent 79
		onglets.setId(ComposantId.ZONE_DETAIL_CORPS);
522 gduche 80
 
374 jp_milcent 81
		onglets.setBodyBorder(false);
522 gduche 82
 
426 jp_milcent 83
		identificationOnglet = new TabItem(i18nC.structureInfoGeneral());
390 jp_milcent 84
		identificationOnglet.setLayout(new AnchorLayout());
522 gduche 85
		identificationOnglet.setHeight("100%");
379 jp_milcent 86
		identificationOnglet.setScrollMode(Scroll.AUTO);
373 jp_milcent 87
		onglets.add(identificationOnglet);
88
 
426 jp_milcent 89
		personnelOnglet = new TabItem(i18nC.structureInfoPersonnel());
390 jp_milcent 90
		personnelOnglet.setLayout(new AnchorLayout());
379 jp_milcent 91
		personnelOnglet.setScrollMode(Scroll.AUTO);
92
		onglets.add(personnelOnglet);
93
 
426 jp_milcent 94
		conservationOnglet = new TabItem(i18nC.structureInfoConservation());
390 jp_milcent 95
		conservationOnglet.setLayout(new AnchorLayout());
96
		conservationOnglet.setScrollMode(Scroll.AUTO);
97
		onglets.add(conservationOnglet);
98
 
426 jp_milcent 99
		valorisationOnglet = new TabItem(i18nC.structureInfoValorisation());
390 jp_milcent 100
		valorisationOnglet.setLayout(new AnchorLayout());
101
		valorisationOnglet.setScrollMode(Scroll.AUTO);
102
		onglets.add(valorisationOnglet);
103
 
373 jp_milcent 104
		panneauPrincipal.add(onglets);
105
		add(panneauPrincipal);
60 jpm 106
	}
107
 
420 jp_milcent 108
	private void chargerOntologie() {
109
		mediateur.obtenirListeValeurEtRafraichir(this, "stpr");
110
		mediateur.obtenirListeValeurEtRafraichir(this, "stpu");
111
		mediateur.obtenirListeValeurEtRafraichir(this, "statut");
112
		mediateur.obtenirListeValeurEtRafraichir(this, "fonction");
113
		mediateur.obtenirListeValeurEtRafraichir(this, "pays");
114
		mediateur.obtenirListeValeurEtRafraichir(this, "localStockage");
115
		mediateur.obtenirListeValeurEtRafraichir(this, "meubleStockage");
116
		mediateur.obtenirListeValeurEtRafraichir(this, "parametreStockage");
117
		mediateur.obtenirListeValeurEtRafraichir(this, "autreCollection");
118
		mediateur.obtenirListeValeurEtRafraichir(this, "onep");
119
		mediateur.obtenirListeValeurEtRafraichir(this, "opRestau");
120
		mediateur.obtenirListeValeurEtRafraichir(this, "autreMateriel");
121
		mediateur.obtenirListeValeurEtRafraichir(this, "poisonTraitement");
122
		mediateur.obtenirListeValeurEtRafraichir(this, "insecteTraitement");
123
		mediateur.obtenirListeValeurEtRafraichir(this, "actionValorisation");
124
		mediateur.obtenirListeValeurEtRafraichir(this, "continentEtFr");
125
		mediateur.obtenirListeValeurEtRafraichir(this, "typeRecherche");
126
	}
127
 
390 jp_milcent 128
	private void afficherDetailInstitution() {
129
		if (structure != null) {
379 jp_milcent 130
			personnel = structure.getPersonnel();
131
			valorisation = structure.getValorisation();
132
			conservation = structure.getConservation();
133
 
373 jp_milcent 134
			afficherEntete();
135
			afficherIdentification();
390 jp_milcent 136
			if (personnel != null) {
137
				afficherPersonnel();
138
			}
139
			if (conservation != null) {
406 jp_milcent 140
				afficherConservation();
390 jp_milcent 141
			}
142
			if (valorisation != null) {
426 jp_milcent 143
				afficherValorisation();
390 jp_milcent 144
			}
60 jpm 145
		}
374 jp_milcent 146
		layout();
60 jpm 147
	}
373 jp_milcent 148
 
149
	private void afficherEntete() {
150
		Params enteteParams = new Params();
390 jp_milcent 151
		enteteParams.set("css_id", ComposantId.ZONE_DETAIL_ENTETE);
152
		enteteParams.set("css_meta", ComposantClass.META);
153
 
379 jp_milcent 154
		enteteParams.set("nom", structure.getNom());
155
		enteteParams.set("ville", structure.getVille());
390 jp_milcent 156
		enteteParams.set("id", structure.getId());
157
		enteteParams.set("guid", structure.getGuid());
448 jp_milcent 158
		enteteParams.set("projet", construireTxtProjet(structure.getIdProjet()));
373 jp_milcent 159
 
374 jp_milcent 160
		String eHtml = Format.substitute(enteteTpl, enteteParams);
373 jp_milcent 161
		entete.getElement().setInnerHTML(eHtml);
162
	}
163
 
164
	private void afficherIdentification() {
420 jp_milcent 165
		Params identificationParams = new Params();
406 jp_milcent 166
		identificationParams.set("i18n_titre_administratif", i18nC.titreAdministratif());
167
		identificationParams.set("i18n_acronyme", i18nC.acronyme());
168
		identificationParams.set("i18n_statut", i18nC.statut());
169
		identificationParams.set("i18n_date_fondation", mediateur.i18nC.dateFondation());
170
		identificationParams.set("i18n_nbre_personnel", mediateur.i18nC.nbrePersonnel());
390 jp_milcent 171
 
406 jp_milcent 172
		identificationParams.set("i18n_titre_description", mediateur.i18nC.description());
173
		identificationParams.set("i18n_description", mediateur.i18nC.description());
390 jp_milcent 174
 
406 jp_milcent 175
		identificationParams.set("i18n_titre_adresse", mediateur.i18nC.adresse());
176
		identificationParams.set("i18n_adresse", mediateur.i18nC.adresse());
177
		identificationParams.set("i18n_cp", mediateur.i18nC.codePostal());
178
		identificationParams.set("i18n_ville", mediateur.i18nC.ville());
179
		identificationParams.set("i18n_region", mediateur.i18nC.region());
180
		identificationParams.set("i18n_pays", mediateur.i18nC.pays());
390 jp_milcent 181
 
406 jp_milcent 182
		identificationParams.set("i18n_titre_communication", mediateur.i18nC.titreCommunication());
183
		identificationParams.set("i18n_tel", mediateur.i18nC.telephone());
184
		identificationParams.set("i18n_fax", mediateur.i18nC.fax());
185
		identificationParams.set("i18n_courriel", mediateur.i18nC.courriel());
186
		identificationParams.set("i18n_acces", mediateur.i18nC.acces());
187
		identificationParams.set("i18n_web", mediateur.i18nC.siteWeb());
420 jp_milcent 188
 
189
		String acronyme = construireTxtTruck(structure.getIdAlternatif());
190
		String typePrive = construireTxtListeOntologie(structure.getTypePrive());
191
		String typePublic = construireTxtListeOntologie(structure.getTypePublic());
192
		String pays = construireTxtListeOntologie(structure.getPays());
193
		String web = construireTxtTruck(structure.getUrl());
390 jp_milcent 194
 
420 jp_milcent 195
		identificationParams.set("acronyme", acronyme);
196
		identificationParams.set("statut", typePrive+typePublic);
406 jp_milcent 197
		identificationParams.set("date_fondation", structure.getDateFondationFormatLong());
198
		identificationParams.set("nbre_personnel", structure.getNbrePersonne());
390 jp_milcent 199
 
406 jp_milcent 200
		identificationParams.set("description", structure.getDescription());
390 jp_milcent 201
 
406 jp_milcent 202
		identificationParams.set("adresse", structure.getAdresse());
203
		identificationParams.set("cp", structure.getCodePostal());
204
		identificationParams.set("ville", structure.getVille());
205
		identificationParams.set("region", structure.getRegion());
420 jp_milcent 206
		identificationParams.set("pays", pays);
390 jp_milcent 207
 
406 jp_milcent 208
		identificationParams.set("tel", structure.getTelephone());
209
		identificationParams.set("fax", structure.getFax());
210
		identificationParams.set("courriel", structure.getCourriel());
211
		identificationParams.set("acces", structure.getConditionAcces());
420 jp_milcent 212
		identificationParams.set("web", web);
379 jp_milcent 213
 
406 jp_milcent 214
		afficherOnglet(identificationTpl, identificationParams, identificationOnglet);
373 jp_milcent 215
	}
216
 
379 jp_milcent 217
	private void afficherPersonnel() {
390 jp_milcent 218
		String tableauPersonnelHtml = "";
219
		if (personnel.size() > 0) {
220
			tableauPersonnelHtml = construireTableauDuPersonnel();
221
		}
222
 
420 jp_milcent 223
		Params personnelParams = new Params();
406 jp_milcent 224
		personnelParams.set("i18n_titre_personnel", i18nC.titrePersonnel());
225
		personnelParams.set("i18n_nbre_personnel_collection", i18nC.nbrePersonnelCollection());
226
		personnelParams.set("nbre_personnel_collection", personnel.size());
227
		personnelParams.set("tableau_personnel", tableauPersonnelHtml);
379 jp_milcent 228
 
406 jp_milcent 229
		afficherOnglet(personnelTpl, personnelParams, personnelOnglet);
390 jp_milcent 230
	}
231
 
232
	private String construireTableauDuPersonnel() {
233
		Params contenuParams = new Params();
406 jp_milcent 234
		contenuParams.set("i18n_titre_membre", i18nC.titreMembre());
235
		contenuParams.set("i18n_fonction", i18nC.fonction());
236
		contenuParams.set("i18n_prenom", i18nC.prenom());
237
		contenuParams.set("i18n_nom", i18nC.nom());
238
		contenuParams.set("i18n_tel", i18nC.telephoneFixe());
239
		contenuParams.set("i18n_fax", i18nC.fax());
240
		contenuParams.set("i18n_courriel", i18nC.courrielPrincipal());
241
		contenuParams.set("i18n_statut", i18nC.statut());
242
		contenuParams.set("i18n_tps_w", i18nC.tpsTravail());
243
		contenuParams.set("i18n_specialite", i18nC.specialite());
244
		contenuParams.set("i18n_contact", i18nC.boolContact());
390 jp_milcent 245
 
379 jp_milcent 246
		String lignesPersonnel = "";
247
		Iterator<String> it = personnel.keySet().iterator();
248
		while (it.hasNext()) {
249
			StructureAPersonne personne = personnel.get(it.next());
250
			Params ligneParams = new Params();
420 jp_milcent 251
 
252
			String fonction = construireTxtListeOntologie(personne.getFonction());
253
			String statut = construireTxtListeOntologie(personne.getStatut());
254
			String contact = formaterOuiNon(personne.getContact());
255
 
256
			ligneParams.set("fonction", fonction);
379 jp_milcent 257
			ligneParams.set("prenom", personne.getPrenom());
258
			ligneParams.set("nom", personne.getNom());
259
			ligneParams.set("tel", personne.getTelephone());
260
			ligneParams.set("fax", personne.getFax());
261
			ligneParams.set("courriel", personne.getCourriel());
420 jp_milcent 262
			ligneParams.set("statut", statut);
379 jp_milcent 263
			ligneParams.set("tps_w", personne.getBotaTravailHebdoTps());
264
			ligneParams.set("specialite", personne.afficherSpecialite());
420 jp_milcent 265
			ligneParams.set("contact", contact);
379 jp_milcent 266
			lignesPersonnel += Format.substitute(lignePersonnelTpl, ligneParams);
267
		}
268
		contenuParams.set("lignes", lignesPersonnel);
269
 
390 jp_milcent 270
		String cHtml = Format.substitute(tableauPersonnelTpl, contenuParams);
271
		return cHtml;
379 jp_milcent 272
	}
406 jp_milcent 273
 
274
	private void afficherConservation() {
420 jp_milcent 275
		Params conservationParams  = new Params();
406 jp_milcent 276
		conservationParams.set("i18n_titre_conservation_personnel", i18nC.titreConservationPersonnel());
277
		conservationParams.set("i18n_formation", i18nC.formation());
278
		conservationParams.set("i18n_formation_interet", i18nC.formationInteret());
279
 
280
		conservationParams.set("i18n_titre_local", i18nC.titreLocal());
281
		conservationParams.set("i18n_local_specifique", i18nC.localSpecifique());
282
		conservationParams.set("i18n_meuble_specifique", i18nC.meubleSpecifique());
283
		conservationParams.set("i18n_local_parametre", i18nC.localParametre());
420 jp_milcent 284
		conservationParams.set("i18n_conservation_en_commun", i18nC.conservationEnCommun());
285
		conservationParams.set("i18n_acces_controle", i18nC.accesControle());
406 jp_milcent 286
 
420 jp_milcent 287
		conservationParams.set("i18n_titre_operation", i18nC.titreOperation());
288
		conservationParams.set("i18n_restauration", i18nC.restauration());
289
		conservationParams.set("i18n_materiel_conservation", i18nC.materielConservation());
290
		conservationParams.set("i18n_traitement", i18nC.traitement());
291
 
292
		conservationParams.set("i18n_titre_acquisition", i18nC.titreAcquisition());
293
		conservationParams.set("i18n_acquisition_collection", i18nC.acquisitionCollection());
294
		conservationParams.set("i18n_acquisition_echantillon", i18nC.acquisitionEchantillon());
295
 
406 jp_milcent 296
		conservationParams.set("formation", formaterOuiNon(conservation.getFormation()));
297
		conservationParams.set("formation_info", formaterSautDeLigne(conservation.getFormationInfo()));
298
		conservationParams.set("formation_interet", formaterOuiNon(conservation.getFormationInteret()));
299
		conservationParams.set("meuble_specifique", conservation.getStockageMeuble());
300
 
420 jp_milcent 301
		String chaineAAnalyser = conservation.getStockageLocal();
302
		String chaineAAfficher = construireTxtListeOntologie(chaineAAnalyser);
303
		conservationParams.set("local_specifique", chaineAAfficher);
406 jp_milcent 304
 
420 jp_milcent 305
		chaineAAnalyser = conservation.getStockageMeuble();
306
		chaineAAfficher = construireTxtListeOntologie(chaineAAnalyser);
307
		conservationParams.set("meuble_specifique", chaineAAfficher);
308
 
309
		chaineAAnalyser = conservation.getStockageParametre();
310
		chaineAAfficher = construireTxtListeOntologie(chaineAAnalyser);
311
		conservationParams.set("local_parametre", chaineAAfficher);
312
 
313
		conservationParams.set("conservation_en_commun", formaterOuiNon(conservation.getCollectionCommune()));
314
		chaineAAnalyser = conservation.getCollectionAutre();
315
		chaineAAfficher = construireTxtListeOntologie(chaineAAnalyser);
316
		conservationParams.set("collection_autre", formaterParenthese(chaineAAfficher));
317
 
318
		conservationParams.set("acces_controle", formaterOuiNon(conservation.getAccesControle()));
319
 
320
		conservationParams.set("restauration", formaterOuiNon(conservation.getRestauration()));
321
		chaineAAnalyser = conservation.getRestaurationOperation();
322
		chaineAAfficher = construireTxtListeOntologie(chaineAAnalyser);
323
		conservationParams.set("restauration_operation", formaterParenthese(chaineAAfficher));
324
 
325
		chaineAAnalyser = conservation.getMaterielConservation();
326
		chaineAAfficher = construireTxtListeOntologie(chaineAAnalyser);
327
		conservationParams.set("materiel_conservation", chaineAAfficher);
328
		chaineAAnalyser = conservation.getMaterielAutre();
329
		chaineAAfficher = construireTxtListeOntologie(chaineAAnalyser);
330
		conservationParams.set("materiel_autre", formaterParenthese(chaineAAfficher));
331
 
332
		conservationParams.set("traitement", formaterOuiNon(conservation.getTraitement()));
333
		chaineAAnalyser = conservation.getTraitements();
334
		chaineAAfficher = construireTxtListeOntologie(chaineAAnalyser);
335
		conservationParams.set("traitements", formaterParenthese(chaineAAfficher));
336
 
337
		conservationParams.set("acquisition_collection", formaterOuiNon(conservation.getAcquisitionCollection()));
338
		conservationParams.set("acquisition_echantillon", formaterOuiNon(conservation.getAcquisitionEchantillon()));
339
		conservationParams.set("acquisition_traitement_info", construireTraitement());
340
 
406 jp_milcent 341
		afficherOnglet(conservationTpl, conservationParams, conservationOnglet);
342
	}
343
 
420 jp_milcent 344
	private String construireTraitement() {
345
		String cHtml = "";
346
		String echantillon = conservation.getAcquisitionEchantillon();
347
 
348
		if (echantillon.equals("1")) {
349
			Params traitementConservationParams  = new Params();
350
			traitementConservationParams.set("i18n_acquisition_traitement", i18nC.acquisitionTraitement());
351
 
352
			traitementConservationParams.set("acquisition_traitement", formaterOuiNon(conservation.getAcquisitionTraitement()));
353
 
354
			traitementConservationParams.set("acquisition_traitement_type_info", construireTraitementType());
355
 
356
			cHtml = Format.substitute(traitementConservationTpl, traitementConservationParams);
357
		}
358
 
359
		return cHtml;
360
	}
361
 
362
	private String construireTraitementType() {
363
		String cHtml = "";
364
		String traitement = conservation.getAcquisitionTraitement();
365
 
366
		if (traitement.equals("1")) {
367
			Params typeTraitementParams  = new Params();
368
			typeTraitementParams.set("i18n_acquisition_traitement_insecte", i18nC.acquisitionTraitementInsecte());
369
			typeTraitementParams.set("i18n_acquisition_traitement_poison", i18nC.acquisitionTraitementPoison());
370
 
371
			String acquisitionTraitementInsecte = construireTxtListeOntologie(conservation.getAcquisitionTraitementInsecte());
372
			typeTraitementParams.set("acquisition_traitement_insecte", acquisitionTraitementInsecte);
373
			String acquisitionTraitementPoison = construireTxtListeOntologie(conservation.getAcquisitionTraitementPoison());
374
			typeTraitementParams.set("acquisition_traitement_poison", acquisitionTraitementPoison);
375
 
376
			cHtml = Format.substitute(typeTraitementConservationTpl, typeTraitementParams);
377
		}
378
 
379
		return cHtml;
380
	}
381
 
426 jp_milcent 382
	private void afficherValorisation() {
383
		Params valorisationParams  = new Params();
384
		valorisationParams.set("i18n_titre_action_valorisation", i18nC.titreActionValorisation());
385
		valorisationParams.set("i18n_action", i18nC.action());
386
		valorisationParams.set("i18n_action_publication", i18nC.actionPublication());
387
		valorisationParams.set("i18n_collection_autre", i18nC.collectionAutre());
388
		valorisationParams.set("i18n_action_future", i18nC.actionFuture());
389
 
390
		valorisationParams.set("action", formaterOuiNon(valorisation.getAction()));
391
		String actionInfo = construireTxtListeOntologie(valorisation.getActionInfo());
392
		valorisationParams.set("action_info", formaterParenthese(actionInfo));
393
		valorisationParams.set("action_publication", valorisation.getPublication());
394
		String collectionAutre = construireTxtListeOntologie(valorisation.getCollectionAutre());
395
		valorisationParams.set("collection_autre", collectionAutre);
396
		valorisationParams.set("action_future", formaterOuiNon(valorisation.getActionFuture()));
397
		valorisationParams.set("action_future_info", formaterParenthese(valorisation.getActionFutureInfo()));
398
 
399
		valorisationParams.set("i18n_titre_recherche_scientifique", i18nC.titreRechercherScientifique());
400
		valorisationParams.set("i18n_recherche", i18nC.recherche());
401
 
402
		valorisationParams.set("recherche", formaterOuiNon(valorisation.getRecherche()));
403
		valorisationParams.set("recherche_info", construireRecherche());
404
 
405
		valorisationParams.set("i18n_titre_acces_usage", i18nC.titreAccesUsage());
406
		valorisationParams.set("i18n_acces", i18nC.acces());
407
		valorisationParams.set("i18n_visite", i18nC.visite());
408
 
409
		valorisationParams.set("acces", formaterOuiNon(valorisation.getAccesSansMotif()));
410
		valorisationParams.set("acces_info", formaterParenthese(valorisation.getAccesSansMotifInfo()));
411
		valorisationParams.set("visite", formaterOuiNon(valorisation.getVisiteAvecMotif()));
412
		valorisationParams.set("visite_info", formaterParenthese(valorisation.getVisiteAvecMotifInfo()));
413
 
414
		afficherOnglet(valorisationTpl, valorisationParams, valorisationOnglet);
406 jp_milcent 415
	}
416
 
426 jp_milcent 417
	private String construireRecherche() {
418
		String cHtml = "";
419
		String recherche = valorisation.getRecherche();
420
 
421
		if (recherche.equals("1")) {
422
			Params rechercheParams  = new Params();
423
			rechercheParams.set("i18n_recherche_provenance", i18nC.rechercheProvenance());
424
			rechercheParams.set("i18n_recherche_type", i18nC.rechercheType());
425
 
426
			String rechercheProvenance = construireTxtListeOntologie(valorisation.getRechercheProvenance());
427
			rechercheParams.set("recherche_provenance", rechercheProvenance);
428
			String rechercheType = construireTxtListeOntologie(valorisation.getRechercheType());
429
			rechercheParams.set("recherche_type", rechercheType);
430
 
431
			cHtml = Format.substitute(rechercheValorisationTpl, rechercheParams);
420 jp_milcent 432
		}
426 jp_milcent 433
 
434
		return cHtml;
420 jp_milcent 435
	}
436
 
379 jp_milcent 437
	private void initialiserTousLesTpl() {
438
		initialiserEnteteHtmlTpl();
439
		initialiserIdentificationTpl();
440
		initialiserPersonnelTpl();
390 jp_milcent 441
		initialiserTableauPersonnelTpl();
379 jp_milcent 442
		initialiserLignePersonnelTpl();
390 jp_milcent 443
		initialiserConservationTpl();
420 jp_milcent 444
		initialiserTraitementConservationTpl();
445
		initialiserTypeTraitementConservationTpl();
390 jp_milcent 446
		initialiserValorisationTpl();
426 jp_milcent 447
		initialiserRechercheValorisationTpl();
379 jp_milcent 448
	}
449
 
373 jp_milcent 450
	private void initialiserEnteteHtmlTpl() {
420 jp_milcent 451
		enteteTpl =
452
			"<div id='{css_id}'>"+
453
			"	<h1>{nom}</h1>"+
454
			"	<h2>{ville}<span class='{css_meta}'>{projet} - {id} - {guid}</span></h2>" +
455
			"	" +
456
			"</div>";
373 jp_milcent 457
	}
458
 
379 jp_milcent 459
	private void initialiserIdentificationTpl() {
460
		identificationTpl =
420 jp_milcent 461
			"<div class='{css_corps}'>"+
462
			"	<div class='{css_fieldset}'>"+
463
			"		<h2>{i18n_titre_administratif}</h2>"+
464
			"		<span class='{css_label}'>{i18n_acronyme} :</span> {acronyme}<br />"+
465
			"		<span class='{css_label}'>{i18n_acces} :</span> {acces}<br />"+
466
			"		<span class='{css_label}'>{i18n_statut} :</span> {statut}<br />"+
467
			"		<span class='{css_label}'>{i18n_date_fondation} :</span> {date_fondation}<br />"+
468
			"		<span class='{css_label}'>{i18n_nbre_personnel} :</span> {nbre_personnel}<br />"+
469
			"	</div>"+
470
			"	<div class='{css_fieldset}'>"+
471
			"		<h2>{i18n_titre_description}</h2>"+
472
			"		{description}"+
473
			"	</div>"+
474
			"	<hr class='{css_clear}'/>"+
475
			"	<div class='{css_fieldset}'>"+
476
			"		<h2>{i18n_titre_adresse}</h2>"+
477
			"		<span class='{css_label}'>{i18n_adresse} :</span> {adresse}<br />" +
478
			"		<span class='{css_label}'>{i18n_cp} :</span> {cp}<br />" +
479
			"		<span class='{css_label}'>{i18n_ville} :</span> {ville}<br />" +
480
			"		<span class='{css_label}'>{i18n_region} :</span> {region}<br />" +
481
			"		<span class='{css_label}'>{i18n_pays} :</span> {pays}<br />" +
482
			"	</div>"+
483
			"	<div class='{css_fieldset}'>"+
484
			"		<h2>{i18n_titre_communication}</h2>"+
485
			"		<span class='{css_label}'>{i18n_tel} :</span> {tel}<br />"+
486
			"		<span class='{css_label}'>{i18n_fax} :</span> {fax}<br />"+
487
			"		<span class='{css_label}'>{i18n_courriel} :</span> {courriel}<br />"+
488
			"		<span class='{css_label}'>{i18n_web} :</span> {web}<br />"+
489
			"	</div>"+
490
			"</div>";
373 jp_milcent 491
	}
492
 
379 jp_milcent 493
	private void initialiserPersonnelTpl() {
494
		personnelTpl =
420 jp_milcent 495
			"<div class='{css_corps}'>"+
496
			"	<h2>{i18n_titre_personnel}</h2>"+
497
			"	<p><span class='{css_label}'>{i18n_nbre_personnel_collection} :</span> {nbre_personnel_collection}</p>"+
498
			"	{tableau_personnel}"+
499
			"</div>";
379 jp_milcent 500
	}
501
 
390 jp_milcent 502
	private void initialiserTableauPersonnelTpl() {
503
		tableauPersonnelTpl =
420 jp_milcent 504
			"<h3>{i18n_titre_membre}</h3>"+
505
			"<table>"+
506
			"	<thead>"+
507
			"		<tr>" +
508
			"			<th>{i18n_fonction}</th>" +
509
			"			<th>{i18n_prenom}</th>" +
510
			"			<th>{i18n_nom}</th>" +
511
			"			<th>{i18n_tel}</th>" +
512
			"			<th>{i18n_fax}</th>" +
513
			"			<th>{i18n_courriel}</th>" +
514
			"			<th>{i18n_statut}</th>" +
515
			"			<th>{i18n_tps_w}</th>" +
516
			"			<th>{i18n_specialite}</th>" +
517
			"			<th>{i18n_contact}</th>" +
518
			"		</tr>"+
519
			"	</thead>"+
520
			"	<tbody>"+
521
			"		{lignes}"+
522
			"	</tbody>"+
523
			"</table>";
390 jp_milcent 524
	}
525
 
379 jp_milcent 526
	private void initialiserLignePersonnelTpl() {
527
		lignePersonnelTpl =
420 jp_milcent 528
			"<tr>"+
529
			"	<td>{fonction}</td>"+
530
			"	<td>{prenom}</td>"+
531
			"	<td>{nom}</td>"+
532
			"	<td>{tel}</td>" +
533
			"	<td>{fax}</td>" +
534
			"	<td>{courriel}</td>" +
535
			"	<td>{statut}</td>" +
536
			"	<td>{tps_w}</td>" +
537
			"	<td>{specialite}</td>" +
538
			"	<td>{contact}</td>" +
539
			"</tr>";
379 jp_milcent 540
	}
541
 
390 jp_milcent 542
	private void initialiserConservationTpl() {
543
		conservationTpl =
420 jp_milcent 544
			"<div class='{css_corps}'>"+
545
			"	<div class='{css_fieldset}'>"+
546
			"		<h2>{i18n_titre_conservation_personnel}</h2>"+
547
			"		<span class='{css_label}'>{i18n_formation} :</span> {formation}<br />"+
548
			"		{formation_info}<br />"+
549
			"		<span class='{css_label}'>{i18n_formation_interet} :</span> {formation_interet}<br />"+
550
			"	</div>"+
551
			"	<div class='{css_fieldset}'>"+
552
			"		<h2>{i18n_titre_local}</h2>"+
553
			"		<span class='{css_label}'>{i18n_local_specifique} :</span> {local_specifique}<br />"+
554
			"		<span class='{css_label}'>{i18n_meuble_specifique} :</span> {meuble_specifique}<br />"+
555
			"		<span class='{css_label}'>{i18n_local_parametre} :</span> {local_parametre}<br />"+
556
			"		<span class='{css_label}'>{i18n_conservation_en_commun} :</span> {conservation_en_commun} {collection_autre}<br />"+
557
			"		<span class='{css_label}'>{i18n_acces_controle} :</span> {acces_controle}<br />"+
558
			"	</div>"+
559
			"	<hr class='{css_clear}'/>"+
560
			"	<div class='{css_fieldset}'>"+
561
			"		<h2>{i18n_titre_operation}</h2>"+
562
			"		<span class='{css_label}'>{i18n_restauration} :</span> {restauration} {restauration_operation}<br />"+
563
			"		<span class='{css_label}'>{i18n_materiel_conservation} :</span> {materiel_conservation} {materiel_autre}<br />"+
564
			"		<span class='{css_label}'>{i18n_traitement} :</span> {traitement} {traitements}<br />"+
565
			"	</div>"+
566
			"	<div class='{css_fieldset}'>"+
567
			"		<h2>{i18n_titre_acquisition}</h2>"+
568
			"		<span class='{css_label}'>{i18n_acquisition_collection} :</span> {acquisition_collection}<br />"+
569
			"		<span class='{css_label}'>{i18n_acquisition_echantillon} :</span> {acquisition_echantillon}<br />"+
570
			"			{acquisition_traitement_info}" +
571
			"	</div>"+
572
			"</div>";
390 jp_milcent 573
	}
574
 
420 jp_milcent 575
	private void initialiserTraitementConservationTpl() {
576
		traitementConservationTpl =
426 jp_milcent 577
			"<span class='{css_indentation} {css_label}'>{i18n_acquisition_traitement} :</span> {acquisition_traitement}<br />"+
578
			"	<div class='{css_indentation}'>"+
579
			"		{acquisition_traitement_type_info}"+
580
			"	</div>";
420 jp_milcent 581
	}
582
 
583
	private void initialiserTypeTraitementConservationTpl() {
584
		typeTraitementConservationTpl =
585
			"<span class='{css_indentation} {css_label}'>{i18n_acquisition_traitement_insecte} :</span> {acquisition_traitement_insecte}<br />"+
586
			"<span class='{css_indentation} {css_label}'>{i18n_acquisition_traitement_poison} :</span> {acquisition_traitement_poison}<br />";
587
	}
588
 
390 jp_milcent 589
	private void initialiserValorisationTpl() {
590
		valorisationTpl =
420 jp_milcent 591
			"<div class='{css_corps}'>"+
592
			"	<div class='{css_fieldset}'>"+
593
			"		<h2>{i18n_titre_action_valorisation}</h2>"+
426 jp_milcent 594
			"		<span class='{css_label}'>{i18n_action} :</span> {action} {action_info}<br />"+
595
			"		<span class='{css_label}'>{i18n_action_publication} :</span> {action_publication}<br />"+
596
			"		<span class='{css_label}'>{i18n_collection_autre} :</span> {collection_autre}<br />"+
597
			"		<span class='{css_label}'>{i18n_action_future} :</span> {action_future} {action_future_info}<br />"+
420 jp_milcent 598
			"	</div>"+
599
			"	<div class='{css_fieldset}'>"+
600
			"		<h2>{i18n_titre_recherche_scientifique}</h2>"+
426 jp_milcent 601
			"		<span class='{css_label}'>{i18n_recherche} :</span> {recherche}<br />"+
602
			"			{recherche_info}"+
420 jp_milcent 603
			"	</div>"+
604
			"	<hr class='{css_clear}'/>"+
605
			"	<div class='{css_fieldset}'>"+
606
			"		<h2>{i18n_titre_acces_usage}</h2>"+
426 jp_milcent 607
			"		<span class='{css_label}'>{i18n_visite} :</span> {visite} {visite_info}<br />"+
608
			"		<span class='{css_label}'>{i18n_acces} :</span> {acces} {acces_info}<br />"+
420 jp_milcent 609
			"	</div>"+
610
			"</div>";
390 jp_milcent 611
	}
612
 
426 jp_milcent 613
	private void initialiserRechercheValorisationTpl() {
614
		rechercheValorisationTpl =
615
			"<span class='{css_indentation} {css_label}'>{i18n_recherche_provenance} :</span> {recherche_provenance}<br />"+
616
			"<span class='{css_indentation} {css_label}'>{i18n_recherche_type} :</span> {recherche_type}<br />";
617
	}
618
 
60 jpm 619
	public void rafraichir(Object nouvelleDonnees) {
620
		if (nouvelleDonnees instanceof Structure) {
390 jp_milcent 621
			structure = (Structure) nouvelleDonnees;
622
			afficherDetailInstitution();
420 jp_milcent 623
		} else if (nouvelleDonnees instanceof ProjetListe) {
624
			projets = (ProjetListe) nouvelleDonnees;
625
		} else if (nouvelleDonnees instanceof ValeurListe) {
626
			ValeurListe ontologieReceptionnee = (ValeurListe) nouvelleDonnees;
627
			ajouterListeValeursAOntologie(ontologieReceptionnee);
406 jp_milcent 628
		} else if (nouvelleDonnees instanceof Information) {
379 jp_milcent 629
			Information info = (Information) nouvelleDonnees;
630
			if (info.getType().equals("liste_structure_a_personne")) {
631
				allouerPersonnelAStructure((StructureAPersonneListe) info.getDonnee(0));
390 jp_milcent 632
				afficherDetailInstitution();
379 jp_milcent 633
			}
373 jp_milcent 634
		} else {
635
			GWT.log("Pas de correspondance dans la méthode rafraichir() de la classe "+this.getClass(), null);
60 jpm 636
		}
637
	}
420 jp_milcent 638
 
426 jp_milcent 639
	protected void allouerPersonnelAStructure(StructureAPersonneListe personnel) {
640
		structure.setPersonnel(personnel);
641
	}
642
 
448 jp_milcent 643
	protected String construireTxtProjet(String idProjet) {
420 jp_milcent 644
		String chaineARetourner = idProjet;
645
 
646
		if (projets != null) {
647
			Projet projet = projets.get(idProjet);
648
			String nomDuProjet = projet.getNom();
649
			if  (!nomDuProjet.equals("")) {
650
				chaineARetourner = nomDuProjet;
651
			}
652
		}
653
 
654
		return chaineARetourner;
655
	}
656
 
657
	protected String construireTxtListeOntologie(String chaineAAnalyser) {
658
		ArrayList<String> termes = new ArrayList<String>();
659
		ArrayList<String> autres = new ArrayList<String>();
406 jp_milcent 660
		if ((chaineAAnalyser != null) && (!chaineAAnalyser.trim().equals("")))	{
661
			String[] valeurs = chaineAAnalyser.split(";;");
662
			int nbreValeurs = valeurs.length;
663
			if (nbreValeurs > 0)	{
664
				for (int i = 0; i < nbreValeurs; i++)	{
420 jp_milcent 665
					String id = valeurs[i];
666
					if (id.contains("AUTRE##"))	{
667
						String txt = id.replaceFirst("^AUTRE##", "");
668
						if (!txt.equals("")) {
669
							autres.add(txt);
670
						}
671
					} else if (id.matches("^[0-9]+$"))	{
672
						if (ontologie != null) {
673
							Valeur valeur = ontologie.get(id);
674
							if (valeur != null) {
675
								String termeOntologie = valeur.getNom();
676
								termes.add(termeOntologie);
406 jp_milcent 677
							}
678
						}
679
					}
680
				}
681
			}
682
		}
420 jp_milcent 683
 
684
		String chaineTermes = formaterTableauDeTxt(termes);
685
		String chaineAutres = formaterTableauDeTxt(autres);
686
		String chaineARetourner = chaineTermes+formaterAutre(chaineAutres);
687
 
688
		return chaineARetourner;
406 jp_milcent 689
	}
426 jp_milcent 690
}