Subversion Repositories eFlore/Applications.cel

Rev

Rev 1218 | Rev 1221 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1218 Rev 1220
Line 200... Line 200...
200
			var latLng = new google.maps.LatLng(ui.item.latitude, ui.item.longitude);
200
			var latLng = new google.maps.LatLng(ui.item.latitude, ui.item.longitude);
201
			deplacerMarker(latLng);
201
			deplacerMarker(latLng);
202
		}
202
		}
203
	});
203
	});
Line 204... Line 204...
204
	
204
	
205
	$("#geolocaliser").click(function() {
205
	$("#geolocaliser").on('click', function() {
206
		var latitude = $('#latitude').val();
206
		var latitude = $('#latitude').val();
207
		var longitude = $('#longitude').val();
207
		var longitude = $('#longitude').val();
208
		latLng = new google.maps.LatLng(latitude, longitude);
208
		latLng = new google.maps.LatLng(latitude, longitude);
209
		deplacerMarker(latLng);
209
		deplacerMarker(latLng);
Line 306... Line 306...
306
			url : urlNomCommuneFormatee,
306
			url : urlNomCommuneFormatee,
307
			type : "GET",
307
			type : "GET",
308
			dataType : "jsonp",
308
			dataType : "jsonp",
309
			beforeSend : function() {
309
			beforeSend : function() {
310
				$(".commune-info").empty();	
310
				$(".commune-info").empty();	
311
				$("#dialogue-erreur").empty();
311
				$("#dialogue-erreur .alert-txt").empty();
312
			},
312
			},
313
			success : function(data, textStatus, jqXHR) {
313
			success : function(data, textStatus, jqXHR) {
314
				$(".commune-info").empty();
314
				$(".commune-info").empty();
315
				$("#commune-nom").append(data.nom);
315
				$("#commune-nom").append(data.nom);
316
				$("#commune-code-insee").append(data.codeINSEE);
316
				$("#commune-code-insee").append(data.codeINSEE);
317
				$("#marqueur-commune").data('commune', {'nom' : data.nom, 'codeInsee' : data.codeINSEE});
317
				$("#marqueur-commune").data('commune', {'nom' : data.nom, 'codeInsee' : data.codeINSEE});
318
			},
318
			},
319
			statusCode : {
319
			statusCode : {
320
			    500 : function(jqXHR, textStatus, errorThrown) {
320
			    500 : function(jqXHR, textStatus, errorThrown) {
321
					if (DEBUG) {	
321
					if (DEBUG) {	
322
						$("#dialogue-erreur").append('<p id="msg">Un problème est survenu lors de l\'appel au service fournissante le nom des communes.</p>');
322
						$("#dialogue-erreur .alert-txt").append('<p id="msg">Un problème est survenu lors de l\'appel au service fournissante le nom des communes.</p>');
323
						reponse = jQuery.parseJSON(jqXHR.responseText);
323
						reponse = jQuery.parseJSON(jqXHR.responseText);
324
						var erreurMsg = "";
324
						var erreurMsg = "";
325
						if (reponse != null) {
325
						if (reponse != null) {
326
							$.each(reponse, function (cle, valeur) {
326
							$.each(reponse, function (cle, valeur) {
327
								erreurMsg += valeur + "<br />";
327
								erreurMsg += valeur + "<br />";
328
							});
328
							});
329
						}
329
						}
Line 330... Line 330...
330
						
330
						
331
						$("#dialogue-erreur").append('<p class="msg-erreur">Erreur 500 : '+errorThrown+"<br />"+erreurMsg+'</p>');
331
						$("#dialogue-erreur .alert-txt").append('<p class="msg-erreur">Erreur 500 : '+errorThrown+"<br />"+erreurMsg+'</p>');
332
					}
332
					}
333
			    }
333
			    }
334
			},
334
			},
335
			error : function(jqXHR, textStatus, errorThrown) {
335
			error : function(jqXHR, textStatus, errorThrown) {
336
				if (DEBUG) {
336
				if (DEBUG) {
337
					$("#dialogue-erreur").append('<p class="msg">Une erreur Ajax est survenue lors de la transmission de vos observations.</p>');
337
					$("#dialogue-erreur .alert-txt").append('<p class="msg">Une erreur Ajax est survenue lors de la transmission de vos observations.</p>');
338
					reponse = jQuery.parseJSON(jqXHR.responseText);
338
					reponse = jQuery.parseJSON(jqXHR.responseText);
339
					var erreurMsg = "";
339
					var erreurMsg = "";
340
					if (reponse != null) {
340
					if (reponse != null) {
341
						$.each(reponse, function (cle, valeur) {
341
						$.each(reponse, function (cle, valeur) {
342
							erreurMsg += valeur + "<br />";
342
							erreurMsg += valeur + "<br />";
343
						});
343
						});
Line 344... Line 344...
344
					}
344
					}
345
					
345
					
346
					$("#dialogue-erreur").append('<p class="msg-erreur">Erreur Ajax : '+errorThrown+' (type : '+textStatus+') <br />'+erreurMsg+'</p>');
346
					$("#dialogue-erreur .alert-txt").append('<p class="msg-erreur">Erreur Ajax : '+errorThrown+' (type : '+textStatus+') <br />'+erreurMsg+'</p>');
347
				}
347
				}
348
			},
348
			},
349
			complete : function(jqXHR, textStatus) {
349
			complete : function(jqXHR, textStatus) {
350
				if (DEBUG && jqXHR.getResponseHeader("X-DebugJrest-Data") != '') {
350
				if (DEBUG && jqXHR.getResponseHeader("X-DebugJrest-Data") != '') {
351
					var debugMsg = "";
351
					var debugMsg = "";
352
					debugInfos = jQuery.parseJSON(jqXHR.getResponseHeader("X-DebugJrest-Data"));
352
					debugInfos = jQuery.parseJSON(jqXHR.getResponseHeader("X-DebugJrest-Data"));
353
					if (debugInfos != null) {
353
					if (debugInfos != null) {
354
						$.each(debugInfos, function (cle, valeur) {
354
						$.each(debugInfos, function (cle, valeur) {
355
							debugMsg += valeur + "<br />";
355
							debugMsg += valeur + "<br />";
356
						});
356
						});
357
						$("#dialogue-erreur").append('<pre class="msg-debug msg">Débogage : '+debugMsg+'</pre>');
357
						$("#dialogue-erreur .alert-txt").append('<pre class="msg-debug msg">Débogage : '+debugMsg+'</pre>');
358
					}
358
					}
359
				}
359
				}
360
				if ($("#dialogue-erreur .msg").length > 0) {
360
				if ($("#dialogue-erreur .msg").length > 0) {
361
					$("#dialogue-erreur").dialog();
361
					$("#dialogue-erreur").show();
362
				}
362
				}
363
			}
363
			}
364
		});
364
		});
