Subversion Repositories eFlore/Applications.del

Rev

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