Subversion Repositories eFlore/Applications.eflore-consultation

Rev

Rev 528 | Rev 546 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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