Subversion Repositories eFlore/Applications.coel

Rev

Rev 935 | 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.projet;
877 aurelien 2
 
3
import java.util.ArrayList;
4
import java.util.Iterator;
5
 
980 jpm 6
import org.tela_botanica.client.ComposantClass;
877 aurelien 7
import org.tela_botanica.client.Mediateur;
8
import org.tela_botanica.client.interfaces.Rafraichissable;
9
import org.tela_botanica.client.modeles.Information;
10
import org.tela_botanica.client.modeles.MenuApplicationId;
878 aurelien 11
import org.tela_botanica.client.modeles.Valeur;
12
import org.tela_botanica.client.modeles.ValeurListe;
935 jpm 13
import org.tela_botanica.client.modeles.projet.Projet;
928 jpm 14
import org.tela_botanica.client.util.Debug;
877 aurelien 15
import org.tela_botanica.client.util.Pattern;
16
import org.tela_botanica.client.util.UtilArray;
928 jpm 17
import org.tela_botanica.client.util.UtilString;
935 jpm 18
import org.tela_botanica.client.vues.Formulaire;
877 aurelien 19
 
878 aurelien 20
import com.extjs.gxt.ui.client.Style.SortDir;
980 jpm 21
import com.extjs.gxt.ui.client.event.Events;
877 aurelien 22
import com.extjs.gxt.ui.client.store.ListStore;
928 jpm 23
import com.extjs.gxt.ui.client.widget.Info;
877 aurelien 24
import com.extjs.gxt.ui.client.widget.MessageBox;
25
import com.extjs.gxt.ui.client.widget.form.CheckBox;
26
import com.extjs.gxt.ui.client.widget.form.ComboBox;
27
import com.extjs.gxt.ui.client.widget.form.FieldSet;
28
import com.extjs.gxt.ui.client.widget.form.TextArea;
29
import com.extjs.gxt.ui.client.widget.form.TextField;
30
import com.extjs.gxt.ui.client.widget.layout.FlowLayout;
31
import com.extjs.gxt.ui.client.widget.layout.FormData;
32
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
33
 
