| Line 61... |
Line 61... |
| 61 |
|
61 |
|
| 62 |
$('.contenu_onglet').ready(function() {
|
62 |
$('.contenu_onglet').ready(function() {
|
| 63 |
initialiserOnglets();
|
63 |
initialiserOnglets();
|
| Line 64... |
Line 64... |
| 64 |
});
|
64 |
});
|
| Line 65... |
Line 65... |
| 65 |
|
65 |
|
| Line 66... |
Line 66... |
| 66 |
function agrandirZoneCLicBoutonsRadios() {
|
66 |
function agrandirZoneClicBoutonsRadios() {
|
| 67 |
|
67 |
|
| Line 79... |
Line 79... |
| 79 |
$('#form_saisie_espece').submit();
|
79 |
$('#form_saisie_espece').submit();
|
| 80 |
});
|
80 |
});
|
| 81 |
}
|
81 |
}
|
| Line 82... |
Line 82... |
| 82 |
|
82 |
|
| 83 |
$('#form_saisie_espece').ready(function() {
|
83 |
$('#form_saisie_espece').ready(function() {
|
| 84 |
agrandirZoneCLicBoutonsRadios();
|
84 |
agrandirZoneClicBoutonsRadios();
|
| Line 95... |
Line 95... |
| 95 |
|
95 |
|
| 96 |
************************************************************************************************
|
96 |
************************************************************************************************
|
| 97 |
************************************************************************************************
|
97 |
************************************************************************************************
|
| Line 98... |
Line -... |
| 98 |
**/
|
- |
|
| 99 |
|
- |
|
| 100 |
htmlEnCours = '';
|
- |
|
| 101 |
elementEnCours = null;
|
- |
|
| 102 |
ancienneValeurEnCours = null;
|
- |
|
| 103 |
id_formulaire = null;
|
98 |
**/
|
| Line 104... |
Line 99... |
| 104 |
|
99 |
|
| Line 105... |
Line 100... |
| 105 |
function initialiserLignesCliquables() {
|
100 |
function initialiserLignesCliquables() {
|
| 106 |
|
101 |
|
| Line -... |
Line 102... |
| - |
|
102 |
$('.conteneur_element_modifier').hide();
|
| 107 |
$('.conteneur_element_modifier').hide();
|
103 |
|
| - |
|
104 |
$(".date_observation_individu").live("click", function(e) {
|
| - |
|
105 |
e.preventDefault();
|
| 108 |
|
106 |
|
| 109 |
$(".date_observation_individu").live("click", function(e) {
|
107 |
var est_absence_observation = $(e.target).parents('[data-absence-observation="1"]').length > 0;
|
| Line 110... |
Line 108... |
| 110 |
e.preventDefault();
|
108 |
if($(e.target).hasClass('conteneur_supprimer_observation') ||
|
| 111 |
|
109 |
$(e.target).hasClass('supprimer_observation') ||
|
| Line 124... |
Line 122... |
| 124 |
}
|
122 |
}
|
| 125 |
});
|
123 |
});
|
| Line 126... |
Line 124... |
| 126 |
|
124 |
|
| 127 |
$(".date_observation_individu .conteneur_supprimer_observation").live("click", function(e) {
|
125 |
$(".date_observation_individu .conteneur_supprimer_observation").live("click", function(e) {
|
| 128 |
e.preventDefault();
|
126 |
e.preventDefault();
|
| 129 |
if(window.confirm('Êtes-vous sûr de vouloir supprimer cette observation ?')) {
|
127 |
if(window.confirm('Êtes-vous sûr.e de vouloir supprimer cette observation ?')) {
|
| 130 |
// les obs ne sont jamais vraiment supprimées
|
128 |
// les obs ne sont jamais vraiment supprimées
|
| 131 |
// mais seulement remplacées par des dates au format 00/00/yyyy
|
129 |
// mais seulement remplacées par des dates au format 00/00/yyyy
|
| 132 |
envoyerRequeteAjaxSaisieObservation('', $(this).parent('.date_observation_individu'));
|
130 |
envoyerRequeteAjaxSaisieObservation('', $(this).parent('.date_observation_individu'));
|
| - |
|
131 |
}
|
| - |
|
132 |
|
| - |
|
133 |
return false;
|
| - |
|
134 |
});
|
| - |
|
135 |
|
| - |
|
136 |
$(".date_observation_individu .absence_observation").live("click", function(e) {
|
| - |
|
137 |
e.preventDefault();
|
| - |
|
138 |
var avertissement_absence_evenement = 'Attention ! Vous êtes sur le point de signaler que ce stade n\'a pas eu lieu dans l\'année. '+"\n"+
|
| - |
|
139 |
'C\'est-à-dire que vous êtes certain.e de ne pas l\'avoir raté. '+"\n"+
|
| - |
|
140 |
'Êtes-vous sûr.e ?';
|
| - |
|
141 |
if(window.confirm(avertissement_absence_evenement)) {
|
| - |
|
142 |
$(this).parent('.date_observation_individu').data('absence-observation', '1');
|
| - |
|
143 |
var date_absence_evenement = '';
|
| - |
|
144 |
var dateEnCours = new Date();
|
| - |
|
145 |
if(getAnneeEnCoursDeConsultation() == dateEnCours.getFullYear()) {
|
| - |
|
146 |
date_absence_evenement = dateEnCours.getDate()+'/'+dateEnCours.getMonth()+'/'+dateEnCours.getFullYear();
|
| - |
|
147 |
} else {
|
| - |
|
148 |
date_absence_evenement = '01/01/'+dateEnCours.getFullYear();
|
| - |
|
149 |
}
|
| - |
|
150 |
envoyerRequeteAjaxSaisieObservation(date_absence_evenement, $(this).parent('.date_observation_individu'));
|
| - |
|
151 |
}
|
| - |
|
152 |
|
| 133 |
}
|
153 |
return false;
|
| Line 134... |
Line 154... |
| 134 |
});
|
154 |
});
|
| 135 |
|
155 |
|
| 136 |
// pour fermer le datepicker sur esc
|
156 |
// pour fermer le datepicker sur esc
|
| Line 203... |
Line 223... |
| 203 |
"id_evenement": $obs.data('id-stade-observation'),
|
223 |
"id_evenement": $obs.data('id-stade-observation'),
|
| 204 |
"date_evenement": dateStr,
|
224 |
"date_evenement": dateStr,
|
| 205 |
"annee_en_cours": anneeEnCours
|
225 |
"annee_en_cours": anneeEnCours
|
| 206 |
};
|
226 |
};
|
| Line -... |
Line 227... |
| - |
|
227 |
|
| - |
|
228 |
if(!!$obs.data('absence-observation')) {
|
| - |
|
229 |
donnees_obs.absence_observation = $obs.data('absence-observation');
|
| - |
|
230 |
}
|
| 207 |
|
231 |
|
| 208 |
if(!!$obs.data('id-observation')) {
|
232 |
if(!!$obs.data('id-observation')) {
|
| 209 |
donnees_obs.id_observation = $obs.data('id-observation');
|
233 |
donnees_obs.id_observation = $obs.data('id-observation');
|
| Line 210... |
Line 234... |
| 210 |
}
|
234 |
}
|
| Line 228... |
Line 252... |
| 228 |
if(!est_obs_existante) {
|
252 |
if(!est_obs_existante) {
|
| 229 |
var id_conteneur_ajout = 'ajouter_observation_individu_'+donnees_obs['id_individu']+'_evenement_'+donnees_obs['id_evenement'];
|
253 |
var id_conteneur_ajout = 'ajouter_observation_individu_'+donnees_obs['id_individu']+'_evenement_'+donnees_obs['id_evenement'];
|
| 230 |
var $conteneurAjout = $('#'+id_conteneur_ajout).clone();
|
254 |
var $conteneurAjout = $('#'+id_conteneur_ajout).clone();
|
| 231 |
}
|
255 |
}
|
| Line -... |
Line 256... |
| - |
|
256 |
|
| - |
|
257 |
if(absenceStadePourIndividuEtAnneeEstSignalee($obs.data('id-individu'), $obs.data('id-stade'))) {
|
| - |
|
258 |
$obs.find('.date-observation').text('Absent');
|
| - |
|
259 |
return;
|
| - |
|
260 |
}
|
| 232 |
|
261 |
|
| - |
|
262 |
var donnees_obs = formaterDonneesObservationPourEnvoi(dateStr, $obs);
|
| 233 |
var donnees_obs = formaterDonneesObservationPourEnvoi(dateStr, $obs);
|
263 |
donnees_obs['id_participant'] = 3;
|
| Line 234... |
Line 264... |
| 234 |
$.post(url_ajax, donnees_obs, function(obj_retour) {
|
264 |
$.post(url_ajax, donnees_obs, function(obj_retour) {
|
| 235 |
|
265 |
|
| 236 |
if(obj_retour.data.erreurs) {
|
266 |
if(!!obj_retour.data.erreurs) {
|
| 237 |
var message = 'Une ou plusieurs erreurs se sont produites : '+"\n";
|
267 |
var message = 'Une ou plusieurs erreurs se sont produites : '+"\n";
|
| 238 |
for (var key in obj_retour.data.erreurs) {
|
268 |
for (var key in obj_retour.data.erreurs) {
|
| 239 |
if (obj_retour.data.erreurs.hasOwnProperty(key))
|
269 |
if (obj_retour.data.erreurs.hasOwnProperty(key))
|
| Line 246... |
Line 276... |
| 246 |
if(obj_retour.reponse === 'OK') {
|
276 |
if(obj_retour.reponse === 'OK') {
|
| Line 247... |
Line 277... |
| 247 |
|
277 |
|
| 248 |
// les obs ne sont jamais vraiment supprimées
|
278 |
// les obs ne sont jamais vraiment supprimées
|
| 249 |
// mais seulement remplacées par des dates au format 00/00/yyyy
|
279 |
// mais seulement remplacées par des dates au format 00/00/yyyy
|
| - |
|
280 |
if(estUneDateSuppressionObs(dateStr)) {
|
| - |
|
281 |
// si l'on a supprimé le signalement de l'absence d'un stade, alors on peut de nouveau saisir des
|
| - |
|
282 |
// observations pour ce stade (le signalement de l'absence d'un stade pour une année est une observation)
|
| - |
|
283 |
if(estUneAbsenceObservation($obs)) {
|
| - |
|
284 |
afficherOuCacherConteneurAjout($obs.data('id-individu'), $obs.data('id-stade-observation'), true);
|
| - |
|
285 |
afficherOuCacherBoutonSignalerAbsenceObservation($obs.data('id-individu'), $obs.data('id-stade-observation'), true);
|
| - |
|
286 |
}
|
| 250 |
if(estUneDateSuppressionObs(dateStr)) {
|
287 |
|
| 251 |
$obs.remove();
|
288 |
$obs.remove();
|
| 252 |
delete $obs;
|
- |
|
| 253 |
return;
|
- |
|
| Line -... |
Line 289... |
| - |
|
289 |
delete $obs;
|
| 254 |
}
|
290 |
|
| 255 |
|
291 |
// s'il l'on vient de supprimer la dernière obs d'une évènement pour un individu on peut également à nouveau
|
| - |
|
292 |
// saisir des observations pour celui-ci
|
| - |
|
293 |
if(getDatesSaisiesPourStadeEtIndividu($obs.data('id-individu'), $obs.data('id-stade-observation')).length == 0) {
|
| Line 256... |
Line 294... |
| 256 |
$obs.find('.date_observation').text(dateStr);
|
294 |
afficherOuCacherBoutonSignalerAbsenceObservation($obs.data('id-individu'), $obs.data('id-stade-observation'), true);
|
| 257 |
$obs.data('date-observation', dateStr);
|
295 |
}
|
| 258 |
|
- |
|
| 259 |
if(!est_obs_existante) {
|
- |
|
| Line 260... |
Line 296... |
| 260 |
$obs.removeClass('ajouter_observation');
|
296 |
|
| 261 |
$obs.attr('title', 'Cliquez pour modifier la date de cette observation')
|
297 |
return;
|
| - |
|
298 |
}
|
| Line -... |
Line 299... |
| - |
|
299 |
|
| 262 |
$obs.data('id-observation', obj_retour.data.id_observation);
|
300 |
if(!!obj_retour.data.id_observation) {
|
| - |
|
301 |
donnees_obs['id_observation'] = obj_retour.data.id_observation;
|
| - |
|
302 |
}
|
| - |
|
303 |
|
| - |
|
304 |
// sl'on vient de signaler que la stade n'a pas du tout eu lieu dans l'année
|
| - |
|
305 |
if(estUneAbsenceObservation($obs)) {
|
| - |
|
306 |
// alors on affiche une observation spéciale qui indique que le stade est absent
|
| - |
|
307 |
// et qui bloque la saisie d'autres observations de ce stade pour cet individu et cette année
|
| - |
|
308 |
afficherAbsenceObservationPourIndividuEtAnnee($obs, $conteneurAjout, donnees_obs);
|
| 263 |
|
309 |
} else {
|
| Line 264... |
Line 310... |
| 264 |
var id_conteneur_observation = 'individu_'+donnees_obs['id_individu']+'_evenement_'+donnees_obs['id_evenement']+'_observation_'+obj_retour.data.id_observation;
|
310 |
afficherObservation(dateStr, $obs, $conteneurAjout, donnees_obs, est_obs_existante);
|
| 265 |
$obs.attr('id', id_conteneur_observation);
|
311 |
// à partir du moment où l'on a au moins une observation pour un stade et un individu donné
|
| 266 |
|
312 |
// on ne peut plus signaler que l'évènement n'a pas eu lieu cette année
|
| 267 |
$obs.after($conteneurAjout);
|
313 |
afficherOuCacherBoutonSignalerAbsenceObservation($obs.data('id-individu'), $obs.data('id-stade-observation'), false);
|
| 268 |
}
|
314 |
}
|
| Line -... |
Line 315... |
| - |
|
315 |
|
| - |
|
316 |
$('.element_clique').removeClass('element_clique');
|
| - |
|
317 |
fermerDatePicker();
|
| - |
|
318 |
}
|
| - |
|
319 |
});
|
| - |
|
320 |
}
|
| - |
|
321 |
|
| - |
|
322 |
function afficherObservation(dateStr, $obs, $conteneurAjout, donnees_obs, est_obs_existante) {
|
| - |
|
323 |
$obs.find('.date_observation').text(dateStr);
|
| - |
|
324 |
$obs.data('date-observation', dateStr);
|
| - |
|
325 |
|
| - |
|
326 |
if(!est_obs_existante) {
|
| - |
|
327 |
$obs.removeClass('ajouter_observation');
|
| - |
|
328 |
$obs.attr('title', 'Cliquez pour modifier la date de cette observation')
|
| - |
|
329 |
$obs.data('id-observation', donnees_obs['id_observation']);
|
| - |
|
330 |
|
| - |
|
331 |
var id_conteneur_observation = 'individu_'+donnees_obs['id_individu']+'_evenement_'+donnees_obs['id_evenement']+'_observation_'+donnees_obs['id_observation'];
|
| - |
|
332 |
$obs.attr('id', id_conteneur_observation);
|
| - |
|
333 |
|
| - |
|
334 |
$obs.after($conteneurAjout);
|
| - |
|
335 |
}
|
| - |
|
336 |
}
|
| - |
|
337 |
|
| - |
|
338 |
function afficherAbsenceObservationPourIndividuEtAnnee($obs, $conteneurAjout, donnees_obs) {
|
| - |
|
339 |
afficherObservation('Absent', $obs, $conteneurAjout, donnees_obs, false);
|
| - |
|
340 |
$obs.attr('title', 'Vous avez indiqué que ce stade n\'a pas été observé pour cette année');
|
| - |
|
341 |
$obs.data('absence-observation', '1');
|
| - |
|
342 |
$obs.attr('data-absence-observation', '1');
|
| - |
|
343 |
// on cache le conteneur d'ajout car une fois l'absence d'un stade signalée pour une année
|
| - |
|
344 |
// et un individu, il est illogique de vouloir signaler des observations de ce stade
|
| - |
|
345 |
afficherOuCacherConteneurAjout(donnees_obs['id_individu'], donnees_obs['id_evenement'], false);
|
| - |
|
346 |
}
|
| - |
|
347 |
|
| - |
|
348 |
function afficherOuCacherConteneurAjout(id_individu, id_evenement, afficher) {
|
| - |
|
349 |
var $conteneurAjout = $('#ajouter_observation_individu_'+id_individu+'_evenement_'+id_evenement);
|
| - |
|
350 |
$conteneurAjout.toggleClass('hide', !afficher);
|
| - |
|
351 |
}
|
| - |
|
352 |
|
| - |
|
353 |
function afficherOuCacherBoutonSignalerAbsenceObservation(id_individu, id_evenement, afficher) {
|
| - |
|
354 |
var $conteneurSignalementAbsenceObs = $('#ajouter_observation_individu_'+id_individu+'_evenement_'+id_evenement+' .absence_observation');
|
| - |
|
355 |
console.log($conteneurSignalementAbsenceObs);
|
| 269 |
|
356 |
$conteneurSignalementAbsenceObs.toggleClass('hide', !afficher);
|
| 270 |
$('.element_clique').removeClass('element_clique');
|
357 |
}
|
| 271 |
fermerDatePicker();
|
358 |
|
| 272 |
}
|
359 |
function estUneAbsenceObservation($obs) {
|
| Line 299... |
Line 386... |
| 299 |
var bits = s.split('/');
|
386 |
var bits = s.split('/');
|
| 300 |
var d = new Date(bits[2], bits[1] - 1, bits[0]);
|
387 |
var d = new Date(bits[2], bits[1] - 1, bits[0]);
|
| 301 |
return d && (d.getMonth() + 1) == bits[1];
|
388 |
return d && (d.getMonth() + 1) == bits[1];
|
| 302 |
}
|
389 |
}
|
| Line -... |
Line 390... |
| - |
|
390 |
|
| - |
|
391 |
function absenceStadePourIndividuEtAnneeEstSignalee(id_individu, id_stade) {
|
| - |
|
392 |
var selecteur_data = '[data-id-individu="'+id_individu+'"]'+
|
| - |
|
393 |
'[data-id-stade-observation="'+id_stade+'"]'+
|
| - |
|
394 |
'[data-absence-observation="1"]';
|
| - |
|
395 |
|
| - |
|
396 |
return $('.date_observation_individu'+selecteur_data).length >= 1;
|
| - |
|
397 |
}
|
| 303 |
|
398 |
|
| 304 |
function getDatesSaisiesPourStadeEtIndividu(id_individu, id_stade) {
|
399 |
function getDatesSaisiesPourStadeEtIndividu(id_individu, id_stade) {
|
| 305 |
var selecteur_data = '[data-id-individu="'+id_individu+'"]'+
|
400 |
var selecteur_data = '[data-id-individu="'+id_individu+'"]'+
|
| Line 306... |
Line 401... |
| 306 |
'[data-id-stade-observation="'+id_stade+'"]';
|
401 |
'[data-id-stade-observation="'+id_stade+'"]';
|
| Line 676... |
Line 771... |
| 676 |
});
|
771 |
});
|
| 677 |
}
|
772 |
}
|
| Line 678... |
Line 773... |
| 678 |
|
773 |
|
| 679 |
function initialiserLiensSuppression() {
|
774 |
function initialiserLiensSuppression() {
|
| 680 |
$('.lien_suppression').click(function() {
|
775 |
$('.lien_suppression').click(function() {
|
| 681 |
return window.confirm('Êtes vous sur de vouloir supprimer ?');
|
776 |
return window.confirm('Êtes vous sûr.e de vouloir supprimer ?');
|
| 682 |
});
|
777 |
});
|
| Line 683... |
Line 778... |
| 683 |
}
|
778 |
}
|
| 684 |
|
779 |
|