Subversion Repositories eFlore/Applications.eflore-consultation

Rev

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

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