Subversion Repositories eFlore/Applications.eflore-consultation

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
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) {
530 jpm 50
				afficherInfo(data.message);
507 jpm 51
			},
52
			error : function(jqXHR, textStatus, errorThrown) {
53
				erreurMsg += "Erreur Ajax :\ntype : "+textStatus+' '+errorThrown+"\n";
54
				reponse = jQuery.parseJSON(jqXHR.responseText);
55
				if (reponse != null) {
56
					$.each(reponse, function (cle, valeur) {
57
						erreurMsg += valeur + "\n";
58
					});
59
				}
60
			},
61
			complete : function(jqXHR, textStatus) {
62
				var debugMsg = '';
63
				if (jqXHR.getResponseHeader("X-DebugJrest-Data") != '') {
64
					debugInfos = jQuery.parseJSON(jqXHR.getResponseHeader("X-DebugJrest-Data"));
65
					if (debugInfos != null) {
66
						$.each(debugInfos, function (cle, valeur) {
67
							debugMsg += valeur + "\n";
68
						});
69
					}
70
				}
71
				if (erreurMsg != '') {
528 jpm 72
					afficherMsg('Une erreur est survenue lors de la transmission de votre message.'+'<br />'+
73
						'Vous pouvez signaler le disfonctionnement à <a href="'+
74
						'mailto:cel@tela-botanica.org'+'?'+
75
						'subject=Disfonctionnement du formulaire de contact'+
76
						"&body="+erreurMsg+"\nDébogage :\n"+debugMsg+
77
						'">eflore_remarques@tela-botanica.org</a>.');
507 jpm 78
				}
79
				if (DEBUG) {
80
					console.log('Débogage : '+debugMsg);
81
				}
82
			}
83
		});
528 jpm 84
	} else {
85
		afficherInfo('Veuillez saisir un message');
507 jpm 86
	}
528 jpm 87
	event.preventDefault();
507 jpm 88
	return false;
528 jpm 89
}
90
 
91
function afficherInfo(msg) {
92
	afficherTxt(msg, 'information');
93
}
94
 
95
function afficherMsg(msg) {
96
	afficherTxt(msg);
97
}
98
 
99
function afficherTxt(msg, type) {
100
	type = type ? ' '+type : '';
101
	nettoyerMsg();
102
	$("#zone-dialogue").append('<pre class="msg'+type+'">'+msg+'</pre>');
103
}
104
 
105
function nettoyerMsg() {
106
	$(".msg").remove();
107
}
108
 
109
function verifierFormContact() {
110
	var valide = true;
111
	var msg = trim($("#message").val());
112
	var msgDefaut = trim($("#message_defaut").val());
113
	if (msg == msgDefaut) {
114
		valide = false;
115
	}
116
	return valide;
117
}
118
 
119
function trim(chaine) {
120
	return chaine.replace(/^\s+/g, '').replace(/\s+$/g, '');
507 jpm 121
}