/trunk/src/org/tela_botanica/del/client/composants/formulaires/formulaireproposition/formulaireProposition.css |
---|
7,6 → 7,7 |
width: 370px; |
margin: 0 auto; |
margin-top: 5%; |
padding-bottom:50px; |
} |
.boutonProposer:hover { |
51,4 → 52,20 |
padding: 5px; |
padding-left: 25px; |
cursor: pointer |
} |
.zoneNom { |
width:30%; |
float:left; |
margin-right:5px; |
} |
.zonePrenom { |
width:30%; |
float:left; |
} |
.zoneEmail { |
clear:left; |
padding-top:5px; |
} |
/trunk/src/org/tela_botanica/del/client/composants/formulaires/formulaireproposition/FormulairePropositionVue.ui.xml |
---|
6,15 → 6,25 |
<ui:with field="constants" type="org.tela_botanica.del.client.i18n.Vocabulary"/> |
<ui:style src="formulaireProposition.css" /> |
<g:VerticalPanel styleName="{style.formulaireProposition}"> |
<g:HTMLPanel styleName="{style.formulaireProposition}"> |
<g:Label text="{constants.proposerSaDetermination}" styleName="titre"/> |
<g:HTML><br /></g:HTML> |
<g:VerticalPanel styleName="{style.colonneGauche}"> |
<g:HTMLPanel styleName="{style.colonneGauche}"> |
<g:Label ui:field="labelnomPrenom" text="{constants.vous}" styleName="sousTitre"/> |
<g:Label ui:field="infosNomPrenom" text="{constants.infoVous}" styleName="petit" /> |
<g:TextBox ui:field="nomPrenom" /> |
<g:Label text="Votre adresse email : " styleName="petit" /> |
<g:TextBox ui:field="emailAuteur" /> |
<g:HTMLPanel styleName="{style.zoneNom}"> |
<g:Label text="{constants.nom}" styleName="petit" /> |
<g:TextBox ui:field="nom"/> |
</g:HTMLPanel> |
<g:HTMLPanel styleName="{style.zonePrenom}"> |
<g:Label text="{constants.prenom}" styleName="petit" /> |
<g:TextBox ui:field="prenom"/> |
</g:HTMLPanel> |
<g:HTMLPanel styleName="{style.zoneEmail}"> |
<g:Label text="Votre adresse email : " styleName="petit" /> |
<g:TextBox ui:field="courriel" /> |
</g:HTMLPanel> |
<g:HTML><br /></g:HTML> |
<g:Label text="{constants.choisirUnTaxon}" styleName="sousTitre"/> |
<g:HTML HTML="{constants.infoTaxon}" styleName="petit"/> |
23,7 → 33,7 |
<g:Label text="{constants.commentaire}" styleName="sousTitre"/> |
<g:TextArea ui:field="commentaires" styleName="{style.commentaire}" /> |
<g:Button text="{constants.boutonProposer}" ui:field="boutonValidationProposition" styleName="{style.boutonProposer} arrondi"/> |
</g:VerticalPanel> |
</g:VerticalPanel> |
</g:HTMLPanel> |
</g:HTMLPanel> |
</ui:UiBinder> |
/trunk/src/org/tela_botanica/del/client/composants/formulaires/formulaireproposition/FormulairePropositionPresenteur.java |
---|
10,7 → 10,9 |
import org.tela_botanica.del.client.composants.validation.ValidateurChampTexteNonNul; |
import org.tela_botanica.del.client.config.Config; |
import org.tela_botanica.del.client.modeles.Commentaire; |
import org.tela_botanica.del.client.modeles.Contributeur; |
import org.tela_botanica.del.client.modeles.PropositionDetermination; |
import org.tela_botanica.del.client.modeles.Utilisateur; |
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel; |
import org.tela_botanica.del.client.navigation.evenement.ajoutdetermination.EvenementAjoutDetermination; |
import org.tela_botanica.del.client.utils.UtilitairesAutoCompletionService; |
26,15 → 28,20 |
public class FormulairePropositionPresenteur extends Presenteur { |
public interface Vue extends IsWidget { |
public HasText getNomPrenom(); |
public HasText getObjetNom(); |
public HasText getObjetPrenom(); |
public HasWidgets getPropositionTaxon(); |
public HasText getCommentaires(); |
public HasClickHandlers getBoutonValidationProposition(); |
public void afficherStyleErreur(String styleErreur); |
public void supprimerStyleErreur(String styleErreur); |
public void afficherNomPrenomEtDesactiver(String nomPrenomFormate); |
public String getEmailAuteur(); |
public void afficherNomPrenomEtDesactiver(String nom, String prenom); |
public String getCourriel(); |
public void afficherEmailEtDesactiver(String courriel); |
public String getNom(); |
public String getPrenom(); |
public void afficherStyleErreurNom(String styleErreur); |
public void supprimerStyleErreurNom(String styleErreur); |
public void afficherStyleErreurPrenom(String styleErreur); |
public void supprimerStyleErreurPrenom(String styleErreur); |
} |
private Vue vue; |
49,9 → 56,10 |
} |
private void remplirAvecInfosUtilisateur() { |
if(CacheClient.getInstance().getUtilisateur().estIdentifie()) { |
vue.afficherNomPrenomEtDesactiver(CacheClient.getInstance().getUtilisateur().getNomPrenomFormate()); |
vue.afficherEmailEtDesactiver(CacheClient.getInstance().getUtilisateur().getCourriel()); |
Utilisateur utilisateur = CacheClient.getInstance().getUtilisateur(); |
if(utilisateur.estIdentifie()) { |
vue.afficherNomPrenomEtDesactiver(utilisateur.getNom(), utilisateur.getPrenom()); |
vue.afficherEmailEtDesactiver(utilisateur.getCourriel()); |
} |
} |
95,20 → 103,34 |
private boolean validerSaisieProposition() { |
ValidateurChampTexteNonNul validateurTaxon = new ValidateurChampTexteNonNul(vue.getNomPrenom()) { |
ValidateurChampTexteNonNul validateurNom = new ValidateurChampTexteNonNul(vue.getObjetNom()) { |
@Override |
public void afficherStyleErreur(String styleErreur) { |
vue.afficherStyleErreur(styleErreur); |
vue.afficherStyleErreurNom(styleErreur); |
} |
@Override |
public void supprimerStyleErreur(String styleErreur) { |
vue.supprimerStyleErreur(styleErreur); |
vue.supprimerStyleErreurNom(styleErreur); |
} |
}; |
boolean taxonSaisi = validateurTaxon.valider(); |
ValidateurChampTexteNonNul validateurPrenom = new ValidateurChampTexteNonNul(vue.getObjetPrenom()) { |
@Override |
public void afficherStyleErreur(String styleErreur) { |
vue.afficherStyleErreurPrenom(styleErreur); |
} |
@Override |
public void supprimerStyleErreur(String styleErreur) { |
vue.supprimerStyleErreurPrenom(styleErreur); |
} |
}; |
boolean nomSaisi = validateurNom.valider(); |
boolean prenomSaisi = validateurPrenom.valider(); |
return taxonSaisi; |
return nomSaisi && prenomSaisi; |
} |
private PropositionDetermination collecterValeursSaisieProposition() { |
115,20 → 137,17 |
PropositionDetermination propositionAjoutee = new PropositionDetermination(); |
propositionAjoutee.setId(CacheClient.getInstance().getImageCourante().getIdImage()); |
String auteur = vue.getNomPrenom().getText(); |
Contributeur contributeur = new Contributeur(vue.getNom(), vue.getPrenom(), vue.getCourriel()); |
propositionAjoutee.setContributeur(contributeur); |
propositionAjoutee.setDate(new Date()); |
propositionAjoutee.setEspece(autoCompletionNomTaxonsPresenteur.getValeur()); |
if (vue.getCommentaires().getText() != "") { |
String contenuCommentaire = vue.getCommentaires().getText(); |
Commentaire comm = new Commentaire(auteur, new Date(), contenuCommentaire); |
Commentaire comm = new Commentaire(contributeur, new Date(), contenuCommentaire); |
propositionAjoutee.ajouterCommentaire(comm); |
} |
String emailAuteur = vue.getEmailAuteur(); |
propositionAjoutee.setAuteur(auteur); |
propositionAjoutee.setEmailAuteur(emailAuteur); |
propositionAjoutee.setDate(new Date()); |
propositionAjoutee.setEspece(autoCompletionNomTaxonsPresenteur.getValeur()); |
return propositionAjoutee; |
} |
} |
/trunk/src/org/tela_botanica/del/client/composants/formulaires/formulaireproposition/FormulairePropositionVue.java |
---|
5,6 → 5,7 |
import com.google.gwt.uibinder.client.UiField; |
import com.google.gwt.user.client.ui.Button; |
import com.google.gwt.user.client.ui.Composite; |
import com.google.gwt.user.client.ui.HasText; |
import com.google.gwt.user.client.ui.Label; |
import com.google.gwt.user.client.ui.LayoutPanel; |
import com.google.gwt.user.client.ui.TextArea; |
13,24 → 14,21 |
public class FormulairePropositionVue extends Composite implements FormulairePropositionPresenteur.Vue { |
@UiField(provided = true) |
public TextBox nomPrenom = new TextBox(); |
@UiField |
public TextBox nom, prenom, courriel; |
@UiField(provided = true) |
public LayoutPanel propositionTaxon = new LayoutPanel(); |
@UiField |
public LayoutPanel propositionTaxon; |
@UiField(provided = true) |
public TextArea commentaires = new TextArea(); |
@UiField |
public TextArea commentaires; |
@UiField(provided = true) |
public Button boutonValidationProposition = new Button(); |
@UiField |
public Button boutonValidationProposition; |
@UiField |
public Label labelnomPrenom, infosNomPrenom; |
public Label labelnomPrenom; |
@UiField |
public TextBox emailAuteur; |
interface FormulairePropositionUIiBinder extends UiBinder<Widget, FormulairePropositionVue> { |
}; |
40,10 → 38,6 |
initWidget(uiBinder.createAndBindUi(this)); |
} |
@Override |
public TextBox getNomPrenom() { |
return nomPrenom; |
} |
@Override |
public LayoutPanel getPropositionTaxon() { |
61,33 → 55,68 |
} |
@Override |
public void afficherStyleErreur(String styleErreur) { |
nomPrenom.addStyleName(styleErreur); |
public void afficherStyleErreurNom(String styleErreur) { |
nom.addStyleName(styleErreur); |
propositionTaxon.addStyleName(styleErreur); |
} |
@Override |
public void supprimerStyleErreur(String styleErreur) { |
nomPrenom.removeStyleName(styleErreur); |
public void supprimerStyleErreurNom(String styleErreur) { |
nom.removeStyleName(styleErreur); |
propositionTaxon.removeStyleName(styleErreur); |
} |
@Override |
public void afficherStyleErreurPrenom(String styleErreur) { |
prenom.addStyleName(styleErreur); |
propositionTaxon.addStyleName(styleErreur); |
} |
@Override |
public void afficherNomPrenomEtDesactiver(String nomPrenomFormate) { |
nomPrenom.setText(nomPrenomFormate); |
nomPrenom.setEnabled(false); |
public void supprimerStyleErreurPrenom(String styleErreur) { |
prenom.removeStyleName(styleErreur); |
propositionTaxon.removeStyleName(styleErreur); |
} |
@Override |
public void afficherNomPrenomEtDesactiver(String nom, String prenom) { |
this.nom.setText(nom); |
this.prenom.setText(prenom); |
this.nom.setEnabled(false); |
this.prenom.setEnabled(false); |
} |
@Override |
public void afficherEmailEtDesactiver(String courriel) { |
emailAuteur.setText(courriel); |
emailAuteur.setEnabled(false); |
this.courriel.setText(courriel); |
this.courriel.setEnabled(false); |
} |
@Override |
public String getEmailAuteur() { |
return emailAuteur.getText(); |
public String getCourriel() { |
return courriel.getText(); |
} |
@Override |
public String getNom() { |
return nom.getText(); |
} |
@Override |
public String getPrenom() { |
return prenom.getText(); |
} |
@Override |
public HasText getObjetNom() { |
return this.nom; |
} |
@Override |
public HasText getObjetPrenom() { |
return this.prenom; |
} |
} |