Line 368... Line 368...
368
//+---------------------------------------------------------------------------------------------------------+
368
//+---------------------------------------------------------------------------------------------------------+
369
// FORMULAIRE
369
// FORMULAIRE
370
var obsNbre = 0;
370
var obsNbre = 0;
Line 371... Line 371...
371
 
371
 
-
 
372
$(document).ready(function() {
-
 
373
	$(".alert .close").on('click', function() {
-
 
374
		$(this).parentsUntil(".zone-alerte", ".alert").hide();
-
 
375
	});
372
$(document).ready(function() {
376
	
373
	$("#btn-aide").on('click', function() {
377
	$("#btn-aide").on('click', function() {
374
		if ($(this).hasClass('btn-warning')) {
378
		if ($(this).hasClass('btn-warning')) {
375
			$("[rel=tooltip]").tooltip('enable');
379
			$("[rel=tooltip]").tooltip('enable');
376
			$(this).removeClass('btn-warning').addClass('btn-success');
380
			$(this).removeClass('btn-warning').addClass('btn-success');
Line 381... Line 385...
381
			$('#btn-aide-txt', this).text("Activer l'aide");
385
			$('#btn-aide-txt', this).text("Activer l'aide");
382
		}
386
		}
383
	});
387
	});
Line 384... Line 388...
384
	
388
	
385
	
389
	
386
	$("#prenom").bind("change", function(event) {
390
	$("#prenom").on("change", function(event) {
387
		var prenom = new Array();
391
		var prenom = new Array();
388
		var mots = $(this).val().split('-');
392
		var mots = $(this).val().split('-');
389
        for(var i = 0; i < mots.length; i++) {
393
        for(var i = 0; i < mots.length; i++) {
390
        	var mot = mots[i];
394
        	var mot = mots[i];
391
        	var motMajuscule = mot.charAt(0).toUpperCase() + mot.slice(1);
395
        	var motMajuscule = mot.charAt(0).toUpperCase() + mot.slice(1);
392
        	prenom.push(motMajuscule);
396
        	prenom.push(motMajuscule);
393
        }
397
        }
394
		$(this).val(prenom.join('-'));
398
		$(this).val(prenom.join('-'));
395
	});
399
	});
396
	$("#nom").bind("change", function(event) {
400
	$("#nom").on("change", function(event) {
Line 397... Line 401...
397
		$(this).val($(this).val().toUpperCase());
401
		$(this).val($(this).val().toUpperCase());
398
	});
402
	});
Line 482... Line 486...
482
			date : "dateCel",
486
			date : "dateCel",
483
			taxon : "required"
487
			taxon : "required"
484
		}
488
		}
485
	});
