| 507 |
jpm |
1 |
$(document).ready(function() {
|
| 528 |
jpm |
2 |
$("#annuler").on('click', fermerFenetre);
|
| 507 |
jpm |
3 |
$("#effacer").on('click', effacerFomulaire);
|
|
|
4 |
$("#envoyer").on('click', envoyerCourriel);
|
|
|
5 |
});
|
|
|
6 |
|
| 528 |
jpm |
7 |
function fermerFenetre() {
|
| 546 |
jpm |
8 |
window.open('', '_self', '');// BUG : Chrome
|
| 528 |
jpm |
9 |
window.close();
|
| 507 |
jpm |
10 |
}
|
|
|
11 |
|
| 528 |
jpm |
12 |
function effacerFomulaire() {
|
|
|
13 |
$("#sujet").attr('value', $("#sujet_defaut").val());
|
|
|
14 |
$("#message").text($("#message_defaut").val());
|
| 507 |
jpm |
15 |
}
|
|
|
16 |
|
| 528 |
jpm |
17 |
function envoyerCourriel(event) {
|
|
|
18 |
if (verifierFormContact()) {
|
| 974 |
aurelien |
19 |
|
|
|
20 |
if($("#type_envoi").val() == "non-inscrit") {
|
|
|
21 |
var destinataireId = $("#destinataire_id").val();
|
|
|
22 |
var urlMessage = URL_WS_MESSAGE_CEL+"/"+destinataireId;
|
|
|
23 |
} else {
|
|
|
24 |
var destinataireId = $("#destinataire_id").val();
|
|
|
25 |
var urlMessage = URL_WS_UTILISATEUR+"/"+destinataireId+"/message";
|
|
|
26 |
}
|
|
|
27 |
|
| 507 |
jpm |
28 |
var erreurMsg = "";
|
| 528 |
jpm |
29 |
|
|
|
30 |
var sujet = $("#sujet").val()+" - Carnet en ligne - Tela Botanica";
|
|
|
31 |
var message = $("#message").val()+"\n--\n"+
|
|
|
32 |
"Ce message vous est envoyé par l'intermédiaire de l'application eFlore du réseau Tela Botanica.\n"+
|
|
|
33 |
"http://www.tela-botanica.org/eflore";
|
| 507 |
jpm |
34 |
var donnees = new Array();
|
| 528 |
jpm |
35 |
donnees[0] = {'name':'sujet','value':sujet};
|
|
|
36 |
donnees[1] = {'name':'message','value':message};
|
|
|
37 |
donnees[2] = {'name':'utilisateur_courriel','value':$("#utilisateur_courriel").val()};
|
|
|
38 |
donnees[3] = {'name':'copies','value':$("#copies").val()};
|
| 974 |
aurelien |
39 |
donnees[4] = {'name':'destinataire_id','value':$("#destinataire_id").val()};
|
| 528 |
jpm |
40 |
|
| 507 |
jpm |
41 |
$.ajax({
|
|
|
42 |
type : "POST",
|
|
|
43 |
cache : false,
|
|
|
44 |
url : urlMessage,
|
|
|
45 |
data : donnees,
|
|
|
46 |
beforeSend : function() {
|
| 528 |
jpm |
47 |
nettoyerMsg();
|
| 507 |
jpm |
48 |
},
|
|
|
49 |
success : function(data) {
|
| 1507 |
mathias |
50 |
if (data.message) {
|
|
|
51 |
afficherInfo(data.message);
|
|
|
52 |
} else {
|
|
|
53 |
afficherInfo(data);
|
|
|
54 |
}
|
| 507 |
jpm |
55 |
},
|
|
|
56 |
error : function(jqXHR, textStatus, errorThrown) {
|
|
|
57 |
erreurMsg += "Erreur Ajax :\ntype : "+textStatus+' '+errorThrown+"\n";
|
|
|
58 |
reponse = jQuery.parseJSON(jqXHR.responseText);
|
|
|
59 |
if (reponse != null) {
|
|
|
60 |
$.each(reponse, function (cle, valeur) {
|
|
|
61 |
erreurMsg += valeur + "\n";
|
|
|
62 |
});
|
|
|
63 |
}
|
|
|
64 |
},
|
|
|
65 |
complete : function(jqXHR, textStatus) {
|
|
|
66 |
var debugMsg = '';
|
|
|
67 |
if (jqXHR.getResponseHeader("X-DebugJrest-Data") != '') {
|
|
|
68 |
debugInfos = jQuery.parseJSON(jqXHR.getResponseHeader("X-DebugJrest-Data"));
|
|
|
69 |
if (debugInfos != null) {
|
|
|
70 |
$.each(debugInfos, function (cle, valeur) {
|
|
|
71 |
debugMsg += valeur + "\n";
|
|
|
72 |
});
|
|
|
73 |
}
|
|
|
74 |
}
|
|
|
75 |
if (erreurMsg != '') {
|
| 528 |
jpm |
76 |
afficherMsg('Une erreur est survenue lors de la transmission de votre message.'+'<br />'+
|
| 1507 |
mathias |
77 |
'Vous pouvez signaler le dysfonctionnement à <a href="'+
|
| 1546 |
killian |
78 |
'mailto:eflore_remarques@tela-botanica.org'+'?'+
|
| 1507 |
mathias |
79 |
'subject=Dysfonctionnement du formulaire de contact'+
|
| 528 |
jpm |
80 |
"&body="+erreurMsg+"\nDébogage :\n"+debugMsg+
|
|
|
81 |
'">eflore_remarques@tela-botanica.org</a>.');
|
| 507 |
jpm |
82 |
}
|
|
|
83 |
if (DEBUG) {
|
|
|
84 |
console.log('Débogage : '+debugMsg);
|
|
|
85 |
}
|
|
|
86 |
}
|
|
|
87 |
});
|
| 528 |
jpm |
88 |
} else {
|
|
|
89 |
afficherInfo('Veuillez saisir un message');
|
| 507 |
jpm |
90 |
}
|
| 528 |
jpm |
91 |
event.preventDefault();
|
| 507 |
jpm |
92 |
return false;
|
| 528 |
jpm |
93 |
}
|
|
|
94 |
|
|
|
95 |
function afficherInfo(msg) {
|
|
|
96 |
afficherTxt(msg, 'information');
|
|
|
97 |
}
|
|
|
98 |
|
|
|
99 |
function afficherMsg(msg) {
|
|
|
100 |
afficherTxt(msg);
|
|
|
101 |
}
|
|
|
102 |
|
|
|
103 |
function afficherTxt(msg, type) {
|
|
|
104 |
type = type ? ' '+type : '';
|
|
|
105 |
nettoyerMsg();
|
|
|
106 |
$("#zone-dialogue").append('<pre class="msg'+type+'">'+msg+'</pre>');
|
|
|
107 |
}
|
|
|
108 |
|
|
|
109 |
function nettoyerMsg() {
|
|
|
110 |
$(".msg").remove();
|
|
|
111 |
}
|
|
|
112 |
|
|
|
113 |
function verifierFormContact() {
|
|
|
114 |
var valide = true;
|
|
|
115 |
var msg = trim($("#message").val());
|
|
|
116 |
var msgDefaut = trim($("#message_defaut").val());
|
|
|
117 |
if (msg == msgDefaut) {
|
|
|
118 |
valide = false;
|
|
|
119 |
}
|
|
|
120 |
return valide;
|
|
|
121 |
}
|
|
|
122 |
|
|
|
123 |
function trim(chaine) {
|
|
|
124 |
return chaine.replace(/^\s+/g, '').replace(/\s+$/g, '');
|
| 1546 |
killian |
125 |
}
|