Subversion Repositories eFlore/Applications.del

Rev

Details | 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;
105 aurelien 6
import org.tela_botanica.del.client.composants.validation.TextNotNullFormValidator;
140 aurelien 7
import org.tela_botanica.del.client.modeles.Commentaire;
8
import org.tela_botanica.del.client.modeles.PropositionDetermination;
159 benjamin 9
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel;
10
import org.tela_botanica.del.client.navigation.evenement.ajoutdetermination.EvenementAjoutDetermination;
46 aurelien 11
 
77 aurelien 12
import com.google.gwt.event.dom.client.ClickEvent;
13
import com.google.gwt.event.dom.client.ClickHandler;
46 aurelien 14
import com.google.gwt.user.client.ui.HasWidgets;
15
 
140 aurelien 16
public class FormulairePropositionPresenteur {
85 benjamin 17
 
46 aurelien 18
	private FormulairePropositionVue formulairePropositionVue = new FormulairePropositionVue();
85 benjamin 19
 
46 aurelien 20
	public void go(HasWidgets composite) {
85 benjamin 21
 
169 aurelien 22
		composite.add(formulairePropositionVue);
95 aurelien 23
		gererEvenements();
46 aurelien 24
	}
85 benjamin 25
 
77 aurelien 26
	private void gererEvenements() {
27
		formulairePropositionVue.getBoutonValidationProposition().addClickHandler(new ClickHandler() {
28
 
29
			@Override
30
			public void onClick(ClickEvent event) {
105 aurelien 31
 
32
				if(!validerSaisieProposition()) {
33
					return;
77 aurelien 34
				} else {
140 aurelien 35
					PropositionDetermination propositionAjoutee = collecterValeursSaisieProposition();
111 aurelien 36
					CacheClient.getInstance().getCurrentObservation().addImageCelValidationData(propositionAjoutee);
159 benjamin 37
 
38
					EvenementAjoutDetermination evenementAjoutDetermination=new EvenementAjoutDetermination(propositionAjoutee);
39
					BusEvenementiel.getInstance().fireEvent(evenementAjoutDetermination);
77 aurelien 40
				}
85 benjamin 41
			}
77 aurelien 42
		});
43
	}
105 aurelien 44
 
45
	private boolean validerSaisieProposition() {
46
 
140 aurelien 47
		TextNotNullFormValidator validateurTaxon = new TextNotNullFormValidator(formulairePropositionVue.getNomPrenom());
48
		boolean taxonSaisi = validateurTaxon.validate();
105 aurelien 49
 
140 aurelien 50
		return taxonSaisi;
105 aurelien 51
	}
52
 
140 aurelien 53
	private PropositionDetermination collecterValeursSaisieProposition() {
105 aurelien 54
 
140 aurelien 55
		PropositionDetermination propositionAjoutee = new PropositionDetermination();
148 benjamin 56
		propositionAjoutee.setId(CacheClient.getInstance().getImageCourante().getIdImage());
140 aurelien 57
 
58
		String auteur = formulairePropositionVue.getNomPrenom().getText();
59
		if(formulairePropositionVue.getCommentaires().getText() != "") {
60
			String contenuCommentaire = formulairePropositionVue.getCommentaires().getText();
61
			Commentaire comm = new Commentaire(auteur, new Date(),contenuCommentaire);
62
			propositionAjoutee.ajouterCommentaire(comm);
63
		}
64
		propositionAjoutee.setContributeur(auteur);
105 aurelien 65
		propositionAjoutee.setDate(new Date());
66
 
140 aurelien 67
		propositionAjoutee.setEspece(formulairePropositionVue.getPropositionTaxon().getText());
105 aurelien 68
 
69
		return propositionAjoutee;
70
	}
46 aurelien 71
}