Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 277 → Rev 358

/trunk/src/org/tela_botanica/client/composants/IdentificationFenetre.java
1,14 → 1,11
package org.tela_botanica.client.composants;
 
/*
* Ext GWT - Ext for GWT
* Copyright(c) 2007, 2008, Ext JS, LLC.
* licensing@extjs.com
*
* http://extjs.com/license
*/
import org.tela_botanica.client.ComposantId;
import org.tela_botanica.client.Mediateur;
import org.tela_botanica.client.RegistreId;
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.Information;
import org.tela_botanica.client.modeles.Utilisateur;
 
import com.extjs.gxt.ui.client.Registry;
import com.extjs.gxt.ui.client.event.ButtonEvent;
15,14 → 12,17
import com.extjs.gxt.ui.client.event.ComponentEvent;
import com.extjs.gxt.ui.client.event.KeyListener;
import com.extjs.gxt.ui.client.event.SelectionListener;
import com.extjs.gxt.ui.client.util.Format;
import com.extjs.gxt.ui.client.util.Params;
import com.extjs.gxt.ui.client.widget.Dialog;
import com.extjs.gxt.ui.client.widget.HtmlContainer;
import com.extjs.gxt.ui.client.widget.button.Button;
import com.extjs.gxt.ui.client.widget.button.StatusButtonBar;
import com.extjs.gxt.ui.client.widget.form.TextField;
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
import com.google.gwt.user.client.Timer;
import com.google.gwt.core.client.GWT;
 
public class IdentificationFenetre extends Dialog {
public class IdentificationFenetre extends Dialog implements Rafraichissable {
 
protected StatusButtonBar barreDeBoutons;
protected TextField<String> login;
29,11 → 29,14
protected TextField<String> motDePasse;
protected Button reinitialiserBouton;
protected Button validerBouton;
private Button annulerBouton;
private String zoneInfoTpl;
private HtmlContainer zoneInfoHtml;
 
public IdentificationFenetre() {
FormLayout layout = new FormLayout();
layout.setLabelWidth(90);
layout.setDefaultWidth(155);
layout.setLabelWidth(110);
layout.setDefaultWidth(220);
setLayout(layout);
 
setButtons("");
42,7 → 45,7
setModal(true);
setBodyBorder(true);
setBodyStyle("padding: 10px;background: none");
setWidth(310);
setWidth(450);
setResizable(false);
setAutoWidth(false);
53,6 → 56,12
 
};
 
zoneInfoHtml = new HtmlContainer();
zoneInfoTpl = "<div id='"+ComposantId.DIV_IDENTIFICATION_MSG+"'>{0}</div>";
//zoneInfoHtml.setHtml(Format.substitute(zoneInfoTpl, (new Params()).add("")));
zoneInfoHtml.hide();
add(zoneInfoHtml);
login = new TextField<String>();
login.setMinLength(4);
login.setFieldLabel("Courriel");
87,30 → 96,31
});
 
validerBouton = new Button("Valider");
//login.disable(); // Par défaut : dois être en mode disable
validerBouton.disable(); // Par défaut : dois être en mode disable
validerBouton.addSelectionListener(new SelectionListener<ButtonEvent>() {
public void componentSelected(ButtonEvent ce) {
onSubmit();
}
});
annulerBouton = new Button("Annuler");
annulerBouton.addSelectionListener(new SelectionListener<ButtonEvent>() {
public void componentSelected(ButtonEvent ce) {
close();
}
});
 
barreDeBoutons.add(reinitialiserBouton);
barreDeBoutons.add(annulerBouton);
barreDeBoutons.add(validerBouton);
}
 
protected void onSubmit() {
barreDeBoutons.getStatusBar().showBusy("Chargement en cours ...");
barreDeBoutons.getStatusBar().showBusy("Vérification...");
barreDeBoutons.disable();
Timer t = new Timer() {
 
@Override
public void run() {
IdentificationFenetre.this.hide();
((Mediateur) Registry.get(RegistreId.MEDIATEUR)).connecterUtilisateur(login.getValue(), motDePasse.getValue());
}
 
};
t.schedule(2);// Par défaut : 2000
//IdentificationFenetre.this.hide();
((Mediateur) Registry.get(RegistreId.MEDIATEUR)).connecterUtilisateur(login.getValue(), motDePasse.getValue());
}
 
protected boolean hasValue(TextField<String> field) {
121,4 → 131,26
validerBouton.setEnabled(hasValue(login) && hasValue(motDePasse) && motDePasse.getValue().length() > 3);
}
 
public void rafraichir(Object nouvelleDonnees) {
if (nouvelleDonnees instanceof Information) {
Information info = (Information) nouvelleDonnees;
if (info.getType().equals("maj_utilisateur")) {
Utilisateur utilisateurCourant = ((Utilisateur) Registry.get(RegistreId.UTILISATEUR_COURANT));
if (utilisateurCourant.isIdentifie() == false) {
barreDeBoutons.getStatusBar().clear();
barreDeBoutons.enable();
validate();
zoneInfoHtml.setHtml(Format.substitute(zoneInfoTpl, (new Params()).add("Mauvais login ou mot de passe")));
zoneInfoHtml.show();
layout();
} else {
hide();
}
}
} else {
GWT.log("Ce type d'objet n'est pas pris en compte par la méthode rafraichir de la classe "+getClass(), null);
}
}
 
}