Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 2117 → Rev 2118

/trunk/widget/modules/saisie/squelettes/florileges/florileges.tpl.html
1019,9 → 1019,11
<!-- Fenêtres modales -->
<div id="chargement" class="modal-fenetre" style="display:none;">
<div id="chargement-centrage" class="modal-contenu">
<img id="chargement-img"
src="<?=$url_base?>modules/saisie/squelettes/florileges/img/chargement_arbre.gif"
alt="Transfert en cours..."/>
<div class="progress progress-striped active">
<div id="barre-progression-upload" class="bar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="10" style="">
<span class="sr-only">0/10 observations transmises</span>
</div>
</div>
<p id="chargement-txt" style="color:white;font-size:1.5em;">
Transfert des observations en cours...<br />
Cela peut prendre plusieurs minutes en fonction de la taille des images et du nombre
1048,9 → 1050,15
</div>
<div id="tpl-transmission-ko" style="display:none;">
<p class="msg">
Une erreur est survenue lors de la transmission de vos observations.<br />
Vous pouvez signaler le dysfonctionnement à
<a class="courriel-erreur" href="mailto:">cel_remarques@tela-botanica.org</a>.
Une erreur est survenue lors de la transmission d'une observation (indiquée en rouge).<br />
Vous pouvez tenter de la retransmettre en cliquant à nouveau sur le bouton transmettre ou bien la supprimer
et transmettre les suivantes.<br />
Néanmoins, les observations n'apparaissant plus dans la liste "observations à transmettre", ont bien été transmises lors de votre précédente tentative. <br />
Si le problème persiste, vous pouvez signaler le dysfonctionnement sur
<a href="<?= $url_remarques ?>?email=cel_remarques@tela-botanica.org&pageSource=<?php echo urlencode('http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING']); ?>"
target="_blank"
onclick="javascript:window.open(this.getAttribute('href'), 'Tela Botanica - Remarques', config='height=700, width=640, scrollbars=yes, resizable=yes'); return false;">
le formulaire de signalement d'erreurs</a>.
</p>
</div>
/trunk/widget/modules/saisie/squelettes/florileges/js/florileges.js
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);
}
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 = '',
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);
}
}
initialiserObs();
}
});
}
/trunk/widget/modules/saisie/squelettes/florileges/css/florileges.css
332,6 → 332,10
border-top: 1px solid black;
}
 
#liste-obs .obs-erreur {
background-color: #DD6E6E;
}
 
/*+--------------------------------------------------------------------------------------------------------+*/
/* SLIDERs */
.slider-on {