624,6 → 624,8 |
$("#taxon").val(""); |
$("#taxon").data("numNomSel",undefined); |
} |
$('#barre-progression-upload').attr('aria-valuemax', obsNbre); |
$('#barre-progression-upload .sr-only').text('0/'+obsNbre+" observations transmises"); |
} else { |
afficherPanneau('#dialogue-form-invalide'); |
} |
718,16 → 720,34 |
} |
} |
|
var nbObsEnCours = 1; |
var totalObsATransmettre = 0; |
function transmettreObs() { |
var observations = $("#liste-obs").data(); |
//console.log(observations); |
|
if (observations == undefined || jQuery.isEmptyObject(observations)) { |
afficherPanneau("#dialogue-zero-obs"); |
} else { |
observations['projet'] = TAG_PROJET; |
observations['tag-obs'] = TAG_OBS; |
observations['tag-img'] = TAG_IMG; |
nbObsEnCours = 1; |
nbObsTransmises = 0; |
totalObsATransmettre = $.map(observations, function(n, i) { return i; }).length; |
depilerObsPourEnvoi(); |
} |
return false; |
} |
|
function depilerObsPourEnvoi() { |
var observations = $("#liste-obs").data(); |
// la boucle est factice car on utilise un tableau |
// dont on a besoin de n'extraire que le premier élément |
// or javascript n'a pas de méthode cross browsers pour extraire les clés |
// TODO: utiliser var.keys quand ça sera plus répandu |
// ou bien utiliser un vrai tableau et pas un objet |
for (var obsNum in observations) { |
obsATransmettre = new Object(); |
|
obsATransmettre['projet'] = TAG_PROJET; |
obsATransmettre['tag-obs'] = TAG_OBS; |
obsATransmettre['tag-img'] = TAG_IMG; |
|
var utilisateur = new Object(); |
utilisateur.id_utilisateur = $("#id_utilisateur").val(); |
734,18 → 754,37 |
utilisateur.prenom = $("#prenom").val(); |
utilisateur.nom = $("#nom").val(); |
utilisateur.courriel = $("#courriel").val(); |
observations['utilisateur'] = utilisateur; |
envoyerObsAuCel(observations); |
obsATransmettre['utilisateur'] = utilisateur; |
obsATransmettre[obsNum] = observations[obsNum]; |
var idObsNumerique = obsNum.replace('obsId', ''); |
if(idObsNumerique != "") { |
envoyerObsAuCel(idObsNumerique, obsATransmettre); |
} |
|
break; |
} |
return false; |
} |
|
function envoyerObsAuCel(observations) { |
var nbObsTransmises = 0; |
function mettreAJourProgression() { |
nbObsTransmises++; |
var pct = (nbObsTransmises/totalObsATransmettre)*100; |
$('#barre-progression-upload').attr('aria-valuenow', nbObsTransmises); |
$('#barre-progression-upload').attr('style', "width: "+pct+"%"); |
$('#barre-progression-upload .sr-only').text(nbObsTransmises+"/"+totalObsATransmettre+" observations transmises"); |
|
if(obsNbre == 0) { |
$('.progress').removeClass('active'); |
$('.progress').removeClass('progress-striped'); |
} |
} |
|
function envoyerObsAuCel(idObs, observation) { |
var erreurMsg = ""; |
$.ajax({ |
url : SERVICE_SAISIE_URL, |
type : "POST", |
data : observations, |
data : observation, |
dataType : "json", |
beforeSend : function() { |
$("#dialogue-obs-transaction-ko").hide(); |
756,8 → 795,16 |
$("#chargement").show(); |
}, |
success : function(data, textStatus, jqXHR) { |
$('#dialogue-obs-transaction-ok .alert-txt').append($("#tpl-transmission-ok").clone().html()); |
supprimerMiniatures(); |
// mise à jour du nombre d'obs à transmettre |
// et suppression de l'obs |
supprimerObsParId(idObs); |
nbObsEnCours++; |
// mise à jour du statut |
mettreAJourProgression(); |
if(obsNbre > 0) { |
// dépilement de la suivante |
depilerObsPourEnvoi(); |
} |
}, |
statusCode : { |
500 : function(jqXHR, textStatus, errorThrown) { |
778,7 → 825,6 |
} |
}, |
complete : function(jqXHR, textStatus) { |
$("#chargement").hide(); |
var debugMsg = extraireEnteteDebug(jqXHR); |
|
if (erreurMsg != '') { |
790,6 → 836,10 |
"subject=Dysfonctionnement du widget de saisie "+TAG_PROJET+ |
"&body="+erreurMsg+"%0D%0ADébogage :%0D%0A"+debugMsg; |
|
// mise en valeur de l'obs en erreur + scroll vers celle ci en changeant le hash |
$('#obs'+idObs+' div div').addClass('obs-erreur'); |
window.location.hash = "obs"+idObs; |
|
$('#dialogue-obs-transaction-ko .alert-txt').append($("#tpl-transmission-ko").clone() |
.find('.courriel-erreur') |
.attr('href', hrefCourriel) |
796,13 → 846,22 |
.end() |
.html()); |
$("#dialogue-obs-transaction-ko").show(); |
$("#chargement").hide(); |
initialiserBarreProgression(); |
} else { |
if (DEBUG) { |
$("#dialogue-obs-transaction-ok .alert-txt").append('<pre class="msg-debug">Débogage : '+debugMsg+'</pre>'); |
} |
$("#dialogue-obs-transaction-ok").show(); |
if(obsNbre == 0) { |
setTimeout(function() { |
$("#chargement").hide(); |
$('#dialogue-obs-transaction-ok .alert-txt').append($('#tpl-transmission-ok').clone().html()); |
$("#dialogue-obs-transaction-ok").show(); |
initialiserObs(); |
}, 1500); |
|
} |
} |
initialiserObs(); |
} |
}); |
} |
841,16 → 900,31 |
if (obsId == "Supprimer") { |
obsId = $(this).attr("title"); |
} |
supprimerObsParId(obsId); |
} |
|
function supprimerObsParId(obsId) { |
obsNbre = obsNbre - 1; |
$(".obs-nbre").text(obsNbre); |
$(".obs-nbre").triggerHandler('changement'); |
|
$('.obs'+obsId).remove(); |
$("#liste-obs").removeData('obsId'+obsId); |
} |
|
function initialiserBarreProgression() { |
$('#barre-progression-upload').attr('aria-valuenow', 0); |
$('#barre-progression-upload').attr('style', "width: 0%"); |
$('#barre-progression-upload .sr-only').text("0/0 observations transmises"); |
$('.progress').addClass('active'); |
$('.progress').addClass('progress-striped'); |
} |
|
function initialiserObs() { |
obsNbre = 0; |
nbObsTransmises = 0; |
nbObsEnCours = 0; |
totalObsATransmettre = 0; |
initialiserBarreProgression(); |
$(".obs-nbre").text(obsNbre); |
$(".obs-nbre").triggerHandler('changement'); |
$("#liste-obs").removeData(); |