489
	});
Line 486... Line 490...
486
	
490
	
487
	$("#courriel_confirmation").bind('paste', function(e) {
491
	$("#courriel_confirmation").on('paste', function(e) {
488
		$("#dialogue-bloquer-copier-coller").dialog();
492
		$("#dialogue-bloquer-copier-coller").show();
489
		return false;
493
		return false;
Line 490... Line 494...
490
	});
494
	});
491
		
495
		
492
	//bascule le texte d'afficher à masquer
496
	//bascule le texte d'afficher à masquer
493
	$("a.afficher-coord").click(function() {
497
	$("a.afficher-coord").on('click', function() {
494
		$("a.afficher-coord").toggle();
498
		$("a.afficher-coord").toggle();
495
		$("#coordonnees-geo").toggle('slow');
499
		$("#coordonnees-geo").toggle('slow');
496
		//valeur false pour que le lien ne soit pas suivi
500
		//valeur false pour que le lien ne soit pas suivi
Line 497... Line 501...
497
		return false;
501
		return false;
498
	});
502
	});
499
	
503
	
500
	var obsNumero = 0;
504
	var obsNumero = 0;
501
	$("#ajouter-obs").bind('click', function(e) {
505
	$("#ajouter-obs").on('click', function(e) {
502
		if (validerFormulaire() == true) {
506
		if (validerFormulaire() == true) {
503
			//rassemble les obs dans un tableau html
507
			//rassemble les obs dans un tableau html
Line 509... Line 513...
509
					'<td rowspan="3" class="obs-miniature">'+ajouterImgMiniatureAuTransfert()+'</td>'+
513
					'<td rowspan="3" class="obs-miniature">'+ajouterImgMiniatureAuTransfert()+'</td>'+
510
					'<td>'+$("#taxon").val()+'</td>'+
514
					'<td>'+$("#taxon").val()+'</td>'+
511
					'<td colspan="2">'+$('#commune-nom').text()+' ('+$('#commune-code-insee').text()+') ['+$("#latitude").val()+' / '+$("#longitude").val()+']</td>'+
515
					'<td colspan="2">'+$('#commune-nom').text()+' ('+$('#commune-code-insee').text()+') ['+$("#latitude").val()+' / '+$("#longitude").val()+']</td>'+
512
					'<td rowspan="3">'+$("#notes").val()+'</td>'+
516
					'<td rowspan="3">'+$("#notes").val()+'</td>'+
513
					'<td rowspan="3" class="obs-action">'+
517
					'<td rowspan="3" class="obs-action">'+
514
						'<button class="supprimer-obs" value="'+obsNumero+'" title="Supprimer l\'observation '+obsNumero+'">'+
518
						'<button class="supprimer-obs" value="'+obsNumero+'" title="'+obsNumero+'">'+
515
						'<img src="'+SUPPRIMER_ICONE_URL+'"/></button>'+
519
						'<img src="'+SUPPRIMER_ICONE_URL+'"/></button>'+
516
					'</td>'+
520
					'</td>'+
517
				'</tr>'+
521
				'</tr>'+
518
				'<tr class="obs obs'+obsNumero+'">'+
522
				'<tr class="obs obs'+obsNumero+'">'+
519
					'<td rowspan="2">'+$("#date").val()+'</td>'+
523
					'<td rowspan="2">'+$("#date").val()+'</td>'+
Line 549... Line 553...
549
				'image_b64' : getB64ImgOriginal()
553
				'image_b64' : getB64ImgOriginal()
550
			});
554
			});
551
		}
555
		}
552
	});
556
	});
Line 553... Line 557...
553
	
557
	
Line 554... Line 558...
554
	$(".supprimer-obs").live('click', supprimerObs);
558
	$("body").on('click', ".supprimer-obs", supprimerObs);
