1,11 → 1,10 |
package org.tela_botanica.del.client.composants.formulaires.identification; |
|
import org.tela_botanica.del.client.cache.CacheClient; |
import org.tela_botanica.del.client.i18n.I18n; |
import org.tela_botanica.del.client.modeles.Utilisateur; |
import org.tela_botanica.del.client.services.rest.UtilisateurService; |
import org.tela_botanica.del.client.services.rest.UtilisateurServiceConcret; |
import org.tela_botanica.del.client.services.rest.async.UtilisateurCallback; |
|
import com.google.gwt.event.dom.client.ClickEvent; |
import com.google.gwt.event.dom.client.ClickHandler; |
import com.google.gwt.event.dom.client.HasClickHandlers; |
18,61 → 17,72 |
import com.google.gwt.user.client.ui.IsWidget; |
|
public class FormulaireIdentificationPresenteur { |
|
|
public abstract interface Vue extends IsWidget { |
public void ajouterVue(HasWidgets composite); |
|
public HasClickHandlers getSeConnecter(); |
|
public HasClickHandlers getSeDeconnecter(); |
|
public void basculerAffichageFormulaire(); |
|
public void basculerModeConnecte(Utilisateur utilisateur); |
|
public HasClickHandlers getBoutonOK(); |
|
public HasText getLogin(); |
|
public HasText getMotdepasse(); |
|
public void afficherErreur(); |
|
public void masquerErreur(); |
|
public void viderFormulaire(); |
|
public void setErreur(String idTexte); |
|
public String getErreur(); |
|
public HasKeyPressHandlers getLoginHasKeyPressHandler(); |
|
public HasKeyPressHandlers getMotdepasseHasKeyPressHandler(); |
} |
|
|
private Vue vue; |
private Utilisateur utilisateur; |
private UtilisateurService utilisateurService; |
|
|
public FormulaireIdentificationPresenteur(Vue vue, UtilisateurService utilisateurService) { |
this.vue = vue; |
this.utilisateurService = utilisateurService; |
utilisateurService.obtenirUtilisateur(new UtilisateurCallback() { |
|
@Override |
public void surRetourUtilisateur(Utilisateur utilisateur) { |
public void surRetour(Utilisateur objetRetour) { |
CacheClient.getInstance().setUtilisateur(utilisateur); |
rafraichir(); |
} |
|
public void surErreurUtilisateur(String message) { |
/*null*/ |
} |
}); |
gererEvenements(); |
|
|
} |
|
|
public void rafraichir() { |
utilisateur = CacheClient.getInstance().getUtilisateur(); |
utilisateur = CacheClient.getInstance().getUtilisateur(); |
vue.basculerModeConnecte(this.utilisateur); |
} |
|
|
public void gererEvenements() { |
vue.getSeConnecter().addClickHandler(new ClickHandler() { |
|
|
@Override |
public void onClick(ClickEvent event) { |
vue.basculerAffichageFormulaire(); |
} |
}); |
|
|
vue.getBoutonOK().addClickHandler(new ClickHandler() { |
@Override |
public void onClick(ClickEvent event) { |
79,22 → 89,22 |
surTentativeLogin(); |
} |
}); |
|
|
vue.getSeDeconnecter().addClickHandler(new ClickHandler() { |
@Override |
public void onClick(ClickEvent event) { |
deconnecterUtilisateur(); |
deconnecterUtilisateur(); |
} |
}); |
|
|
vue.getLoginHasKeyPressHandler().addKeyPressHandler(creerGestionnaireEvenementToucheEntree()); |
vue.getMotdepasseHasKeyPressHandler().addKeyPressHandler(creerGestionnaireEvenementToucheEntree()); |
} |
|
|
private void surTentativeLogin() { |
String login = vue.getLogin().getText(); |
String login = vue.getLogin().getText(); |
String motdepasse = vue.getMotdepasse().getText(); |
|
|
if (login.equals("") || motdepasse.equals("")) { |
gererErreur("saisirLogin"); |
} else { |
101,7 → 111,7 |
connecterUtilisateur(login, motdepasse); |
} |
} |
|
|
public KeyPressHandler creerGestionnaireEvenementToucheEntree() { |
return new KeyPressHandler() { |
public void onKeyPress(KeyPressEvent event) { |
111,17 → 121,23 |
} |
}; |
} |
|
|
public void gererErreur(String erreur) { |
vue.setErreur(erreur); |
vue.afficherErreur(); |
} |
|
|
public void connecterUtilisateur(String login, String motdepasse) { |
|
utilisateurService.connecterUtilisateur(login, motdepasse, new UtilisateurCallback() { |
|
public void surErreur(String message) { |
vue.setErreur("identificationRefus"); |
vue.afficherErreur(); |
} |
|
@Override |
public void surRetourUtilisateur(Utilisateur utilisateur) { |
public void surRetour(Utilisateur objetRetour) { |
CacheClient.getInstance().setUtilisateur(utilisateur); |
if (utilisateur.estIdentifie()) { |
vue.masquerErreur(); |
128,31 → 144,27 |
rafraichir(); |
vue.basculerAffichageFormulaire(); |
vue.viderFormulaire(); |
} |
} |
} |
|
public void surErreurUtilisateur(String message) { |
vue.setErreur("identificationRefus"); |
vue.afficherErreur(); |
} |
}); |
} |
|
|
public void deconnecterUtilisateur() { |
utilisateurService.deconnecterUtilisateur(new UtilisateurCallback() { |
|
public void surErreur(String message) { |
vue.setErreur("identificationRefus"); |
vue.afficherErreur(); |
} |
|
@Override |
public void surRetourUtilisateur(Utilisateur utilisateur) { |
public void surRetour(Utilisateur objetRetour) { |
CacheClient.getInstance().setUtilisateur(utilisateur); |
rafraichir(); |
} |
|
public void surErreurUtilisateur(String message) { |
vue.setErreur("identificationRefus"); |
vue.afficherErreur(); |
} |
}); |
} |
|
|
public void go(HasWidgets composite) { |
vue.ajouterVue(composite); |
} |