Subversion Repositories eFlore/Applications.eflore-consultation

Rev

Rev 1301 | Blame | Compare with Previous | Last modification | View Log | RSS feed

$(document).ready(function() {
        $("#connexion").on('click', connecter);
});

function connecter() {
        var erreurMsg = "";
        var urlWs = URL_WS_UTILISATEUR;
        var courriel = $("#courriel").val();
        var mdp = $("#mdp").val();
        var persistance = $('#persistance').is(':checked');
        var donnees = {'methode':'connexion', 'courriel':courriel, 'mdp':mdp, 'persistance':persistance};
        
        $.ajax({
                type : "PUT",
                cache : false,
                url : urlWs,
                data : donnees,
                beforeSend : nettoyerMsg,
                success : function(data) {
                        if (data.identifie) {
                                rechargerPage();
                        } else {
                                afficherErreur(data.message);
                        }
                },
                error : function(jqXHR, textStatus, errorThrown) {
                        erreurMsg += "Erreur Ajax :\ntype : "+textStatus+' '+errorThrown+"\n";
                        erreurMsg += extraireInfosReponse(jqXHR);
                        afficherErreur('Une erreur est survenue lors de la connexion.');
                        if (DEBUG) {
                                console.log('Erreur : '+erreurMsg);
                        }
                },
                complete : function(jqXHR, textStatus) {
                        var debugMsg = extraireEnteteDebug(jqXHR);
                        if (DEBUG) {
                                console.log('Débogage : '+debugMsg);
                        }
                }
        });
        return false;
}

function nettoyerMsg() {
        $(".msg").remove();
}

function rechargerPage() {
        window.location.reload();
}

function extraireInfosReponse(jqXHR) {
        var erreurMsg = '';
        try {
                reponse = jQuery.parseJSON(jqXHR.responseText);
                if (reponse != null) {
                        $.each(reponse, function (cle, valeur) {
                                erreurMsg += valeur + "\n";
                        });
                }
        } catch(e) {
                erreurMsg += "L'erreur n'était pas en JSON.";
        }
        return erreurMsg;
}

function extraireEnteteDebug(jqXHR) {
        var debugMsg = '';
        if (jqXHR.getResponseHeader("X-DebugJrest-Data") != '') {
                debugInfos = jQuery.parseJSON(jqXHR.getResponseHeader("X-DebugJrest-Data"));
                if (debugInfos != null) {
                        $.each(debugInfos, function (cle, valeur) {
                                debugMsg += valeur + "\n";
                        });
                }
        }
        return debugMsg;
}

function afficherErreur(msg) {
        afficherTxt(msg, 'attention');
}

function afficherInfo(msg) {
        afficherTxt(msg, 'information');
}

function afficherMsg(msg) {
        afficherTxt(msg);
}

function afficherTxt(msg, type) {
        type = type ? ' '+type : '';
        nettoyerMsg();
        $("#zone-dialogue").append('<pre class="msg'+type+'">'+msg+'</pre>');
}