1041,7 → 1041,6 |
// CRÉER OBS : Gestion des obs |
|
var obsNbre = 0; |
|
function ajouterObs() { |
if (validerFormulaire() == true) { |
obsNbre = obsNbre + 1; |
1242,24 → 1241,39 |
function supprimerObs() { |
var obsId = $(this).val(); |
// Problème avec IE 6 et 7 |
if (obsId == 'Supprimer') { |
obsId = $(this).attr('title'); |
if (obsId == "Supprimer") { |
obsId = $(this).attr("title"); |
} |
supprimerObsParId(obsId); |
} |
|
function supprimerObsParId(obsId) { |
obsNbre = obsNbre - 1; |
$('.obs-nbre').text(obsNbre); |
$('.obs-nbre').triggerHandler('changement'); |
|
$(".obs-nbre").text(obsNbre); |
$(".obs-nbre").triggerHandler('changement'); |
$('.obs'+obsId).remove(); |
$('#liste-obs').removeData('obsId' + obsId); |
$("#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; |
$('.obs-nbre').text(obsNbre); |
$('.obs-nbre').triggerHandler('changement'); |
$('#liste-obs').removeData(); |
nbObsTransmises = 0; |
nbObsEnCours = 0; |
totalObsATransmettre = 0; |
initialiserBarreProgression(); |
$(".obs-nbre").text(obsNbre); |
$(".obs-nbre").triggerHandler('changement'); |
$("#liste-obs").removeData(); |
$('.obs').remove(); |
$('#dialogue-bloquer-creer-obs').hide(); |
$("#dialogue-bloquer-creer-obs").hide(); |
} |
|
function getNomsImgsOriginales() { |
1357,35 → 1371,72 |
|
//+----------------------------------------------------------------------------------------------------------+ |
// TRANSFERER OBS : envoie des obs au CEL |
|
var nbObsEnCours = 1; |
var totalObsATransmettre = 0; |
function transmettreObs() { |
var observations = $('#liste-obs').data(); |
|
var observations = $("#liste-obs").data(); |
if (observations == undefined || jQuery.isEmptyObject(observations)) { |
afficherPanneau('#dialogue-zero-obs'); |
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(); |
utilisateur.prenom = $('#prenom').val(); |
utilisateur.nom = $('#nom').val(); |
utilisateur.courriel = $('#courriel').val(); |
observations['utilisateur'] = utilisateur; |
envoyerObsAuCel(observations); |
utilisateur.id_utilisateur = $("#id_utilisateur").val(); |
utilisateur.prenom = $("#prenom").val(); |
utilisateur.nom = $("#nom").val(); |
utilisateur.courriel = $("#courriel").val(); |
obsATransmettre['utilisateur'] = utilisateur; |
obsATransmettre[obsNum] = observations[obsNum]; |
var idObsNumerique = obsNum.replace('obsId', ''); |
if(idObsNumerique != "") { |
envoyerObsAuCel(idObsNumerique, obsATransmettre); |
} |
return false; |
|
break; |
} |
} |
|
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 = '', |
debugNonJson = ''; |
$.ajax({ |
url: SERVICE_SAISIE_URL, |
type: 'POST', |
data: observations, |
data: observation, |
dataType: 'json', |
beforeSend: function() { |
$('#dialogue-obs-transaction-ko').hide(); |
1394,7 → 1445,16 |
$('#chargement').show(); |
}, |
success: function(data, textStatus, jqXHR) { |
$('#dialogue-obs-transaction-ok .alert-txt').append($('#tpl-transmission-ok').clone().html()); |
// 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(); |
} |
supprimerMiniatures(); |
}, |
statusCode: { |
1417,7 → 1477,6 |
} |
}, |
complete: function(jqXHR, textStatus) { |
$('#chargement').hide(); |
var debugMsg = extraireEnteteDebug(jqXHR); |
|
if (erreurMsg != '') { |
1429,6 → 1488,10 |
'subject=Disfonctionnement du widget de saisie ' + TAG_PROJET + |
'&body=' + erreurMsg + "\nDébogage :\n" + debugMsg + debugNonJson; |
|
// 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) |
1435,13 → 1498,23 |
.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 + debugNonJson + '</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(); |
window.location.hash = "dialogue-obs-transaction-ok"; |
initialiserObs(); |
}, 1500); |
|
} |
} |
} |
}); |
} |