Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 2707 Rev 2709
Line 53... Line 53...
53
 * Initialise la cartographie
53
 * Initialise la cartographie
54
 */
54
 */
55
WidgetSaisie.prototype.initCarto = function() {
55
WidgetSaisie.prototype.initCarto = function() {
56
	this.initialiserGoogleMap();
56
	this.initialiserGoogleMap();
57
	this.initialiserAutocompleteCommune();
57
	this.initialiserAutocompleteCommune();
58
 
-
 
59
	$("#carte-recherche").autocomplete({
-
 
60
		//Cette partie utilise geocoder pour extraire des valeurs d'adresse
-
 
61
		source: function(request, response) {
-
 
62
			geocoderOptions.address = request.term + addressSuffix;
-
 
63
			console.log('Geocoder options', geocoderOptions);
-
 
64
			lthis.geocoder.geocode( geocoderOptions, function(results, status) {
-
 
65
				if (status == google.maps.GeocoderStatus.OK) {
-
 
66
					response($.map(results, function(item) {
-
 
67
						var retour = {
-
 
68
							label: item.formatted_address,
-
 
69
							value: item.formatted_address,
-
 
70
							latitude: item.geometry.location.lat(),
-
 
71
							longitude: item.geometry.location.lng()
-
 
72
						};
-
 
73
						return retour;
-
 
74
					}));
-
 
75
				} else {
-
 
76
					lthis.afficherErreurGoogleMap(status);
-
 
77
				}
-
 
78
			});
-
 
79
		},
-
 
80
		// Cette partie est executee a la selection d'une adresse
-
 
81
		select: function(event, ui) {
-
 
82
			var latLng = new google.maps.LatLng(ui.item.latitude, ui.item.longitude);
-
 
83
			lthis.deplacerMarker(latLng);
-
 
84
		}
-
 
85
	});
-
 
86
}
58
}
Line 87... Line 59...
87
 
59
 
88
/**
60
/**
89
 * Initialise le formulaire, les validateurs, les listes de complétion...
61
 * Initialise le formulaire, les validateurs, les listes de complétion...
Line 277... Line 249...
277
		case 'bdtfx':
249
		case 'bdtfx':
278
		case 'bdtxa':
250
		case 'bdtxa':
279
			geocoderOptions.region = 'fr';
251
			geocoderOptions.region = 'fr';
280
			addressSuffix = ', France';
252
			addressSuffix = ', France';
281
	}
253
	}
-
 
254
 
-
 
255
	$("#carte-recherche").autocomplete({
-
 
256
		//Cette partie utilise geocoder pour extraire des valeurs d'adresse
-
 
257
		source: function(request, response) {
-
 
258
			geocoderOptions.address = request.term + addressSuffix;
-
 
259
			lthis.geocoder.geocode( geocoderOptions, function(results, status) {
-
 
260
				if (status == google.maps.GeocoderStatus.OK) {
-
 
261
					response($.map(results, function(item) {
-
 
262
						var retour = {
-
 
263
							label: item.formatted_address,
-
 
264
							value: item.formatted_address,
-
 
265
							latitude: item.geometry.location.lat(),
-
 
266
							longitude: item.geometry.location.lng()
-
 
267
						};
-
 
268
						return retour;
-
 
269
					}));
-
 
270
				} else {
-
 
271
					lthis.afficherErreurGoogleMap(status);
-
 
272
				}
-
 
273
			});
-
 
274
		},
-
 
275
		// Cette partie est executee a la selection d'une adresse
-
 
276
		select: function(event, ui) {
-
 
277
			var latLng = new google.maps.LatLng(ui.item.latitude, ui.item.longitude);
-
 
278
			lthis.deplacerMarker(latLng);
-
 
279
		}
-
 
280
	});
282
};
281
};
Line 283... Line 282...
283
 
282
 
284
WidgetSaisie.prototype.afficherErreurGoogleMap = function(status) {
283
WidgetSaisie.prototype.afficherErreurGoogleMap = function(status) {
285
	if (this.debug) {
284
	if (this.debug) {
Line 498... Line 497...
498
 
497
 
499
WidgetSaisie.prototype.requeterIdentite = function() {
498
WidgetSaisie.prototype.requeterIdentite = function() {
500
	var lthis = this;
499
	var lthis = this;
501
	var courriel = $("#courriel").val();
500
	var courriel = $("#courriel").val();
-
 
501
	var urlAnnuaire = this.serviceAnnuaireIdUrl + courriel;
502
	var urlAnnuaire = this.serviceAnnuaireIdUrl + courriel;
502
	if (courriel != '') {
503
	$.ajax({
503
		$.ajax({
504
		url : urlAnnuaire,
504
			url : urlAnnuaire,
505
		type : "GET",
505
			type : "GET",
506
		success : function(data, textStatus, jqXHR) {
506
			success : function(data, textStatus, jqXHR) {
507
			//console.log('SUCCESS:'+textStatus);
507
				//console.log('SUCCESS:'+textStatus);
508
			if (data != undefined && data[courriel] != undefined) {
508
				if (data != undefined && data[courriel] != undefined) {
509
				var infos = data[courriel];
509
					var infos = data[courriel];
510
				$("#id_utilisateur").val(infos.id);
510
					$("#id_utilisateur").val(infos.id);
511
				$("#prenom").val(infos.prenom);
511
					$("#prenom").val(infos.prenom);
512
				$("#nom").val(infos.nom);
512
					$("#nom").val(infos.nom);
513
				$("#courriel_confirmation").val(courriel);
513
					$("#courriel_confirmation").val(courriel);
514
				$("#prenom, #nom, #courriel_confirmation").attr('disabled', 'disabled');
514
					$("#prenom, #nom, #courriel_confirmation").attr('disabled', 'disabled');
515
				lthis.focusChampFormulaire();
515
					lthis.focusChampFormulaire();
516
				lthis.masquerPanneau("#dialogue-courriel-introuvable");
516
					lthis.masquerPanneau("#dialogue-courriel-introuvable");
-
 
517
				} else {
-
 
518
					lthis.surErreurCompletionCourriel();
-
 
519
				}
-
 
520
			},
-
 
521
			error : function(jqXHR, textStatus, errorThrown) {
517
			} else {
522
				//console.log('ERREUR :'+textStatus);
-
 
523
				lthis.surErreurCompletionCourriel();
-
 
524
			},
-
 
525
			complete : function(jqXHR, textStatus) {
-
 
526
				//console.log('COMPLETE :'+textStatus);
-
 
527
				// @TODO harmoniser class="hidden" VS style="display:none;"
-
 
528
				$("#zone-prenom-nom").removeClass("hidden").show();
-
 
529
				$("#zone-courriel-confirmation").removeClass("hidden").show();
518
				lthis.surErreurCompletionCourriel();
530
				
519
			}
531
			}
520
		},
-
 
521
		error : function(jqXHR, textStatus, errorThrown) {
-
 
522
			//console.log('ERREUR :'+textStatus);
-
 
523
			lthis.surErreurCompletionCourriel();
-
 
524
		},
-
 
525
		complete : function(jqXHR, textStatus) {
-
 
526
			//console.log('COMPLETE :'+textStatus);
-
 
527
			// @TODO harmoniser class="hidden" VS style="display:none;"
-
 
528
			$("#zone-prenom-nom").removeClass("hidden").show();
-
 
529
			$("#zone-courriel-confirmation").removeClass("hidden").show();
-
 
530
			
532
		});
531
		}
-
 
532
	});
533
	}
Line 533... Line 534...
533
};
534
};
534
 
535
 
535
WidgetSaisie.prototype.focusChampFormulaire = function() {
536
WidgetSaisie.prototype.focusChampFormulaire = function() {
Line 820... Line 821...
820
		'station' : $("#station").val(),
821
		'station' : $("#station").val(),
821
		'milieu' : $("#milieu").val(),
822
		'milieu' : $("#milieu").val(),
Line 822... Line 823...
822
 
823
 
823
		//Ajout des champs images
824
		//Ajout des champs images
824
		'image_nom' : lthis.getNomsImgsOriginales(),
825
		'image_nom' : lthis.getNomsImgsOriginales(),
-
 
826
		'image_b64' : lthis.getB64ImgsOriginales(),
-
 
827
 
-
 
828
		// Ajout des champs étendus de l'obs
825
		'image_b64' : lthis.getB64ImgsOriginales()
829
		'obs_etendue': lthis.getObsChpEtendus()
826
	});
830
	});
Line -... Line 831...
-
 
831
};
-
 
832
 
-
 
833
/**
-
 
834
 * Retourne un Array contenant les valeurs des champs étendus
-
 
835
 */
