Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 2866 Rev 2904
Line 39... Line 39...
39
		this.supprimerMiniatures();
39
		this.supprimerMiniatures();
40
		if(! this.especeImposee) {
40
		if(! this.especeImposee) {
41
			$("#taxon").val("");
41
			$("#taxon").val("");
42
			$("#taxon").data("numNomSel",undefined);
42
			$("#taxon").data("numNomSel",undefined);
43
		}
43
		}
-
 
44
		$('#form-obs').each(function(){
-
 
45
			this.reset();
-
 
46
		});
44
		$('#barre-progression-upload').attr('aria-valuemax', this.obsNbre);
47
		$('#barre-progression-upload').attr('aria-valuemax', this.obsNbre);
45
		$('#barre-progression-upload .sr-only').text('0/'+this.obsNbre+" observations transmises");
48
		$('#barre-progression-upload .sr-only').text('0/'+this.obsNbre+" observations transmises");
46
	} else {
49
	} else {
47
		this.afficherPanneau('#dialogue-form-invalide');
50
		this.afficherPanneau('#dialogue-form-invalide');
48
	}
51
	}
Line 59... Line 62...
59
			courriel_confirmation : {
62
			courriel_confirmation : {
60
				required : true,
63
				required : true,
61
				equalTo: "#courriel"}
64
				equalTo: "#courriel"}
62
		}
65
		}
63
	});
66
	});
-
 
67
	$("#form-releve").validate({
-
 
68
		rules: {
-
 
69
			date : {
-
 
70
				required : true,
-
 
71
				date : date
-
 
72
			},
-
 
73
			"type-culture" : "required"
-
 
74
		},
-
 
75
		errorPlacement: function(error, element) {
-
 
76
			error.insertBefore(element.parent());
-
 
77
		}
-
 
78
	});
64
	$("#form-station").validate({
79
	$("#form-station").validate({
65
		ignore: ':hidden:not("#latitude, #longitude")', // validation des champs cachés...
80
		ignore: ':hidden:not("#latitude, #longitude")', // validation des champs cachés...
66
		errorPlacement: function(error, element) { // ...mais erreur visible
81
		errorPlacement: function(error, element) { // ...mais erreur visible
67
			error.insertBefore("#coordonnees-geo");
82
			error.insertBefore("#coordonnees-geo");
68
		},
83
		},
Line 86... Line 101...
86
		}
101
		}
87
	});
102
	});
88
	$("#form-obs").validate({
103
	$("#form-obs").validate({
89
		rules: {
104
		rules: {
90
			"taxon-liste" : "required",
105
			"taxon-liste" : "required",
91
			taxon : "required",
-
 
92
			"abondance-liste" : "required",
106
			"abondance-liste" : "required",
93
			"zone-champ[]" : {
107
			"zone-champ[]" : {
94
            	required : true,
108
            	required : true,
95
            	minlength : 1
109
            	minlength : 1
96
            }		
110
            }		
97
		},
111
		},
98
		errorPlacement: function(error, element) { // pas top mais mieux que rien
112
		errorPlacement: function(error, element) {
99
			error.insertBefore(element.parent());
113
			error.insertBefore(element.parent());
100
		}
114
		}
101
	});
115
	});
102
	$("#form-date").validate({
-
 
103
		rules: {
-
 
104
			date : {
-
 
105
				required : true,
-
 
106
				date : date
-
 
107
			}
-
 
108
		}
-
 
109
	});
-
 
110
};
116
};
Line 111... Line 117...
111
 
117
 
112
// surcharge fonction validerFormulaire()
118
// surcharge fonction validerFormulaire()
113
WidgetSaisieMessicoles.prototype.validerFormulaire = function() {
119
WidgetSaisieMessicoles.prototype.validerFormulaire = function() {
-
 
120
	observateur = $("#form-observateur").valid();
114
	observateur = $("#form-observateur").valid();
121
	releve = $("#form-releve").valid();
115
	station = $("#form-station").valid();
122
	station = $("#form-station").valid();
116
	obs = $("#form-obs").valid();
-
 
117
	date = $("#form-date").valid();
123
	obs = $("#form-obs").valid();
118
	return (observateur && station && obs && date);
124
	return (observateur && station && obs && releve);
Line 119... Line 125...
119
};
125
};
120
 
126
 
121
// surcharge fonction stockerObsData()
127
// surcharge fonction stockerObsData()
Line 131... Line 137...
131
		referentiel = (numNomSel == undefined) ? '' : this.nomSciReferentiel,
137
		referentiel = (numNomSel == undefined) ? '' : this.nomSciReferentiel,
132
		notes = $('#notes').val();
138
		notes = $('#notes').val();
133
	// champs spécifques aux messicoles
139
	// champs spécifques aux messicoles