555
	
559
	
Line 556... Line 560...
556
	$("#transmettre-obs").click(function(e) {
560
	$("#transmettre-obs").on('click', function(e) {
557
		var observations = $("#liste-obs").data();
561
		var observations = $("#liste-obs").data();
558
		
-
 
559
		if (observations == undefined || jQuery.isEmptyObject(observations)) {
-
 
560
			$("#dialogue-zero-obs").dialog();
562
		
561
		} else if ($("#saisie-obs").valid() == false) {
563
		if (observations == undefined || jQuery.isEmptyObject(observations)) {
Line 562... Line 564...
562
			$("#dialogue-form-invalide").dialog();
564
			$("#dialogue-zero-obs").show();
563
		} else {
565
		} else {
Line 580... Line 582...
580
					$(".msg-erreur").remove();
582
					$(".msg-erreur").remove();
581
					$(".msg-debug").remove();
583
					$(".msg-debug").remove();
582
					$("#chargement").show();
584
					$("#chargement").show();
583
				},
585
				},
584
				success : function(data, textStatus, jqXHR) {
586
				success : function(data, textStatus, jqXHR) {
585
					$("#dialogue-obs-transaction").append('<p class="msg">Vos observations ont bien été transmises.</p>');
587
					$("#dialogue-obs-transaction .alert-txt").append('<p class="msg">Vos observations ont bien été transmises.</p>');
586
					supprimerMiniature();
588
					supprimerMiniature();
587
				},
589
				},
588
				statusCode : {
590
				statusCode : {
589
					500 : function(jqXHR, textStatus, errorThrown) {
591
					500 : function(jqXHR, textStatus, errorThrown) {
590
						$("#chargement").hide();
592
						$("#chargement").hide();
591
						erreurMsg += "Erreur 500 :\ntype : "+textStatus+' '+errorThrown+"\n";
593
						erreurMsg += "Erreur 500 :\ntype : "+textStatus+' '+errorThrown+"\n";
592
						if (DEBUG) {
594
						if (DEBUG) {
593
							$("#dialogue-obs-transaction").append('<pre class="msg-erreur">'+erreurMsg+'</pre>');
595
							$("#dialogue-obs-transaction .alert-txt").append('<pre class="msg-erreur">'+erreurMsg+'</pre>');
594
						}
596
						}
595
				    }
597
				    }
596
				},
598
				},
597
				error : function(jqXHR, textStatus, errorThrown) {
599
				error : function(jqXHR, textStatus, errorThrown) {
598
					erreurMsg += "Erreur Ajax :\ntype : "+textStatus+' '+errorThrown+"\n";
600
					erreurMsg += "Erreur Ajax :\ntype : "+textStatus+' '+errorThrown+"\n";
Line 606... Line 608...
606
					} catch(e) {
608
					} catch(e) {
607
						erreurMsg += "L'erreur n'était pas en JSON.";
609
						erreurMsg += "L'erreur n'était pas en JSON.";
608
					}
610
					}
Line 609... Line 611...
609
					
611
					
610
					if (DEBUG) {
612
					if (DEBUG) {
611
						$("#dialogue-obs-transaction").append('<pre class="msg-erreur">'+erreurMsg+'</pre>');
613
						$("#dialogue-obs-transaction .alert-txt").append('<pre class="msg-erreur">'+erreurMsg+'</pre>');
612
					}
614
					}
613
				},
615
				},
614
				complete : function(jqXHR, textStatus) {
616
				complete : function(jqXHR, textStatus) {
615
					$("#chargement").hide();
617
					$("#chargement").hide();
Line 621... Line 623...
621
								debugMsg += valeur + "\n";
623
								debugMsg += valeur + "\n";
622
							});
624
							});
623
						}
625
						}
624
					}
626
					}
625
					if (erreurMsg != '') {
627
					if (erreurMsg != '') {
626
						$("#dialogue-obs-transaction").append('<p class="msg">'+
628
						$("#dialogue-obs-transaction .alert-txt").append('<p class="msg">'+
627
								'Une erreur est survenue lors de la transmission de vos observations.'+'<br />'+
629
								'Une erreur est survenue lors de la transmission de vos observations.'+'<br />'+
628
								'Vous pouvez signaler le disfonctionnement à <a href="'+
630
								'Vous pouvez signaler le disfonctionnement à <a href="'+
629
								'mailto:cel@tela-botanica.org'+'?'+
631
								'mailto:cel@tela-botanica.org'+'?'+
630
								'subject=Disfonctionnement du widget de saisie Biodiversite34'+
632
								'subject=Disfonctionnement du widget de saisie Biodiversite34'+
631
								"&body="+erreurMsg+"\nDébogage :\n"+debugMsg+
633
								"&body="+erreurMsg+"\nDébogage :\n"+debugMsg+
632
								'">cel@tela-botanica.org</a>.'+
634
								'">cel@tela-botanica.org</a>.'+
633
								'</p>');
635
								'</p>');
634
					}
636
					}
