Subversion Repositories eFlore/Applications.coel

Rev

Rev 392 | Rev 420 | 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;
379 jp_milcent 4
import java.util.Iterator;
406 jp_milcent 5
import java.util.List;
379 jp_milcent 6
import java.util.Map.Entry;
7
 
8
import org.tela_botanica.client.ComposantClass;
373 jp_milcent 9
import org.tela_botanica.client.ComposantId;
10
import org.tela_botanica.client.Mediateur;
406 jp_milcent 11
import org.tela_botanica.client.RegistreId;
12
import org.tela_botanica.client.i18n.Constantes;
60 jpm 13
import org.tela_botanica.client.interfaces.Rafraichissable;
406 jp_milcent 14
import org.tela_botanica.client.modeles.Configuration;
379 jp_milcent 15
import org.tela_botanica.client.modeles.Information;
60 jpm 16
import org.tela_botanica.client.modeles.Structure;
379 jp_milcent 17
import org.tela_botanica.client.modeles.StructureAPersonne;
18
import org.tela_botanica.client.modeles.StructureAPersonneListe;
19
import org.tela_botanica.client.modeles.StructureConservation;
20
import org.tela_botanica.client.modeles.StructureValorisation;
406 jp_milcent 21
import org.tela_botanica.client.modeles.Valeur;
22
import org.tela_botanica.client.modeles.ValeurListe;
60 jpm 23
 
374 jp_milcent 24
import com.extjs.gxt.ui.client.Events;
406 jp_milcent 25
import com.extjs.gxt.ui.client.Registry;
60 jpm 26
import com.extjs.gxt.ui.client.Style.Scroll;
27
import com.extjs.gxt.ui.client.util.Format;
28
import com.extjs.gxt.ui.client.util.Params;
29
import com.extjs.gxt.ui.client.widget.ContentPanel;
374 jp_milcent 30
import com.extjs.gxt.ui.client.widget.HorizontalPanel;
31
import com.extjs.gxt.ui.client.widget.Html;
373 jp_milcent 32
import com.extjs.gxt.ui.client.widget.HtmlContainer;
33
import com.extjs.gxt.ui.client.widget.LayoutContainer;
34
import com.extjs.gxt.ui.client.widget.TabItem;
35
import com.extjs.gxt.ui.client.widget.TabPanel;
390 jp_milcent 36
import com.extjs.gxt.ui.client.widget.layout.AnchorLayout;
60 jpm 37
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
374 jp_milcent 38
import com.extjs.gxt.ui.client.widget.layout.FlowLayout;
373 jp_milcent 39
import com.google.gwt.core.client.GWT;
390 jp_milcent 40
import com.google.gwt.i18n.client.DateTimeFormat;
60 jpm 41
 