134
	var abondance = $('#abondance-liste').val(),
140
	var abondance = $('#abondance-liste').val(),
135
		certitude = $('#identification-liste').val();
141
		certitude = $('#identification-liste').val();
-
 
142
		
Line 136... Line 143...
136
	
143
	
137
	$('#liste-obs').data('obsId'+this.obsNbre, {
144
	$('#liste-obs').data('obsId'+this.obsNbre, {
138
		'date': $('#date').val(),
145
		'date': $('#date').val(),
Line 184... Line 191...
184
	commune = commune.trim() != "" ? commune : $("#carte-recherche").val();
191
	commune = commune.trim() != "" ? commune : $("#carte-recherche").val();
185
	var code_insee = $('#commune-code-insee').text();
192
	var code_insee = $('#commune-code-insee').text();
186
	code_insee = code_insee.trim() != "" ? "("+code_insee+")" : "";
193
	code_insee = code_insee.trim() != "" ? "("+code_insee+")" : "";
187
	var latitude = $("#latitude").val();
194
	var latitude = $("#latitude").val();
188
	var longitude = $("#longitude").val();
195
	var longitude = $("#longitude").val();
189
	var lieudit = ($('#lieudit').val() != "" ? $('#lieudit').val() : "pas de lieu-dit saisi");
196
	var lieudit = ($('#lieudit').val() != "" ? $('#lieudit').val() : "aucun lieu-dit saisi");
190
	var station = ($('#station').val() != "" ? $('#station').val() : "pas de station saisie");
197
	var station = ($('#station').val() != "" ? $('#station').val() : "aucune station saisie");
191
	var milieu = ($('#milieu').val() != "" ? $('#milieu').val() : "pas de milieu saisi");
198
	var milieu = ($('#milieu').val() != "" ? $('#milieu').val() : "aucun milieu saisi");
192
 
-
 
-
 
199
	var notes = ($('#notes').val() != "" ? $('#notes').val() : "<b>aucunes notes saisies</b>");
193
	var date = $("#date").val();
200
	var date = $("#date").val();
194
	// champs spécifques aux messicoles
201
	// champs spécifques aux messicoles
-
 
202
	
-
 
203
 
195
	var culture = ($('#culture-autres-radio').is(':checked') ? $('#culture-autres-input').val() : $('input[name=type-culture]:checked').data('titre'));
204
	var culture = ($('input[name=type-culture]').is(':checked') ? $('input[name=type-culture]:checked').data('titre') : "?");
-
 
205
	var cultureDetails = ($('input[name=type-culture]').is(':checked') ? $('input[name=type-culture]:checked').parent().find('input[type=text]').val() : '?');
-
 
206
	
-
 
207
	
-
 
208
	
196
	var identification = $('#identification-liste option:selected').data('titre');
209
	var identification = $('#identification-liste option:selected').data('titre');
197
	var abondance = $('#abondance-liste option:selected').data('titre');
210
	var abondance = $('#abondance-liste option:selected').data('titre');
198
	var zoneChamp = [];
211
	var zoneChamp = [];
199
	// récupération des cases à cocher multiples dans un tableau pour l'abondance
212
	// récupération des cases à cocher multiples dans un tableau pour l'abondance
200
	$('input[name="zone-champ[]"]:checked').each(function() {
213
	$('input[name="zone-champ[]"]:checked').each(function() {
201
		zoneChamp.push(' '+$(this).data('titre'));
214
		zoneChamp.push(' '+$(this).data('titre'));
202
	});
215
	});
203
	var notes = $("#notes").val();
-
 
Line 204... Line 216...
204
 
216
 
205
	// affichage des données de l'observation à transmettre
217
	// affichage des données de l'observation à transmettre
206
	$("#liste-obs").prepend(
218
	$("#liste-obs").prepend(
207
		'<div id="obs'+this.obsNbre+'" class="row-fluid obs obs'+this.obsNbre+'">'+
219
		'<div id="obs'+this.obsNbre+'" class="row-fluid obs obs'+this.obsNbre+'">'+
Line 231... Line 243...
231
										'<span class="span4">Milieu : <span class="gras">'+milieu+'</span></span>'+
243
										'<span class="span4">Milieu : <span class="gras">'+milieu+'</span></span>'+
232
									'</div>'+
244
									'</div>'+
233
								'</li>'+
245
								'</li>'+
234
								'<li>'+ 
246
								'<li>'+ 
235
									'<div class="row-fluid">'+
247
									'<div class="row-fluid">'+
236
										'<span class="span4">Culture de type <span class="gras">'+culture+'</span></span>'+
248
										'<span class="span4">Culture de <span class="gras">'+cultureDetails+'</span> de type <span class="gras">'+culture+'</span></span>'+
237
										'<span class="span4">Identification <span class="gras">'+identification+'</span></span>'+
249
										'<span class="span4">Identification <span class="gras">'+identification+'</span></span>'+
238
										'<span class="span4">Abondance de <span class="gras">'+abondance+'</span></span>'+
250
										'<span class="span4">Abondance de <span class="gras">'+abondance+'</span></span>'+
239
									'</div>'+
251
									'</div>'+
240
								'</li>'+
252
								'</li>'+
241
								'<li>'+ 
253
								'<li>'+ 
Line 294... Line 306...
294
	champs.push({
306
	champs.push({
295
		cle: "zoneDuChamp",
307
		cle: "zoneDuChamp",
296
		label: "Zone du champ",
308
		label: "Zone du champ",
297
		valeur: zoneChamp.join()
309
		valeur: zoneChamp.join()
298
	});
310
	});
299
 
311
	
300
	var typeCulture = $('input[name=type-culture]:checked').val();
312
	var typeCulture = $('input[name=type-culture]:checked').data('titre');
301
	if (typeCulture == "autres") {
-
 
302
		typeCulture = $('#culture-autres-input').val();
-
 
303
	}
-
 
304
	//console.log("tc:", typeCulture);
313
	//console.log("tc:", typeCulture);
305
	if (typeCulture != '') {
314
	if (typeCulture != '') {
306
		champs.push({
315
		champs.push({
307
			cle: "typeDeCulture",
316
			cle: "typeDeCulture",
308
			label: "Type de culture",
317
			label: "Type de culture",
-
 
318
			valeur: (typeCulture == undefined ? "" : typeCulture)
-
 
319
		});
-
 
320
	}
-
 
321
	
-
 
322
	var typeCultureDetails = $('input[name=type-culture]:checked').parent().find('input[type=text]').val();
-
 
323
 
-
 
324
	//console.log("tcd:", typeCultureDetails);
-
 
325
	if (typeCultureDetails != '') {
-
 
326
		champs.push({
-
 
327
			cle: "typeDeCultureDetails",
-
 
328
			label: "Details de la culture",
309
			valeur: typeCulture
329
			valeur: typeCultureDetails
310
		});
330
		});
311
	}
331
	}
Line 312... Line 332...
312
 
332
 
313
	return champs;
333
	return champs;
Line 316... Line 336...
316
 
336
 
317
 
337
 
-
 
338
 
318
 
339
/* jQuery en vrac */
319
/* jQuery en vrac */
340
$(document).ready(function() {
320
$(document).ready(function() {
341
	
321
	// super popover qui va chercher son contenu dans un div à côté (pour les
342
	// super popover qui va chercher son contenu dans un div à côté (pour les
322
	// boutons d'aide des types de champs, etc.)
343
	// boutons d'aide des types de champs, etc.)
Line 327... Line 348...
327
			var popoverHtmlContentDiv = $('.popover-html-content[data-for="' + parentFor + '"]');
348
			var popoverHtmlContentDiv = $('.popover-html-content[data-for="' + parentFor + '"]');
328
			return popoverHtmlContentDiv.html();
349
			return popoverHtmlContentDiv.html();
329
        }
350
        }
330
    });
351
    });
Line 331... Line 352...
331
 
352
 
332
    // Activation de la saisie si on clique sur 'Autres' (type de champ)
353
    // Activation de la saisie si on clique sur un type de champ
-
 
354
    function gererAffichageChampCulture(){    
333
	function gererAffichageChampAutreCulture() {
355
    	$('.culture input[type=text]').hide();	
-
 
356
    	var radio = $('.culture input[type=radio]:checked');
334
    	var input = $('#culture-autres-input');
357
    	var input = radio.parent().find('input[type=text]');
335
   		($('#culture-autres-radio').is(':checked')) ? input.show() && input.focus() : input.hide();
358
   		(radio.is(':checked')) ? input.show() && input.focus() : input.hide();
336
    }
359
   	}
337
    $('.culture').change(gererAffichageChampAutreCulture);
360
   	$('.culture').change(gererAffichageChampCulture);
338
	// ... et aussi au chargement du widget, si la sélection est restée sur "Autre"
361
   	// ... et aussi au chargement du widget, si la sélection est restée sur un champ
-
 
362
	gererAffichageChampCulture();
-
 
363
   		
-
 
364
   		
-
 
365
   		
Line 339... Line 366...
339
	gererAffichageChampAutreCulture();
366
	
340
 
367
 
341
    // Affichage de l'espèce liée au référentiel sélectionné lors de la sélection 'Autres' (espèce)
368
    // Affichage de l'espèce liée au référentiel sélectionné lors de la sélection 'Autres' (espèce)
342
	function gererAffichageChampAutreEspece() {
369
	function gererAffichageChampAutreEspece() {