635
					if (DEBUG) {
637
					if (DEBUG) {
636
						$("#dialogue-obs-transaction").append('<pre class="msg-debug">Débogage : '+debugMsg+'</pre>');
638
						$("#dialogue-obs-transaction .alert-txt").append('<pre class="msg-debug">Débogage : '+debugMsg+'</pre>');
637
					}
639
					}
Line 638... Line 640...
638
					
640
					
639
					$("#dialogue-obs-transaction").dialog();
641
					$("#dialogue-obs-transaction").show();
640
					$("#liste-obs").removeData();
642
					$("#liste-obs").removeData();
641
					$('.obs').remove();
643
					$('.obs').remove();
642
					obsNumero = 0;
644
					obsNumero = 0;
643
				}
645
				}
Line 668... Line 670...
668
	var obsId = $(this).val();
670
	var obsId = $(this).val();
669
	// Problème avec IE 6 et 7
671
	// Problème avec IE 6 et 7
670
	if (obsId == "Supprimer") {
672
	if (obsId == "Supprimer") {
671
		obsId = $(this).attr("title");
673
		obsId = $(this).attr("title");
672
	}
674
	}
-
 
675
	console.log('ici'+obsId);
673
	obsNbre = obsNbre - 1;
676
	obsNbre = obsNbre - 1;
674
	$(".obs-nbre").text(obsNbre);
677
	$(".obs-nbre").text(obsNbre);
Line 675... Line 678...
675
	
678
	
676
	$('.obs'+obsId).remove();
679
	$('.obs'+obsId).remove();
Line 724... Line 727...
724
function traiterRetourNomsSci(data) {
727
function traiterRetourNomsSci(data) {
725
	var suggestions = [];  
728
	var suggestions = [];  
726
	if (data.resultat != undefined) {
729
	if (data.resultat != undefined) {
727
		$.each(data.resultat, function(i, val) {
730
		$.each(data.resultat, function(i, val) {
728
			val.nn = i;
731
			val.nn = i;
-
 
732
			console.log(val);
729
			var nom = {label : '', value : '', nt : '', nomSel : '', nomSelComplet : '', numNomSel : '',  
733
			var nom = {label : '', value : '', nt : '', nomSel : '', nomSelComplet : '', numNomSel : '',  
730
				nomRet : '', numNomRet : '', famille : '', retenu : false
734
				nomRet : '', numNomRet : '', famille : '', retenu : false
731
			};
735
			};
732
			if (suggestions.length >= AUTOCOMPLETION_ELEMENTS_NBRE) {
736
			if (suggestions.length >= AUTOCOMPLETION_ELEMENTS_NBRE) {
733
				nom.label = "...";
737
				nom.label = "...";
Line 739... Line 743...
739
				nom.value = val.nom_sci;
743
				nom.value = val.nom_sci;
740
				nom.nt = val.num_taxonomique;
744
				nom.nt = val.num_taxonomique;
741
				nom.nomSel = val.nom_sci;
745
				nom.nomSel = val.nom_sci;
742
				nom.nomSelComplet = val.nom_sci_complet;
746
				nom.nomSelComplet = val.nom_sci_complet;
743
				nom.numNomSel = val.nn;
747
				nom.numNomSel = val.nn;
744
				nom.nomRet = val.nom_retenu.libelle;
748
				nom.nomRet = val["nom_retenu.libelle"];
745
				nom.numNomRet = val.nom_retenu.id;
749
				nom.numNomRet = val["nom_retenu.id"];
746
				nom.famille = val.famille.libelle;
750
				nom.famille = val["famille.libelle"];
747
				nom.retenu = (val.retenu == 'false') ? false : true;
751
				nom.retenu = (val.retenu == 'false') ? false : true;
Line 748... Line 752...
748
				
752
				
749
				suggestions.push(nom);
753
				suggestions.push(nom);
750
			}			
754
			}