Subversion Repositories eFlore/Applications.eflore-consultation

Rev

Rev 1507 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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