373 jp_milcent 42
public class StructureDetailPanneauVue extends LayoutContainer implements Rafraichissable {
60 jpm 43
 
373 jp_milcent 44
	private Mediateur mediateur = null;
406 jp_milcent 45
	private Constantes i18nC = null;
373 jp_milcent 46
 
374 jp_milcent 47
	private String enteteTpl = null;
379 jp_milcent 48
	private String identificationTpl = null;
49
	private String personnelTpl = null;
390 jp_milcent 50
	private String tableauPersonnelTpl = null;
379 jp_milcent 51
	private String lignePersonnelTpl = null;
390 jp_milcent 52
	private String conservationTpl = null;
53
	private String valorisationTpl = null;
406 jp_milcent 54
	private String sautLigneTpl = null;
373 jp_milcent 55
 
56
	private Structure structure = null;
379 jp_milcent 57
	private StructureAPersonneListe personnel = null;
58
	private StructureValorisation valorisation = null;
59
	private StructureConservation conservation = null;
373 jp_milcent 60
 
61
	private ContentPanel panneauPrincipal = null;
374 jp_milcent 62
	private Html entete = null;
373 jp_milcent 63
	private TabPanel onglets = null;
64
	private TabItem identificationOnglet = null;
379 jp_milcent 65
	private TabItem personnelOnglet = null;
390 jp_milcent 66
	private TabItem conservationOnglet = null;
67
	private TabItem valorisationOnglet = null;
406 jp_milcent 68
 
69
	private Params identificationParams = null;
70
	private Params personnelParams = null;
71
	private Params conservationParams = null;
72
 
373 jp_milcent 73
	public StructureDetailPanneauVue(Mediateur mediateurCourant) {
74
		mediateur = mediateurCourant;
406 jp_milcent 75
		i18nC = mediateur.i18nC;
379 jp_milcent 76
		initialiserTousLesTpl();
60 jpm 77
 
78
		setLayout(new FitLayout());
373 jp_milcent 79
		setBorders(false);
80
		setScrollMode(Scroll.AUTO);
81
 
406 jp_milcent 82
		conservationParams  = new Params();
83
 
84
		mediateur.obtenirListeValeurEtRafraichir(this, "localStockage");
85
		mediateur.obtenirListeValeurEtRafraichir(this, "meubleStockage");
86
		mediateur.obtenirListeValeurEtRafraichir(this, "parametreStockage");
87
 
373 jp_milcent 88
		panneauPrincipal = new ContentPanel();
374 jp_milcent 89
		panneauPrincipal.setLayout(new FlowLayout());
90
		panneauPrincipal.setHeaderVisible(false);
91
		panneauPrincipal.setBodyBorder(false);
390 jp_milcent 92
 
374 jp_milcent 93
	    entete = new Html();
379 jp_milcent 94
	    entete.setId(ComposantId.ZONE_DETAIL_ENTETE);
374 jp_milcent 95
	    panneauPrincipal.setTopComponent(entete);
96
 
373 jp_milcent 97
		onglets = new TabPanel();
379 jp_milcent 98
		onglets.setId(ComposantId.ZONE_DETAIL_CORPS);
374 jp_milcent 99
		onglets.setHeight("100%");
100
		onglets.setBodyBorder(false);
101
 
373 jp_milcent 102
		identificationOnglet = new TabItem("Général");
390 jp_milcent 103
		identificationOnglet.setLayout(new AnchorLayout());
379 jp_milcent 104
		identificationOnglet.setScrollMode(Scroll.AUTO);
373 jp_milcent 105
		onglets.add(identificationOnglet);
106
 
379 jp_milcent 107
		personnelOnglet = new TabItem("Personnel");
390 jp_milcent 108
		personnelOnglet.setLayout(new AnchorLayout());
379 jp_milcent 109
		personnelOnglet.setScrollMode(Scroll.AUTO);
110
		onglets.add(personnelOnglet);
111
 
390 jp_milcent 112
		conservationOnglet = new TabItem("Conservation");
113
		conservationOnglet.setLayout(new AnchorLayout());
114
		conservationOnglet.setScrollMode(Scroll.AUTO);
115
		onglets.add(conservationOnglet);
116
 
117
		valorisationOnglet = new TabItem("Valorisation");
118
		valorisationOnglet.setLayout(new AnchorLayout());
119
		valorisationOnglet.setScrollMode(Scroll.AUTO);
120
		onglets.add(valorisationOnglet);
121
 
373 jp_milcent 122
		panneauPrincipal.add(onglets);
123
		add(panneauPrincipal);
60 jpm 124
	}
125
 
390 jp_milcent 126
	private void afficherDetailInstitution() {
127
		if (structure != null) {
379 jp_milcent 128
			personnel = structure.getPersonnel();
129
			valorisation = structure.getValorisation();
130
			conservation = structure.getConservation();
131
 
373 jp_milcent 132
			afficherEntete();
133
			afficherIdentification();
390 jp_milcent 134
			if (personnel != null) {
135
				afficherPersonnel();
136
			}
137
			if (conservation != null) {
406 jp_milcent 138
				afficherConservation();
390 jp_milcent 139
			}
140
			if (valorisation != null) {
141
				//afficherValorisation();
142
			}
60 jpm 143
		}
374 jp_milcent 144
		layout();
60 jpm 145
	}
373 jp_milcent 146
 
147
	private void afficherEntete() {
148
		Params enteteParams = new Params();
390 jp_milcent 149
		enteteParams.set("css_id", ComposantId.ZONE_DETAIL_ENTETE);
150
		enteteParams.set("css_meta", ComposantClass.META);
151
 
379 jp_milcent 152
		enteteParams.set("nom", structure.getNom());
153
		enteteParams.set("ville", structure.getVille());
390 jp_milcent 154
		enteteParams.set("id", structure.getId());
155
		enteteParams.set("guid", structure.getGuid());
156
		enteteParams.set("projet", structure.getIdProjet());
373 jp_milcent 157
 
374 jp_milcent 158
		String eHtml = Format.substitute(enteteTpl, enteteParams);
373 jp_milcent 159
		entete.getElement().setInnerHTML(eHtml);
160
	}
161
 
162
	private void afficherIdentification() {
406 jp_milcent 163
		identificationParams = new Params();
164
		identificationParams.set("css_corps", ComposantClass.DETAIL_CORPS_CONTENU);
165
		identificationParams.set("css_label", ComposantClass.LABEL);
166
		identificationParams.set("css_fieldset", ComposantClass.FIELDSET);
167
		identificationParams.set("css_clear", ComposantClass.CLEAR);
390 jp_milcent 168
 
406 jp_milcent 169
		identificationParams.set("i18n_titre_administratif", i18nC.titreAdministratif());
170
		identificationParams.set("i18n_acronyme", i18nC.acronyme());
171
		identificationParams.set("i18n_statut", i18nC.statut());
172
		identificationParams.set("i18n_date_fondation", mediateur.i18nC.dateFondation());
173
		identificationParams.set("i18n_nbre_personnel", mediateur.i18nC.nbrePersonnel());
390 jp_milcent 174
 
406 jp_milcent 175
		identificationParams.set("i18n_titre_description", mediateur.i18nC.description());
176
		identificationParams.set("i18n_description", mediateur.i18nC.description());
390 jp_milcent 177
 
406 jp_milcent 178
		identificationParams.set("i18n_titre_adresse", mediateur.i18nC.adresse());
179
		identificationParams.set("i18n_adresse", mediateur.i18nC.adresse());
180
		identificationParams.set("i18n_cp", mediateur.i18nC.codePostal());
181
		identificationParams.set("i18n_ville", mediateur.i18nC.ville());
182
		identificationParams.set("i18n_region", mediateur.i18nC.region());
183
		identificationParams.set("i18n_pays", mediateur.i18nC.pays());
390 jp_milcent 184
 
406 jp_milcent 185
		identificationParams.set("i18n_titre_communication", mediateur.i18nC.titreCommunication());
186
		identificationParams.set("i18n_tel", mediateur.i18nC.telephone());
187
		identificationParams.set("i18n_fax", mediateur.i18nC.fax());
188
		identificationParams.set("i18n_courriel", mediateur.i18nC.courriel());
189
		identificationParams.set("i18n_acces", mediateur.i18nC.acces());
190
		identificationParams.set("i18n_web", mediateur.i18nC.siteWeb());
390 jp_milcent 191
 
406 jp_milcent 192
		identificationParams.set("acronyme", structure.getIdAlternatif());
193
		identificationParams.set("statut", structure.getTypePrive()+structure.getTypePublic());
194
		identificationParams.set("date_fondation", structure.getDateFondationFormatLong());
195
		identificationParams.set("nbre_personnel", structure.getNbrePersonne());
390 jp_milcent 196
 
406 jp_milcent 197
		identificationParams.set("description", structure.getDescription());
390 jp_milcent 198
 
406 jp_milcent 199
		identificationParams.set("adresse", structure.getAdresse());
200
		identificationParams.set("cp", structure.getCodePostal());
201
		identificationParams.set("ville", structure.getVille());
202
		identificationParams.set("region", structure.getRegion());
203
		identificationParams.set("pays", structure.getPays());
390 jp_milcent 204
 
406 jp_milcent 205
		identificationParams.set("tel", structure.getTelephone());
206
		identificationParams.set("fax", structure.getFax());
207
		identificationParams.set("courriel", structure.getCourriel());
208
		identificationParams.set("acces", structure.getConditionAcces());
209
		identificationParams.set("web", structure.getUrl());
379 jp_milcent 210
 
406 jp_milcent 211
		afficherOnglet(identificationTpl, identificationParams, identificationOnglet);
373 jp_milcent 212
	}
213
 
379 jp_milcent 214
	private void afficherPersonnel() {
390 jp_milcent 215
		String tableauPersonnelHtml = "";
216
		if (personnel.size() > 0) {
217
			tableauPersonnelHtml = construireTableauDuPersonnel();
218
		}
219
 
406 jp_milcent 220
		personnelParams = new Params();
221
		personnelParams.set("css_corps", ComposantClass.DETAIL_CORPS_CONTENU);
222
		personnelParams.set("i18n_titre_personnel", i18nC.titrePersonnel());
223
		personnelParams.set("i18n_nbre_personnel_collection", i18nC.nbrePersonnelCollection());
224
		personnelParams.set("nbre_personnel_collection", personnel.size());
225
		personnelParams.set("tableau_personnel", tableauPersonnelHtml);
379 jp_milcent 226
 
406 jp_milcent 227
		afficherOnglet(personnelTpl, personnelParams, personnelOnglet);
390 jp_milcent 228
	}
229
 
230
	private String construireTableauDuPersonnel() {
231
		Params contenuParams = new Params();
406 jp_milcent 232
		contenuParams.set("i18n_titre_membre", i18nC.titreMembre());
233
		contenuParams.set("i18n_fonction", i18nC.fonction());
234
		contenuParams.set("i18n_prenom", i18nC.prenom());
235
		contenuParams.set("i18n_nom", i18nC.nom());
236
		contenuParams.set("i18n_tel", i18nC.telephoneFixe());
237
		contenuParams.set("i18n_fax", i18nC.fax());
238
		contenuParams.set("i18n_courriel", i18nC.courrielPrincipal());
239
		contenuParams.set("i18n_statut", i18nC.statut());
240
		contenuParams.set("i18n_tps_w", i18nC.tpsTravail());
241
		contenuParams.set("i18n_specialite", i18nC.specialite());
242
		contenuParams.set("i18n_contact", i18nC.boolContact());
390 jp_milcent 243
 
379 jp_milcent 244
		String lignesPersonnel = "";
245
		Iterator<String> it = personnel.keySet().iterator();
246
		while (it.hasNext()) {
247
			StructureAPersonne personne = personnel.get(it.next());
248
			Params ligneParams = new Params();
249
			ligneParams.set("fonction", personne.getFonction());
250
			ligneParams.set("prenom", personne.getPrenom());
251
			ligneParams.set("nom", personne.getNom());
252
			ligneParams.set("tel", personne.getTelephone());
253
			ligneParams.set("fax", personne.getFax());
254
			ligneParams.set("courriel", personne.getCourriel());
255
			ligneParams.set("statut", personne.getStatut());
256
			ligneParams.set("tps_w", personne.getBotaTravailHebdoTps());
257
			ligneParams.set("specialite", personne.afficherSpecialite());
258
			ligneParams.set("contact", personne.getContact());
259
			lignesPersonnel += Format.substitute(lignePersonnelTpl, ligneParams);
260
		}
261
		contenuParams.set("lignes", lignesPersonnel);
262
 
390 jp_milcent 263
		String cHtml = Format.substitute(tableauPersonnelTpl, contenuParams);
264
		return cHtml;
379 jp_milcent 265
	}
406 jp_milcent 266
 
267
	private void afficherConservation() {
268
		conservationParams.set("css_corps", ComposantClass.DETAIL_CORPS_CONTENU);
269
		conservationParams.set("css_label", ComposantClass.LABEL);
270
		conservationParams.set("css_fieldset", ComposantClass.FIELDSET);
271
		conservationParams.set("css_clear", ComposantClass.CLEAR);
390 jp_milcent 272
 
406 jp_milcent 273
		conservationParams.set("i18n_titre_conservation_personnel", i18nC.titreConservationPersonnel());
274
		conservationParams.set("i18n_formation", i18nC.formation());
275
		conservationParams.set("i18n_formation_interet", i18nC.formationInteret());
276
 
277
		conservationParams.set("i18n_titre_local", i18nC.titreLocal());
278
		conservationParams.set("i18n_local_specifique", i18nC.localSpecifique());
279
		conservationParams.set("i18n_meuble_specifique", i18nC.meubleSpecifique());
280
		conservationParams.set("i18n_local_parametre", i18nC.localParametre());
281
 
282
		conservationParams.set("formation", formaterOuiNon(conservation.getFormation()));
283
		conservationParams.set("formation_info", formaterSautDeLigne(conservation.getFormationInfo()));
284
		conservationParams.set("formation_interet", formaterOuiNon(conservation.getFormationInteret()));
285
		conservationParams.set("meuble_specifique", conservation.getStockageMeuble());
286
 
287
		conservationParams.set("meuble_specifique", conservation.getStockageMeuble());
288
		conservationParams.set("local_parametre", conservation.getStockageParametre());
289
 
290
		afficherOnglet(conservationTpl, conservationParams, conservationOnglet);
291
	}
292
 
293
	private void afficherOnglet(String template, Params parametres, TabItem onglet) {
294
		String cHtml = Format.substitute(template, parametres);
295
		HtmlContainer corpsConteneurDuHtml = new HtmlContainer(cHtml);
296
		onglet.removeAll();
297
		onglet.add(corpsConteneurDuHtml);
298
	}
299
 
300
	private String formaterOuiNon(String chaineAFormater) {
301
		String txtARetourner = "";
302
		if (chaineAFormater.equals("0")) {
303
			txtARetourner = i18nC.non();
304
		} else if (chaineAFormater.equals("1")) {
305
			txtARetourner = i18nC.oui();
306
		}
307
		return txtARetourner;
308
	}
309
 
310
	private String formaterSautDeLigne(String chaineAFormater) {
311
		String txtARetourner = chaineAFormater.replaceAll("\n", sautLigneTpl);
312
		return txtARetourner;
313
	}
314
 
379 jp_milcent 315
	private void initialiserTousLesTpl() {
316
		initialiserEnteteHtmlTpl();
317
		initialiserIdentificationTpl();
318
		initialiserPersonnelTpl();
390 jp_milcent 319
		initialiserTableauPersonnelTpl();
379 jp_milcent 320
		initialiserLignePersonnelTpl();
390 jp_milcent 321
		initialiserConservationTpl();
322
		initialiserValorisationTpl();
406 jp_milcent 323
		initialiserSautLigneTpl();
379 jp_milcent 324
	}
325
 
373 jp_milcent 326
	private void initialiserEnteteHtmlTpl() {
390 jp_milcent 327
		enteteTpl = 	"<div id='{css_id}'>"+
379 jp_milcent 328
						"	<h1>{nom}</h1>"+
390 jp_milcent 329
						"	<h2>{ville}<span class='{css_meta}'>{projet} - {id} - {guid}</span></h2>" +
330
						"	" +
373 jp_milcent 331
						"</div>";
332
	}
333
 
379 jp_milcent 334
	private void initialiserIdentificationTpl() {
335
		identificationTpl =
390 jp_milcent 336
						"<div class='{css_corps}'>"+
337
						"	<div class='{css_fieldset}'>"+
338
						"		<h2>{i18n_titre_administratif}</h2>"+
339
						"		<span class='{css_label}'>{i18n_acronyme} :</span> {acronyme}<br />"+
340
						"		<span class='{css_label}'>{i18n_acces} :</span> {acces}<br />"+
341
						"		<span class='{css_label}'>{i18n_statut} :</span> {statut}<br />"+
342
						"		<span class='{css_label}'>{i18n_date_fondation} :</span> {date_fondation}<br />"+
343
						"		<span class='{css_label}'>{i18n_nbre_personnel} :</span> {nbre_personnel}<br />"+
344
						"	</div>"+
345
						"	<div class='{css_fieldset}'>"+
346
						"		<h2>{i18n_titre_description}</h2>"+
347
						"		{description}"+
348
						"	</div>"+
349
						"	<hr class='{css_clear}'/>"+
350
						"	<div class='{css_fieldset}'>"+
351
						"		<h2>{i18n_titre_adresse}</h2>"+
352
						"		<span class='{css_label}'>{i18n_adresse} :</span> {adresse}<br />" +
353
						"		<span class='{css_label}'>{i18n_cp} :</span> {cp}<br />" +
354
						"		<span class='{css_label}'>{i18n_ville} :</span> {ville}<br />" +
355
						"		<span class='{css_label}'>{i18n_region} :</span> {region}<br />" +
356
						"		<span class='{css_label}'>{i18n_pays} :</span> {pays}<br />" +
357
						"	</div>"+
358
						"	<div class='{css_fieldset}'>"+
359
						"		<h2>{i18n_titre_communication}</h2>"+
360
						"		<span class='{css_label}'>{i18n_tel} :</span> {tel}<br />"+
361
						"		<span class='{css_label}'>{i18n_fax} :</span> {fax}<br />"+
362
						"		<span class='{css_label}'>{i18n_courriel} :</span> {courriel}<br />"+
363
						"		<span class='{css_label}'>{i18n_web} :</span> {web}<br />"+
364
						"	</div>"+
373 jp_milcent 365
						"</div>";
366
	}
367
 
379 jp_milcent 368
	private void initialiserPersonnelTpl() {
369
		personnelTpl =
390 jp_milcent 370
						"<div class='{css_corps}'>"+
371
						"	<h2>{i18n_titre_personnel}</h2>"+
372
						"	<p><span class='{css_label}'>{i18n_nbre_personnel_collection} :</span> {nbre_personnel_collection}</p>"+
373
						"	{tableau_personnel}"+
379 jp_milcent 374
						"</div>";
375
	}
376
 
390 jp_milcent 377
	private void initialiserTableauPersonnelTpl() {
378
		tableauPersonnelTpl =
379
						"<h3>{i18n_titre_membre}</h3>"+
380
						"<table>"+
381
						"	<thead>"+
382
						"		<tr>" +
383
						"			<th>{i18n_fonction}</th>" +
384
						"			<th>{i18n_prenom}</th>" +
385
						"			<th>{i18n_nom}</th>" +
386
						"			<th>{i18n_tel}</th>" +
387
						"			<th>{i18n_fax}</th>" +
388
						"			<th>{i18n_courriel}</th>" +
389
						"			<th>{i18n_statut}</th>" +
390
						"			<th>{i18n_tps_w}</th>" +
391
						"			<th>{i18n_specialite}</th>" +
392
						"			<th>{i18n_contact}</th>" +
393
						"		</tr>"+
394
						"	</thead>"+
395
						"	<tbody>"+
396
						"		{lignes}"+
397
						"	</tbody>"+
398
						"</table>";
399
	}
400
 
379 jp_milcent 401
	private void initialiserLignePersonnelTpl() {
402
		lignePersonnelTpl =
403
						"<tr>"+
404
						"	<td>{fonction}</td>"+
405
						"	<td>{prenom}</td>"+
406
						"	<td>{nom}</td>"+
407
						"	<td>{tel}</td>" +
408
						"	<td>{fax}</td>" +
409
						"	<td>{courriel}</td>" +
410
						"	<td>{statut}</td>" +
411
						"	<td>{tps_w}</td>" +
412
						"	<td>{specialite}</td>" +
413
						"	<td>{contact}</td>" +
414
						"</tr>";
415
	}
416
 
390 jp_milcent 417
	private void initialiserConservationTpl() {
418
		conservationTpl =
419
						"<div class='{css_corps}'>"+
420
						"	<div class='{css_fieldset}'>"+
421
						"		<h2>{i18n_titre_conservation_personnel}</h2>"+
406 jp_milcent 422
						"		<span class='{css_label}'>{i18n_formation} :</span> {formation}<br />"+
423
						"		{formation_info}<br />"+
390 jp_milcent 424
						"		<span class='{css_label}'>{i18n_formation_interet} :</span> {formation_interet}<br />"+
425
						"	</div>"+
426
						"	<div class='{css_fieldset}'>"+
427
						"		<h2>{i18n_titre_local}</h2>"+
428
						"		<span class='{css_label}'>{i18n_local_specifique} :</span> {local_specifique}<br />"+
429
						"		<span class='{css_label}'>{i18n_meuble_specifique} :</span> {meuble_specifique}<br />"+
430
						"		<span class='{css_label}'>{i18n_local_parametre} :</span> {local_parametre}<br />"+
431
						"		<span class='{css_label}'>{i18n_conservation_en_commun} :</span> {conservation_en_commun}<br />"+
432
						"		<span class='{css_label}'>{i18n_acces_control} :</span> {acces_control}<br />"+
433
						"	</div>"+
434
						"	<hr class='{css_clear}'/>"+
435
						"</div>";
436
	}
437
 
438
	private void initialiserValorisationTpl() {
439
		valorisationTpl =
440
						"<div class='{css_corps}'>"+
441
						"	<div class='{css_fieldset}'>"+
442
						"		<h2>{i18n_titre_action_valorisation}</h2>"+
443
						"	</div>"+
444
						"	<div class='{css_fieldset}'>"+
445
						"		<h2>{i18n_titre_recherche_scientifique}</h2>"+
446
						"	</div>"+
447
						"	<hr class='{css_clear}'/>"+
448
						"	<div class='{css_fieldset}'>"+
449
						"		<h2>{i18n_titre_acces_usage}</h2>"+
450
						"	</div>"+
451
						"</div>";
452
	}
453
 
406 jp_milcent 454
	private void initialiserSautLigneTpl() {
455
		sautLigneTpl = "<br />\n";
456
	}
457
 
60 jpm 458
	public void rafraichir(Object nouvelleDonnees) {
459
		if (nouvelleDonnees instanceof Structure) {
390 jp_milcent 460
			structure = (Structure) nouvelleDonnees;
461
			afficherDetailInstitution();
406 jp_milcent 462
		} else if (nouvelleDonnees instanceof Information) {
379 jp_milcent 463
			Information info = (Information) nouvelleDonnees;
464
			if (info.getType().equals("liste_structure_a_personne")) {
465
				allouerPersonnelAStructure((StructureAPersonneListe) info.getDonnee(0));
390 jp_milcent 466
				afficherDetailInstitution();
379 jp_milcent 467
			}
406 jp_milcent 468
		} else if (nouvelleDonnees instanceof ValeurListe) {
469
			ValeurListe ontologie = (ValeurListe) nouvelleDonnees;
470
 
471
			if (ontologie.size() > 0) {
472
				Configuration config = (Configuration) Registry.get(RegistreId.CONFIG);
473
 
474
				if (ontologie.getId().equals(config.getListeId("localStockage"))) {
475
					String chaineAAnalyser = conservation.getStockageLocal();
476
					String chaineAAfficher = construireTxtListeOntologie(ontologie, chaineAAnalyser);
477
					conservationParams.set("local_specifique", chaineAAfficher);
478
					GWT.log(chaineAAfficher, null);
479
				}
480
			}
373 jp_milcent 481
		} else {
482
			GWT.log("Pas de correspondance dans la méthode rafraichir() de la classe "+this.getClass(), null);
60 jpm 483
		}
484
	}
406 jp_milcent 485
 
486
	protected String construireTxtListeOntologie(ValeurListe ontologie, String chaineAAnalyser) {
487
		String chaineAAfficher = "";
488
		if ((chaineAAnalyser != null) && (!chaineAAnalyser.trim().equals("")))	{
489
			String[] valeurs = chaineAAnalyser.split(";;");
490
			int nbreValeurs = valeurs.length;
491
			if (nbreValeurs > 0)	{
492
				for (int i = 0; i < nbreValeurs; i++)	{
493
					if (valeurs[i].contains("##"))	{
494
 
495
					} else {
496
						Valeur valeur = ontologie.get(valeurs[i]);
497
						if (valeur != null) {
498
							String termeOntologie = valeur.getNom();
499
							if (i != (nbreValeurs - 1)) {
500
								termeOntologie += ", ";
501
							}
502
							chaineAAfficher += termeOntologie;
503
							GWT.log("Valeur :"+valeurs[i]+" - Ontologie :"+valeur.getNom(), null);
504
						}
505
					}
506
				}
507
			}
508
		}
509
		return chaineAAfficher;
510
	}
511
 
512
	protected void allouerPersonnelAStructure(StructureAPersonneListe personnel) {
379 jp_milcent 513
		structure.setPersonnel(personnel);
514
	}
515
 
60 jpm 516
}