507 |
jpm |
1 |
$(document).ready(function() {
|
|
|
2 |
$("#effacer").on('click', effacerFomulaire);
|
|
|
3 |
$("#envoyer").on('click', envoyerCourriel);
|
|
|
4 |
});
|
|
|
5 |
|
|
|
6 |
function effacerFomulaire() {
|
|
|
7 |
$("#destinataire_id").attr('value', '');
|
|
|
8 |
$("#sujet").attr('value', '');
|
|
|
9 |
$("#message").text('');
|
|
|
10 |
}
|
|
|
11 |
|
|
|
12 |
function ajouterFomulaireContact(element) {
|
|
|
13 |
$(element).fancybox({
|
|
|
14 |
transitionIn:'elastic',
|
|
|
15 |
transitionOut:'elastic',
|
|
|
16 |
speedIn :600,
|
|
|
17 |
speedOut:200,
|
|
|
18 |
scrolling: 'no',
|
|
|
19 |
titleShow: false,
|
|
|
20 |
onStart: function(selectedArray, selectedIndex, selectedOpts) {
|
|
|
21 |
var element = selectedArray[selectedIndex];
|
|
|
22 |
|
|
|
23 |
var motif = / contributeur-([0-9]+)$/;
|
|
|
24 |
motif.exec($(element).attr('class'));
|
|
|
25 |
var id = RegExp.$1;
|
|
|
26 |
// console.log('Destinataire id : '+id);
|
|
|
27 |
$("#fc_destinataire_id").attr('value', id);
|
|
|
28 |
|
|
|
29 |
var motif = / obs-([0-9]+) /;
|
|
|
30 |
motif.exec($(element).attr('class'));
|
|
|
31 |
var id = RegExp.$1;
|
|
|
32 |
// console.log('Obs id : '+id);
|
|
|
33 |
chargerInfoObsPourMessage(id);
|
|
|
34 |
},
|
|
|
35 |
onCleanup: function() {
|
|
|
36 |
// console.log('Avant fermeture fancybox');
|
|
|
37 |
$("#fc_destinataire_id").attr('value', '');
|
|
|
38 |
$("#fc_sujet").attr('value', '');
|
|
|
39 |
$("#fc_message").text('');
|
|
|
40 |
},
|
|
|
41 |
onClosed: function(e) {
|
|
|
42 |
// console.log('Fermeture fancybox');
|
|
|
43 |
if (e.stopPropagation) {
|
|
|
44 |
e.stopPropagation();
|
|
|
45 |
}
|
|
|
46 |
return false;
|
|
|
47 |
}
|
|
|
48 |
});
|
|
|
49 |
}
|
|
|
50 |
|
|
|
51 |
function chargerInfoObsPourMessage(idObs) {
|
|
|
52 |
var nomSci = trim($(".cel-obs-"+idObs+" .nom-sci:eq(0)").text());
|
|
|
53 |
var date = trim($(".cel-obs-"+idObs+" .date:eq(0)").text());
|
|
|
54 |
var lieu = trim($(".cel-obs-"+idObs+" .lieu:eq(0)").text());
|
|
|
55 |
var sujet = "Observation #"+idObs+" de "+nomSci;
|
|
|
56 |
var message = "\n\n\n\n\n\n\n\n--\nConcerne l'observation de \""+nomSci+'" du "'+date+'" au lieu "'+lieu+'".';
|
|
|
57 |
$("#sujet").attr('value', sujet);
|
|
|
58 |
$("#message").text(message);
|
|
|
59 |
}
|
|
|
60 |
|
|
|
61 |
function initialiserFormulaireContact() {
|
|
|
62 |
// console.log('Initialisation du form contact');
|
|
|
63 |
$("#form-contact").validate({
|
|
|
64 |
rules: {
|
|
|
65 |
fc_sujet : "required",
|
|
|
66 |
fc_message : "required",
|
|
|
67 |
fc_utilisateur_courriel : {
|
|
|
68 |
required : true,
|
|
|
69 |
email : true}
|
|
|
70 |
}
|
|
|
71 |
});
|
|
|
72 |
$("#form-contact").bind("submit", envoyerCourriel);
|
|
|
73 |
$("#fc_annuler").bind("click", function() {$.fancybox.close();});
|
|
|
74 |
|
|
|
75 |
}
|
|
|
76 |
|
|
|
77 |
function envoyerCourriel() {
|
|
|
78 |
// console.log('Formulaire soumis');
|
|
|
79 |
if ($("#form-contact").valid()) {
|
|
|
80 |
// console.log('Formulaire valide');
|
|
|
81 |
// $.fancybox.showActivity();
|
|
|
82 |
var destinataireId = $("#fc_destinataire_id").attr('value');
|
|
|
83 |
var urlMessage = "http://www.tela-botanica.org/service:annuaire:Utilisateur/"+destinataireId+"/message"
|
|
|
84 |
var erreurMsg = "";
|
|
|
85 |
var donnees = new Array();
|
|
|
86 |
$.each($(this).serializeArray(), function (index, champ) {
|
|
|
87 |
var cle = champ.name;
|
|
|
88 |
cle = cle.replace(/^fc_/, '');
|
|
|
89 |
|
|
|
90 |
if (cle == 'sujet') {
|
|
|
91 |
champ.value += " - Carnet en ligne - Tela Botanica";
|
|
|
92 |
}
|
|
|
93 |
if (cle == 'message') {
|
|
|
94 |
champ.value += "\n--\n"+
|
|
|
95 |
"Ce message vous est envoyé par l'intermédiaire du widget Cartographique "+
|
|
|
96 |
"du Carnet en Ligne du réseau Tela Botanica.\n"+
|
|
|
97 |
"http://www.tela-botanica.org/widget:cel:carto";
|
|
|
98 |
}
|
|
|
99 |
|
|
|
100 |
donnees[index] = {'name':cle,'value':champ.value};
|
|
|
101 |
});
|
|
|
102 |
$.ajax({
|
|
|
103 |
type : "POST",
|
|
|
104 |
cache : false,
|
|
|
105 |
url : urlMessage,
|
|
|
106 |
data : donnees,
|
|
|
107 |
beforeSend : function() {
|
|
|
108 |
$(".msg").remove();
|
|
|
109 |
},
|
|
|
110 |
success : function(data) {
|
|
|
111 |
$("#fc-zone-dialogue").append('<pre class="msg info">'+data.message+'</pre>');
|
|
|
112 |
},
|
|
|
113 |
error : function(jqXHR, textStatus, errorThrown) {
|
|
|
114 |
erreurMsg += "Erreur Ajax :\ntype : "+textStatus+' '+errorThrown+"\n";
|
|
|
115 |
reponse = jQuery.parseJSON(jqXHR.responseText);
|
|
|
116 |
if (reponse != null) {
|
|
|
117 |
$.each(reponse, function (cle, valeur) {
|
|
|
118 |
erreurMsg += valeur + "\n";
|
|
|
119 |
});
|
|
|
120 |
}
|
|
|
121 |
},
|
|
|
122 |
complete : function(jqXHR, textStatus) {
|
|
|
123 |
var debugMsg = '';
|
|
|
124 |
if (jqXHR.getResponseHeader("X-DebugJrest-Data") != '') {
|
|
|
125 |
debugInfos = jQuery.parseJSON(jqXHR.getResponseHeader("X-DebugJrest-Data"));
|
|
|
126 |
if (debugInfos != null) {
|
|
|
127 |
$.each(debugInfos, function (cle, valeur) {
|
|
|
128 |
debugMsg += valeur + "\n";
|
|
|
129 |
});
|
|
|
130 |
}
|
|
|
131 |
}
|
|
|
132 |
if (erreurMsg != '') {
|
|
|
133 |
$("#fc-zone-dialogue").append('<p class="msg">'+
|
|
|
134 |
'Une erreur est survenue lors de la transmission de votre message.'+'<br />'+
|
|
|
135 |
'Vous pouvez signaler le disfonctionnement à <a href="'+
|
|
|
136 |
'mailto:cel@tela-botanica.org'+'?'+
|
|
|
137 |
'subject=Disfonctionnement du widget de Cartographie'+
|
|
|
138 |
"&body="+erreurMsg+"\nDébogage :\n"+debugMsg+
|
|
|
139 |
'">cel@tela-botanica.org</a>.'+
|
|
|
140 |
'</p>');
|
|
|
141 |
}
|
|
|
142 |
if (DEBUG) {
|
|
|
143 |
console.log('Débogage : '+debugMsg);
|
|
|
144 |
}
|
|
|
145 |
// console.log('Débogage : '+debugMsg);
|
|
|
146 |
// console.log('Erreur : '+erreurMsg);
|
|
|
147 |
}
|
|
|
148 |
});
|
|
|
149 |
}
|
|
|
150 |
return false;
|
|
|
151 |
}
|