1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
| Ext.BLANK_IMAGE_URL = './ext/resources/images/default/s.gif';
Ext.onReady(function() {
// var authCookie;
var loginMD = new Ext.FormPanel(
{
//configuration formulaire login
id:'loginMD',
url: '', // Url de la page côté serveur
baseParams: {task: 'auth'},
frame:true,
autoWidth: true,
autoHeight: true,
labelAlign: 'right', //les labels s'aligneront a droite
// method:'POST',
items:[
//champs login
{
xtype: 'textfield', // = champ de texte
fieldLabel: 'Nom d\'utilisateur', // = label de description du champ
id: 'login',
name: 'login',
allowBlank: false, //champ obligatoire pour poster le formulaire
blankText:'Veuillez saisir un login.' //message si le champ n'est pas rempli
},{
//champs password
xtype:'textfield',
fieldLabel: 'Mot de passe', // = label de description du champ
id: 'pass',
name: 'pass',
allowBlank: false,
inputType: 'password',
blankText:'Veuillez saisir votre mot de passe.'
},{
//bouton connexion
xtype: 'button',
text: 'Connexion',
handler: function(obj,event) {
loginMD.getForm().submit( // Envoie du formulaire
{
method:'POST',
waitTitle:'Connection en cours',
waitMsg:'Envoi des données...',
success:function(obj,result){ // Si l'authentification est OK ...
Ext.Msg.alert('Statut', 'Identification réussie!', function(btn, text){
if (btn == 'ok'){
win_login.hide(); // ...on cache la fenêtre d'auth
window.location = 'application.html';
},
// Fonction d'échec, voir le commentaire ci-dessous
// Comme vous pouvez le voir, si l'identification échoue il ouvre une boîte de dialogue
// donnant Ã* l'utilisateur des détails sur l'échec.
failure:function(form, action)
{
if(action.failureType == 'server'){
obj = Ext.util.JSON.decode(action.response.responseText);
Ext.Msg.alert('Echec', 'Nom d\'utilisateur ou mot de passe non valide !');//, obj.errors.reason);
}
else
{
Ext.Msg.alert('Attention!', 'Identification serveur injoignable : ' + action.response.responseText);
}
loginMD.getForm().reset();
}
}
);
}
}
]
}
);
//creation de la boite de dialogue
var win_login = new Ext.Window(
{
title:'Authentification',
layout:'fit',
autoWidth:true,
autoHeight: true, //hauteur de la fenêtre
modal: true, //Grise automatiquement le fond de la page
plain: false,
closable:false,
draggable: false,
resizable: false,
border:true,
items:loginMD
}
);
win_login.show();
}); |
Partager