Subversion Repositories eFlore/Applications.coel

Rev

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