34
public class ProjetForm extends Formulaire implements Rafraichissable {
35
 
36
	private Projet projet;
878 aurelien 37
 
38
	private String listeValeurIndexationDureeId = "dureesIndexation";
39
	private int listeValeurIndexationDureeInt = 1072;
40
	private String listeValeurIndexationFrequenceId = "frequencesIndexation";
41
	private int listeValeurIndexationFrequenceInt = 1073;
887 aurelien 42
	private String listeLanguesId = "langues";
43
	private int listeLanguesInt = 1071;
878 aurelien 44
 
45
	private ListStore<Valeur> listeIndexationDuree = null;
46
	private ListStore<Valeur> listeIndexationFrequence = null;
887 aurelien 47
	private ListStore<Valeur> listeLangue = null;
878 aurelien 48
 
887 aurelien 49
	private ValeurListe valeurListeIndexationDuree = null;
50
	private ValeurListe valeurListeIndexationFrequence = null;
51
	private ValeurListe valeurListeLangue = null;
52
 
908 aurelien 53
	private boolean listeIndexationDureeChargee = false;
54
	private boolean listeIndexationFrequenceChargee = false;
55
	private boolean listeLangueChargee = false;
56
 
57
 
877 aurelien 58
	private FieldSet generalitesFieldset = null;
59
	private TextField<String> nomChp = null;
60
	private TextField<String> abreviationChp = null;
886 aurelien 61
	private TextArea descriptionChp = null;
877 aurelien 62
	private TextArea resumeChp = null;
63
	private TextField<String> urlChp = null;
64
 
65
	private FieldSet complementFieldset = null;
66
	private TextField<String> motsClesChp = null;
67
	private TextField<String> citationChp = null;
68
	private TextField<String> licenceChp = null;
887 aurelien 69
	private ComboBox<Valeur> langueChp = null;
877 aurelien 70
	private CheckBox markPublicChp = null;
71
 
72
	private FieldSet indexationFieldset = null;
73
	private TextField<String> indexationHeureChp = null;
878 aurelien 74
	private ComboBox<Valeur> indexationDureeChp = null;
75
	private ComboBox<Valeur> indexationFrequenceChp = null;
877 aurelien 76
 
77
	private boolean formulaireValideOk = false;
78
	private boolean projetValideOk = false;
79
 
80
	private Rafraichissable vueExterneARafraichirApresValidation = null;
81
 
82
 
83
	public ProjetForm(Mediateur mediateurCourrant, String projetId) {
84
		initialiserProjetForm(mediateurCourrant, projetId);
85
	}
86
 
87
	public ProjetForm(Mediateur mediateurCourrant, String projetId, Rafraichissable vueARafraichirApresValidation) {
88
		vueExterneARafraichirApresValidation = vueARafraichirApresValidation;
89
		initialiserProjetForm(mediateurCourrant, projetId);
90
	}
91
 
878 aurelien 92
	private void initialiserProjetForm(Mediateur mediateurCourant, String projetId) {
877 aurelien 93
		projet = new Projet();
94
		projet.setId(projetId);
95
 
96
		String modeDeCreation = (projet.getId().isEmpty() ? Formulaire.MODE_AJOUTER : Formulaire.MODE_MODIFIER);
878 aurelien 97
		initialiserFormulaire(mediateurCourant, modeDeCreation, MenuApplicationId.PROJET);
877 aurelien 98
 
99
		panneauFormulaire.setLayout(new FlowLayout());
928 jpm 100
		actualiserTitreFormulaire();
877 aurelien 101
 
102
		creerZoneGeneralites();
103
		panneauFormulaire.add(generalitesFieldset);
104
 
105
		creerZoneComplement();
106
		panneauFormulaire.add(complementFieldset);
107
 
108
		creerZoneIndexation();
109
		panneauFormulaire.add(indexationFieldset);
110
 
886 aurelien 111
		creerTabIndex();
112
 
877 aurelien 113
		if (modeDeCreation.equals(Formulaire.MODE_MODIFIER)) {
928 jpm 114
			mediateur.selectionnerProjet(this, projetId);
877 aurelien 115
		}
908 aurelien 116
 
928 jpm 117
		mediateur.obtenirListeValeurEtRafraichir(this, listeValeurIndexationDureeId);
118
		mediateur.obtenirListeValeurEtRafraichir(this, listeValeurIndexationFrequenceId);
119
		mediateur.obtenirListeValeurEtRafraichir(this, listeLanguesId);
877 aurelien 120
	}
121
 
928 jpm 122
	private void actualiserTitreFormulaire() {
123
		String titre = i18nC.projetTitreFormAjout();
877 aurelien 124
		if (mode.equals(Formulaire.MODE_MODIFIER)) {
928 jpm 125
			 titre = i18nC.projetTitreFormModif()+" - "+i18nC.id()+": "+projet.getId();
877 aurelien 126
		}
928 jpm 127
		panneauFormulaire.setHeading(titre);
877 aurelien 128
	}
129
 
130
	private void creerZoneGeneralites() {
131
		FormLayout layout = new FormLayout();
132
		layout.setLabelWidth(100);
133
 
134
		// Fieldset Infos Générales
135
		generalitesFieldset = new FieldSet();
928 jpm 136
		generalitesFieldset.setHeading(i18nC.projetTitreInfoGenerale());
877 aurelien 137
		generalitesFieldset.setCollapsible(true);
138
		generalitesFieldset.setLayout(layout);
139
 
140
		nomChp = new TextField<String>();
141
		nomChp.setName("cpu");
142
		nomChp.setFieldLabel("Nom");
980 jpm 143
		nomChp.addStyleName(ComposantClass.OBLIGATOIRE);
144
		nomChp.addListener(Events.Valid, creerEcouteurChampObligatoire());
877 aurelien 145
		generalitesFieldset.add(nomChp, new FormData(450, 0));
146
 
147
		abreviationChp = new TextField<String>();
148
		abreviationChp.setFieldLabel("Abréviation");
980 jpm 149
		abreviationChp.addListener(Events.Valid, creerEcouteurChampObligatoire());
877 aurelien 150
		generalitesFieldset.add(abreviationChp, new FormData(450, 0));
151
 
886 aurelien 152
		descriptionChp = new TextArea();
877 aurelien 153
		descriptionChp.setFieldLabel("Description");
980 jpm 154
		descriptionChp.addListener(Events.Valid, creerEcouteurChampObligatoire());
877 aurelien 155
		generalitesFieldset.add(descriptionChp, new FormData(450, 0));
156
 
157
		resumeChp = new TextArea();
158
		resumeChp.setFieldLabel("Résumé");
980 jpm 159
		resumeChp.addListener(Events.Valid, creerEcouteurChampObligatoire());
877 aurelien 160
		generalitesFieldset.add(resumeChp, new FormData(450, 0));
161
 
162
		urlChp = new TextField<String>();
163
		urlChp.setFieldLabel("URL du projet");
164
		generalitesFieldset.add(urlChp, new FormData(450, 0));
165
	}
166
 
167
	private void creerZoneComplement() {
168
		FormLayout layout = new FormLayout();
169
		layout.setLabelWidth(100);
170
 
928 jpm 171
		// Fieldset Complément
877 aurelien 172
		complementFieldset = new FieldSet();
928 jpm 173
		complementFieldset.setHeading(i18nC.projetTitreComplement());
877 aurelien 174
		complementFieldset.setCollapsible(true);
175
		complementFieldset.setLayout(layout);
176
 
177
		motsClesChp = new TextField<String>();
178
		motsClesChp.setFieldLabel("Mots Clés");
179
		complementFieldset.add(motsClesChp);
180
 
181
		citationChp = new TextField<String>();
182
		citationChp.setFieldLabel("Citation");
183
		complementFieldset.add(citationChp);
184
 
185
		licenceChp = new TextField<String>();
186
		licenceChp.setFieldLabel("Licence");
187
		complementFieldset.add(licenceChp);
188
 
887 aurelien 189
		listeLangue = new ListStore<Valeur>();
190
		langueChp = new ComboBox<Valeur>();
191
		langueChp.setStore(listeLangue);
192
		langueChp.setDisplayField("nom");
193
		langueChp.setEditable(true);
194
		langueChp.setForceSelection(true);
195
		langueChp.setTypeAhead(true);
196
		langueChp.setFieldLabel("Langue");
197
		complementFieldset.add(langueChp);
198
 
877 aurelien 199
		markPublicChp = new CheckBox();
200
		markPublicChp.setFieldLabel("Public");
201
		complementFieldset.add(markPublicChp);
202
	}
203
 
204
	private void creerZoneIndexation() {
205
		FormLayout layout = new FormLayout();
206
		layout.setLabelWidth(100);
207
 
928 jpm 208
		// Fieldset Indexation
877 aurelien 209
		indexationFieldset = new FieldSet();
928 jpm 210
		indexationFieldset.setHeading(i18nC.projetTitreIndexation());
877 aurelien 211
		indexationFieldset.setCollapsible(true);
212
		indexationFieldset.setLayout(layout);
213
 
214
		indexationHeureChp = new TextField<String>();
878 aurelien 215
		indexationHeureChp.setFieldLabel(i18nC.projetIndexationHeure());
877 aurelien 216
		indexationFieldset.add(indexationHeureChp, new FormData(80, 0));
217
 
878 aurelien 218
		// liste 1073
219
		listeIndexationFrequence = new ListStore<Valeur>();
220
		indexationFrequenceChp = new ComboBox<Valeur>();
221
		indexationFrequenceChp.setStore(listeIndexationFrequence);
222
		indexationFrequenceChp.setDisplayField("nom");
887 aurelien 223
		indexationFrequenceChp.setEditable(true);
224
		indexationFrequenceChp.setForceSelection(true);
225
		indexationFrequenceChp.setTypeAhead(true);
878 aurelien 226
		indexationFrequenceChp.setFieldLabel(i18nC.projetIndexationFrequence());
227
		indexationFieldset.add(indexationFrequenceChp, new FormData(120, 0));
228
 
877 aurelien 229
		// liste 1072
878 aurelien 230
		listeIndexationDuree = new ListStore<Valeur>();
231
		indexationDureeChp = new ComboBox<Valeur>();
232
		indexationDureeChp.setStore(listeIndexationDuree);
233
		indexationDureeChp.setDisplayField("nom");
887 aurelien 234
		indexationDureeChp.setEditable(true);
235
		indexationDureeChp.setForceSelection(true);
236
		indexationDureeChp.setTypeAhead(true);
878 aurelien 237
		indexationDureeChp.setFieldLabel(i18nC.projetIndexationDuree());
877 aurelien 238
		indexationFieldset.add(indexationDureeChp, new FormData(80, 0));
239
 
240
	}
886 aurelien 241
 
242
	private void creerTabIndex() {
887 aurelien 243
		nomChp.setTabIndex(1);
244
		abreviationChp.setTabIndex(2);
245
		descriptionChp.setTabIndex(3);
246
		resumeChp.setTabIndex(4);
247
		urlChp.setTabIndex(5);
886 aurelien 248
 
249
		motsClesChp.setTabIndex(6);
250
		citationChp.setTabIndex(7);
251
		licenceChp.setTabIndex(8);
887 aurelien 252
		langueChp.setTabIndex(9);
253
		markPublicChp.setTabIndex(10);
886 aurelien 254
 
887 aurelien 255
		indexationHeureChp.setTabIndex(11);
256
		indexationFrequenceChp.setTabIndex(12);
257
		indexationDureeChp.setTabIndex(13);
886 aurelien 258
 
259
		nomChp.focus();
260
	}
877 aurelien 261
 
262
	public void rafraichir(Object nouvellesDonnees) {
928 jpm 263
		if (nouvellesDonnees instanceof Information) {
264
			Information info = (Information) nouvellesDonnees;
265
			rafraichirInformation(info);
924 jpm 266
		} else if (nouvellesDonnees instanceof ValeurListe) {
928 jpm 267
			ValeurListe valeursListe = (ValeurListe) nouvellesDonnees;
268
			rafraichirValeurListe(valeursListe);
269
			Debug.log("une liste de valeurs est arrivée "+valeursListe.getId());
878 aurelien 270
		}
271
 
877 aurelien 272
		if (etreValide()) {
273
			initialiserValidation();
274
			repandreRafraichissement();
275
			controlerFermetureApresRafraichissement();
276
		}
277
	}
278
 
928 jpm 279
	private void rafraichirInformation(Information info) {
280
		final String type = info.getType();
281
 
282
		// Gestion des problèmes
283
		if (info.getMessages() != null && !info.getMessages().toString().equals("[]")) {
284
			Debug.log("MESSAGES:\n"+info.getMessages().toString());
285
		}
286
 
287
		// Gestion des actions
288
		if (type.equals("selection_projet")) {
289
			if (info.getDonnee(0) != null) {
290
				projet = (Projet) info.getDonnee(0);
291
			}
292
			peuplerFormulaire();
293
			actualiserTitreFormulaire();
294
		} else if (type.equals("modif_projet") || type.equals("ajout_projet") ) {
295
			if (info.getDonnee(0) != null && info.getDonnee(0) instanceof String) {
296
				String projetId = (String) info.getDonnee(0);
297
				projet.setId(projetId);
298
				projetValideOk = true;
299
			}
300
		}
301
 
302
		// Gestion des messages
303
		if (type.equals("selection_projet")) {
304
			Info.display(i18nC.projetTitreFormModif(), info.toString());
305
		} else if (type.equals("modif_projet")) {
306
			Info.display(i18nC.projetTitreFormModif(), info.toString());
307
		} else if (type.equals("ajout_projet")) {
308
			if (!UtilString.isEmpty(projet.getId())) {
309
				info.setMessage("Le projet '"+projet.getId()+"' a bien été ajouté");
310
			}
311
			Info.display(i18nC.projetTitreFormAjout(), info.toString());
312
		}
877 aurelien 313
	}
314
 
928 jpm 315
	private void rafraichirValeurListe(ValeurListe valeursListe) {
316
		if (valeursListe.getId() == listeValeurIndexationDureeInt) {
317
			valeurListeIndexationDuree = valeursListe;
318
			for (Iterator<String> it  = valeursListe.keySet().iterator(); it.hasNext();) {
319
				listeIndexationDuree.add(valeursListe.get(it.next()));
320
				listeIndexationDuree.sort("id_valeur", SortDir.ASC);
321
			}
322
			listeIndexationDureeChargee = true;
323
 
324
			if (mode.equals(MODE_MODIFIER)) {
325
				if (valeurListeIndexationDuree.get(projet.getIndexationDuree()) != null) {
326
					indexationDureeChp.setValue(valeurListeIndexationDuree.get(projet.getIndexationDuree()));
327
					indexationDureeChp.validate();
328
				}
329
			}
330
			indexationDureeChp.expand();
331
		} else if (valeursListe.getId() == listeValeurIndexationFrequenceInt) {
332
			valeurListeIndexationFrequence = valeursListe;
333
			for (Iterator<String> it  = valeursListe.keySet().iterator(); it.hasNext();) {
334
				listeIndexationFrequence.add(valeursListe.get(it.next()));
335
				listeIndexationFrequence.sort("id_valeur", SortDir.ASC);
336
			}
337
			listeIndexationFrequenceChargee = true;
338
 
339
			if (mode.equals(MODE_MODIFIER)) {
340
				if (valeurListeIndexationFrequence.get(projet.getIndexationFreq()) != null) {
341
					indexationFrequenceChp.setValue(valeurListeIndexationFrequence.get(projet.getIndexationFreq()));
342
					indexationFrequenceChp.validate();
343
				}
344
			}
345
			indexationFrequenceChp.expand();
346
		} else if (valeursListe.getId() == listeLanguesInt) {
347
			valeurListeLangue = valeursListe;
348
			for (Iterator<String> it  = valeursListe.keySet().iterator(); it.hasNext();) {
349
				listeLangue.add(valeursListe.get(it.next()));
350
				listeLangue.sort("id_valeur", SortDir.ASC);
351
			}
352
			listeLangueChargee = true;
353
 
354
			if (mode.equals(MODE_MODIFIER)) {
355
				if (valeurListeLangue.get(projet.getLangue()) != null) {
356
					langueChp.setValue(valeurListeLangue.get(projet.getLangue()));
357
					langueChp.validate();
358
				}
359
			}
360
		}
361
	}
362
 
877 aurelien 363
	private Boolean etreValide() {
364
		Boolean valide = false;
365
		if (formulaireValideOk && projetValideOk) {
366
			valide = true;
367
		}
368
		return valide;
369
	}
370
 
371
	private void initialiserValidation() {
372
		formulaireValideOk = false;
373
		projetValideOk = false;
374
	}
375
 
376
	private void repandreRafraichissement() {
377
		if (vueExterneARafraichirApresValidation != null) {
878 aurelien 378
			String type = "projet_modifie";
877 aurelien 379
			if (mode.equals(Formulaire.MODE_AJOUTER)) {
878 aurelien 380
				type = "projet_ajoute";
877 aurelien 381
			}
382
			Information info = new Information(type);
383
			info.setDonnee(0, projet);
384
			vueExterneARafraichirApresValidation.rafraichir(info);
385
		}
386
	}
387
 
388
	public boolean soumettreFormulaire() {
389
		formulaireValideOk = verifierFormulaire();
390
		if (formulaireValideOk) {
391
			Projet projetCollecte = collecterProjet();
392
			if (projetCollecte != null) {
393
				if (mode.equals(Formulaire.MODE_AJOUTER)) {
394
					mediateur.ajouterProjet(this, projetCollecte);
395
				} else if (mode.equals(Formulaire.MODE_MODIFIER)) {
396
					mediateur.modifierProjet(this, projetCollecte);
397
				}
398
			}
399
		}
400
		return formulaireValideOk;
401
	}
402
 
934 jpm 403
	public boolean verifierFormulaire() {
877 aurelien 404
		boolean valide = true;
405
		ArrayList<String> messages = new ArrayList<String>();
406
 
407
		String titre = nomChp.getValue();
408
		if (titre == null || titre.equals("")) {
409
			messages.add("Veuillez saisir le nom du projet !");
410
		}
411
 
886 aurelien 412
		String abr = abreviationChp.getValue();
413
		if (abr == null || abr.equals("")) {
414
			messages.add("Veuillez saisir l'abréviation du projet !");
415
		}
416
 
417
		String desc = descriptionChp.getValue();
418
		if (desc == null || desc.equals("")) {
419
			messages.add("Veuillez saisir la description du projet !");
420
		}
421
 
422
		String resume = resumeChp.getValue();
423
		if (resume == null || resume.equals("")) {
424
			messages.add("Veuillez saisir le résumé du projet !");
425
		}
426
 
877 aurelien 427
		String uri = urlChp.getValue();
886 aurelien 428
		if (uri != null && ! uri.trim().isEmpty() && ! uri.matches(Pattern.url)) {
877 aurelien 429
			messages.add("L'URL saisie n'est pas valide !");
430
		}
431
 
886 aurelien 432
		String heure = indexationHeureChp.getValue();
928 jpm 433
		if (!UtilString.isEmpty(heure)) {
434
			if (!heure.matches(Pattern.heureMinute)) {
435
				messages.add("L'heureMinute d'indexation saisie n'est pas valide !");
887 aurelien 436
			}
886 aurelien 437
		}
438
 
877 aurelien 439
		if (messages.size() != 0) {
440
			String[] tableauDeMessages = {};
441
			tableauDeMessages = messages.toArray(tableauDeMessages);
442
			MessageBox.alert("Erreurs de saisies", UtilArray.implode(tableauDeMessages, "<br />"), null);
443
			valide = false;
444
		}
445
		return valide;
446
	}
447
 
448
	private void peuplerFormulaire() {
878 aurelien 449
		nomChp.setValue(projet.getNom());
450
		abreviationChp.setValue(projet.getAbreviation());
451
		descriptionChp.setValue(projet.getDescription());
452
		resumeChp.setValue(projet.getResume());
453
		urlChp.setValue(projet.getUrl());
454
 
455
		motsClesChp.setValue(projet.getMotsCles());
456
		citationChp.setValue(projet.getCitation());
457
		licenceChp.setValue(projet.getLicence());
887 aurelien 458
 
924 jpm 459
		if (projet.getMarkPublic().equals("1")) {
887 aurelien 460
			markPublicChp.setValue(true);
461
		} else {
462
			markPublicChp.setValue(false);
463
		}
878 aurelien 464
 
924 jpm 465
		if (listeLangueChargee) {
908 aurelien 466
			if(valeurListeLangue.get(projet.getLangue()) != null) {
467
				langueChp.setValue(valeurListeLangue.get(projet.getLangue()));
468
				langueChp.validate();
469
			}
470
		}
471
 
924 jpm 472
		if (listeIndexationFrequenceChargee) {
473
			if (valeurListeIndexationFrequence.get(projet.getIndexationFreq()) != null) {
908 aurelien 474
				indexationFrequenceChp.setValue(valeurListeIndexationFrequence.get(projet.getIndexationFreq()));
475
				indexationFrequenceChp.validate();
476
			}
477
		}
478
 
924 jpm 479
		if (listeIndexationDureeChargee) {
480
			if (valeurListeIndexationDuree.get(projet.getIndexationDuree()) != null) {
908 aurelien 481
				indexationDureeChp.setValue(valeurListeIndexationDuree.get(projet.getIndexationDuree()));
482
				indexationDureeChp.validate();
483
			}
484
		}
485
 
887 aurelien 486
		String[] heureTab = projet.getIndexationHeure().split(":");
924 jpm 487
		if (heureTab.length > 1) {
902 aurelien 488
			String heure = heureTab[0]+":"+heureTab[1];
924 jpm 489
			if (heure.matches(Pattern.heureMinute)) {
902 aurelien 490
				indexationHeureChp.setValue(heure);
491
			}
887 aurelien 492
		}
878 aurelien 493
 
494
		doLayout(true);
877 aurelien 495
	}
496
 
497
	private Projet collecterProjet() {
887 aurelien 498
		Projet projetCollecte = (Projet) projet.cloner(new Projet());
877 aurelien 499
 
928 jpm 500
		projetCollecte.setNom(nomChp.getValue());
501
		projetCollecte.setAbreviation(abreviationChp.getValue());
502
		projetCollecte.setDescription(descriptionChp.getValue());
503
		projetCollecte.setResume(resumeChp.getValue());
504
		projetCollecte.setUrl(urlChp.getValue());
877 aurelien 505
 
928 jpm 506
		projetCollecte.setMotsCles(motsClesChp.getValue());
507
		projetCollecte.setCitation(citationChp.getValue());
508
		projetCollecte.setLicence(licenceChp.getValue());
509
		if (langueChp.getValue() != null) {
510
			projetCollecte.setLangue(langueChp.getValue().getId());
511
		}
512
		String markPublic = (markPublicChp.getValue()) ? "1" : "0";
513
		projetCollecte.setMarkPublic(markPublic);
887 aurelien 514
 
928 jpm 515
		projetCollecte.setIndexationHeure(indexationHeureChp.getValue());
516
		if (indexationFrequenceChp.getValue() != null) {
517
			projetCollecte.setIndexationFreq(indexationFrequenceChp.getValue().getId());
877 aurelien 518
		}
928 jpm 519
		if (indexationDureeChp.getValue() != null) {
520
			projetCollecte.setIndexationDuree(indexationDureeChp.getValue().getId());
521
		}
522
 
523
		Projet projetARetourner = null;
887 aurelien 524
		if (!projetCollecte.comparer(projet)) {
525
			projetARetourner = projet = projetCollecte;
928 jpm 526
			Debug.log(projetARetourner.toString());
887 aurelien 527
		}
877 aurelien 528
		return projetARetourner;
529
	}
530
 
934 jpm 531
	public void reinitialiserFormulaire() {
877 aurelien 532
		if (mode.equals(Formulaire.MODE_MODIFIER)) {
533
			mediateur.afficherFormProjet(projet.getId());
534
		} else {
535
			mediateur.afficherFormProjet(null);
536
		}
537
	}
908 aurelien 538
 
877 aurelien 539
}