Subversion Repositories eFlore/Applications.del

Rev

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

Rev Author Line No. Line
46 aurelien 1
package org.tela_botanica.del.client.vues.plateformedetermination.formulaireproposition;
2
 
95 aurelien 3
import java.util.Date;
46 aurelien 4
 
85 benjamin 5
import org.tela_botanica.del.client.cache.CacheClient;
262 aurelien 6
import org.tela_botanica.del.client.composants.formulaires.AutoCompletionComboBoxPresenteur;
7
import org.tela_botanica.del.client.composants.formulaires.AutoCompletionComboBoxVue;
8
import org.tela_botanica.del.client.composants.presenteur.Presenteur;
228 aurelien 9
import org.tela_botanica.del.client.composants.validation.ValidateurChampTexteNonNul;
140 aurelien 10
import org.tela_botanica.del.client.modeles.Commentaire;
11
import org.tela_botanica.del.client.modeles.PropositionDetermination;
159 benjamin 12
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel;
13
import org.tela_botanica.del.client.navigation.evenement.ajoutdetermination.EvenementAjoutDetermination;
46 aurelien 14
 
77 aurelien 15
import com.google.gwt.event.dom.client.ClickEvent;
16
import com.google.gwt.event.dom.client.ClickHandler;
46 aurelien 17
import com.google.gwt.user.client.ui.HasWidgets;
18
 
262 aurelien 19
public class FormulairePropositionPresenteur extends Presenteur {
20
 
21
	private AutoCompletionComboBoxPresenteur autoCompletionComboBoxPresenteur = new AutoCompletionComboBoxPresenteur();
22
 
23
	public FormulairePropositionPresenteur() {
24
		super(new FormulairePropositionVue());
25
	}
85 benjamin 26
 
46 aurelien 27
	public void go(HasWidgets composite) {
85 benjamin 28
 
262 aurelien 29
		autoCompletionComboBoxPresenteur.go(((FormulairePropositionVue)getVue()).getPropositionTaxon());
30
		composite.add((FormulairePropositionVue)getVue());
95 aurelien 31
		gererEvenements();
46 aurelien 32
	}
85 benjamin 33
 
262 aurelien 34
	protected void gererEvenements() {
35
		((FormulairePropositionVue)getVue()).getBoutonValidationProposition().addClickHandler(new ClickHandler() {
77 aurelien 36
 
37
			@Override
38
			public void onClick(ClickEvent event) {
234 gduche 39
 
40
				if (!validerSaisieProposition()) {
105 aurelien 41
					return;
77 aurelien 42
				} else {
140 aurelien 43
					PropositionDetermination propositionAjoutee = collecterValeursSaisieProposition();
234 gduche 44
					CacheClient.getInstance().getObservationCourante().addImageCelValidationData(propositionAjoutee);
45
 
46
					EvenementAjoutDetermination evenementAjoutDetermination = new EvenementAjoutDetermination(propositionAjoutee);
159 benjamin 47
					BusEvenementiel.getInstance().fireEvent(evenementAjoutDetermination);
77 aurelien 48
				}
85 benjamin 49
			}
77 aurelien 50
		});
51
	}
234 gduche 52
 
105 aurelien 53
	private boolean validerSaisieProposition() {
234 gduche 54
 
262 aurelien 55
		ValidateurChampTexteNonNul validateurTaxon = new ValidateurChampTexteNonNul(((FormulairePropositionVue)getVue()).getNomPrenom());
228 aurelien 56
		boolean taxonSaisi = validateurTaxon.valider();
234 gduche 57
 
140 aurelien 58
		return taxonSaisi;
105 aurelien 59
	}
234 gduche 60
 
140 aurelien 61
	private PropositionDetermination collecterValeursSaisieProposition() {
234 gduche 62
 
140 aurelien 63
		PropositionDetermination propositionAjoutee = new PropositionDetermination();
148 benjamin 64
		propositionAjoutee.setId(CacheClient.getInstance().getImageCourante().getIdImage());
234 gduche 65
 
262 aurelien 66
		String auteur = ((FormulairePropositionVue)getVue()).getNomPrenom().getText();
67
		if (((FormulairePropositionVue)getVue()).getCommentaires().getText() != "") {
68
			String contenuCommentaire = ((FormulairePropositionVue)getVue()).getCommentaires().getText();
234 gduche 69
			Commentaire comm = new Commentaire(auteur, new Date(), contenuCommentaire);
140 aurelien 70
			propositionAjoutee.ajouterCommentaire(comm);
71
		}
72
		propositionAjoutee.setContributeur(auteur);
105 aurelien 73
		propositionAjoutee.setDate(new Date());
234 gduche 74
 
262 aurelien 75
		propositionAjoutee.setEspece(autoCompletionComboBoxPresenteur.getValeur());
234 gduche 76
 
105 aurelien 77
		return propositionAjoutee;
78
	}
46 aurelien 79
}