-
 
836
WidgetSaisie.prototype.getObsChpEtendus = function() {
-
 
837
	var champs = [];
-
 
838
 
-
 
839
	$('.obs-chp-etendu').each(function() {
-
 
840
		var valeur = $(this).val(),
-
 
841
			cle = $(this).attr('name'),
-
 
842
			label = $(this).data('label');
-
 
843
		if (valeur != '') {
-
 
844
			var chpEtendu = {cle: cle, label: label, valeur: valeur};
-
 
845
			champs.push(chpEtendu);
-
 
846
		}
-
 
847
	});
-
 
848
	return champs;
827
};
849
}
828
 
850
 
829
WidgetSaisie.prototype.surChangementReferentiel = function() {
851
WidgetSaisie.prototype.surChangementReferentiel = function() {
830
	this.nomSciReferentiel = $('#referentiel').val();
852
	this.nomSciReferentiel = $('#referentiel').val();
831
	$('#taxon').val('');
853
	$('#taxon').val('');
Line 912... Line 934...
912
		dataType : "json",
934
		dataType : "json",
913
		beforeSend : function() {
935
		beforeSend : function() {
914
			$("#dialogue-obs-transaction-ko").hide();
936
			$("#dialogue-obs-transaction-ko").hide();
915
			$("#dialogue-obs-transaction-ok").hide();
937
			$("#dialogue-obs-transaction-ok").hide();
916
			$('.alert-txt').empty();
938
			$('.alert-txt').empty();
-
 
939
			$(".alert-txt .msg-erreur").remove();
-
 
940
			$(".alert-txt .msg-debug").remove();
917
			$("#chargement").show();
941
			$("#chargement").show();
918
		},
942
		},
919
		success : function(data, textStatus, jqXHR) {
943
		success : function(data, textStatus, jqXHR) {
920
			// mise à jour du nombre d'obs à transmettre
944
			// mise à jour du nombre d'obs à transmettre
921
			// et suppression de l'obs
945
			// et suppression de l'obs